如何使用PowerShell检查特定服务是否在远程计算机上运行

Ire*_*had 7 powershell

我有3台服务器,运行3项服务:

  • SERVER-A正在运行的serv1.exe 服务
  • SERVER-B运行serv2.exe 服务
  • SERVER-C运行serv3.exe 服务

使用PowerShell如何查询每个服务以检查它们是否正在运行并将信息输出到文本文件?

And*_*ndi 13

如果它们都具有相同的名称或显示名称,则可以在一个命令中执行.如果不是,则需要运行3个命令.

如果所有都具有相同的名称或显示名称:

Get-Service -ComputerName server-a, server-b, server-c -Name MyService | 
  Select Name, MachineName, Status
Run Code Online (Sandbox Code Playgroud)

如果他们有不同的名称或显示名称:

我会这样做 -

@{
  'server-a' = 'service-a'
  'server-b' = 'service-b'
  'server-c' = 'service-c'
}.GetEnumerator() | ForEach-Object {
  Get-Service -ComputerName $_.Name -Name $_.Value
} | Select Name, MachineName, Status
Run Code Online (Sandbox Code Playgroud)

要输出到一个文本文件中使用... | Set-Content ~\Documents\Service_Status.txt,其中...为上述之一.

注意 - 您的帐户需要具有查询远程计算机的权限.