Get service status from remote server using powershell Get service status from remote server using powershell powershell powershell

Get service status from remote server using powershell


As far as I know, Get-Service doesn't accept a credential parameter. However, you can do it through WMI:

$cred = get-Credential -credential <your domain user here>Get-WMIObject Win32_Service -computer $computer -credential $cred

Update after comment:

You can save credentials as a securestring into a file, and then reload it for manually creating a credential without having a prompt. See information here.


This also works:

net use \\server\c$ $password /USER:$username$service = Get-Service $serviceName -ComputerName $server

Note that password should not be in a secure string.


Invoke-Command can accomplish this.

$Cred = Get-Credential -Credential "<your domain user here>"$ScriptBlock = {    param($Service)    Get-Service -Name "$Service"}$ServiceStatus = Invoke-Command -ComputerName $MachineName -Credential $Cred -ScriptBlock $ScriptBlock -ArgumentList "$Service"

Note that in order to pass the variable $Service to the Get-Service cmdlet in the script block, you have to declare the script block beforehand and define the $Service variable in the param block. You can then pass the $Service argument into the script block via the -ArgumentList parameter.

Invoke-Command also supports running on multiple servers by supplying a comma delimited list of computers for the -ComputerName parameter.