Powershell脚本-运行eq OK的服务或未运行的列表服务

Powershell脚本-运行eq OK的服务或未运行的列表服务,powershell,scripting,cmdlets,Powershell,Scripting,Cmdlets,我有一个脚本,它检查多个服务器上运行的特定服务 我需要关于如何使其不撤回运行/不运行响应的帮助或指示。我需要将其设置为“如果所有查询的服务都在运行=确定,如果不列出服务未运行” 这可行吗 脚本: $Check1 = Get-service -Computername server1 -Name *service1* | ConvertTo-Html Name,Status -Fragment $Check2 = Get-Service -Computername server2 -name *

我有一个脚本,它检查多个服务器上运行的特定服务

我需要关于如何使其不撤回运行/不运行响应的帮助或指示。我需要将其设置为“如果所有查询的服务都在运行=确定,如果不列出服务未运行”

这可行吗

脚本:

$Check1 = Get-service -Computername server1 -Name *service1* | ConvertTo-Html Name,Status -Fragment
$Check2 = Get-Service  -Computername server2 -name *service2* | ConvertTo-Html Name,Status  
$Check3 = Get-Service  -Computername server3 -name *service3* | ConvertTo-Html Name,Status
$Check4 = Get-Service -ComputerName UKVAULT01 -Name *service4* | ConvertTo-Html Name,Status
ConvertTo-HTML -Body "<b>Check1</b> $Check1 <br> <b>Check2</b> $Check2 <br> <b>Check3</b> $Check3<br> <b>Check4</b> $Check4" -Title "Service Checks" | Out-File c:\StatusReport.html
$Check1=Get service-Computername server1-Name*service1*|转换为Html名称,状态-片段
$Check2=获取服务-Computername服务器2-name*service2*|转换为Html名称、状态
$Check3=获取服务-Computername服务器3-name*service3*|转换为Html名称、状态
$Check4=获取服务-ComputerName UKVAULT01-Name*service4*|转换为Html名称、状态
转换为HTML-正文“Check1$Check1
Check2$Check2
Check3$Check3
Check4$Check4”-标题“服务检查”|输出文件c:\StatusReport.HTML
将检查封装在如下函数中:

function Check-Service{$server, $name) {
  $check = Get-Service $server -Name $name | ? { $_.Status -ne "Running" }
  if ( $check -eq $null ) { $check = "OK" }
  $check | ConvertTo-Html -Fragment
}

$Check1 = Check-Service server1 *service1*
$Check2 = Check-Service server2 *service2*
...

我还没来得及学习函数,但这大大缩短了所涉及的行的长度,这需要一段时间,谢谢,伙计。每个服务器及其服务都需要函数吗?除非你想为每个服务器做不同的事情。将服务器和服务的名称传递给同一个函数。请参阅我的代码示例的下半部分。由于不同的服务器运行不同的应用程序,每次都要检查不同的服务。这就是为什么要传递服务器和服务名称。