How to get current cpu usage in C# and VB.NET

To get current cpu usage in C# and VB.NET you can use the following snippet.

Sample C#

public static string GetCurrentCpuUsage()
{
	var cpuCounter = new PerformanceCounter
	{
		CategoryName = "Processor",
		CounterName = "% Processor Time",
		InstanceName = "_Total"
	};
	cpuCounter.NextValue();
	System.Threading.Thread.Sleep(1000);
	return (cpuCounter.NextValue() + "%");
}

Sample VB.NET

Public Shared Function GetCurrentCpuUsage() As String
	Dim cpuCounter = New PerformanceCounter() With { _
		Key .CategoryName = "Processor", _
		Key .CounterName = "% Processor Time", _
		Key .InstanceName = "_Total" _
	}
	cpuCounter.NextValue()
	System.Threading.Thread.Sleep(1000)
	Return (cpuCounter.NextValue() + "%")
End Function

NuGet: Failed to initialize the PowerShell Host

Today i recieved the following Nuget Error while trying to install Automapper.

Failed to initialize the PowerShell host. If your PowerShell execution policy setting is set to AllSigned, open the Package Manager Console to initialize the host first.

To fix that, close all Visual Studio instances and open the Powershell Console as Administrator. Enter Set-ExecutionPolicy RemoteSigned or Set-ExecutionPolicy Unrestricted. Be aware that you need to set the execution policy on both the x86 and the x64 Powershell Console.

A more simple solution would be to put the code below in a File with an .reg extension and execute that.

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell]
"ExecutionPolicy"="Unrestricted"


[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell]
"ExecutionPolicy"="Unrestricted"

Now start Visual Studio and Try Again, if the error appears again, try running Visual Studio as Administrator.