To get a list of processes on your local computer:
Get-WmiObject -class Win32_Process
To get the values of related properties for the process sqlservr.exe, the SQL Server service:
Get-WmiObject -class Win32_Process | Where-Object{ ($_.Name –eq 'sqlservr.exe') } | Select-Object Caption, CommandLine, CreationDate, CSName, Desciption, ExecutablePath,Name, OSName, ParentProcessId, Priority, ProcessId, WindowsVersion
To show the output from the Get-Process cmdlet and the properties from the Win32_Process for the sqlservr.exe process:
Get-Process | Where-Object{$_.Name -eq 'sqlservr' }
Get-WmiObject -class Win32_Process | Where-Object{$_.Name -eq 'sqlservr.exe'} | foreach -process {"Handles: " + $_.HandleCount; "NPM(K): " + $_.QuotaNonPagedPoolUsage; "PM(K): " + $_.PageFileUsage; "WS(K): " + $_.WorkingSetSize/1024; "VM(M): " +$_.VirtualSize/1024/1024; "CPU(s): " +($_.KernelModeTime/10e6+$_.UserModeTime/10e6).ToString(); "Id: " + $_.ProcessId;"ProcessName: " + $_.Name}
To get a list of processes running on a remote computer:
Get-WmiObject –computerName RemoteHostName -class Win32_Process
To promote the priority of the SQL Server service of the default instance on the local computer:
$sqlprocess = Get-WmiObject -class Win32_Process | Where-Object{$_.Name -eq 'sqlservr.exe' -and $_.CommandLine -like '*-sMSSQLSERVER'}
"Priority of the process of the default SQL Server instance is " + $sqlprocess.Priority
$sqlprocess.SetPriority(128) ////////////////////Only change the process the SQL Server service is currently running on
$sqlprocess = Get-WmiObject -class Win32_Process | Where-Object{$_.Name -eq 'sqlservr.exe' -and $_.CommandLine -like '*-sMSSQLSERVER'}
"Priority of the process of the default SQL Server instance is " + $sqlprocess.Priority
exec sp_configure ‘priority boost’, 1 reconfigure //////////Affect any process the SQL Server service is associated with after it is enabled
To terminate a running Notepad process:
$proc=Get-WmiObject -class Win32_Process | Where-Object{$_.name -eq ‘notepad.exe’}
$proc.Terminate($proc.ProcessID)
To filter out the SQL Server service for the default instance based on the Name and CommandLine properties, and then invoke the Terminate method on the service:
$proc=Get-WmiObject -class Win32_Process | Where-Object{$_.Name -eq 'sqlservr.exe' -and $_.CommandLine -like '*-sMSSQLSERVER'}
$proc.Terminate($proc.ProcessID)