Powershell 管道内变量增量
我想 a)显示给定服务的所有结果(如果找到) b)如果根本找不到服务,则显示相应的错误 下面的代码将实现a),如何以最整洁的方式实现b)。我是否可以扩展管道,使其连接到类似|设置变量$serviceCount++,然后检查该变量,如果该变量为零,则显示一条消息Powershell 管道内变量增量,powershell,Powershell,我想 a)显示给定服务的所有结果(如果找到) b)如果根本找不到服务,则显示相应的错误 下面的代码将实现a),如何以最整洁的方式实现b)。我是否可以扩展管道,使其连接到类似|设置变量$serviceCount++,然后检查该变量,如果该变量为零,则显示一条消息 foreach($service in $services) { Get-Service | where {$_.Name -eq $service} } Get-Servicecmdlet的-Name参数接
foreach($service in $services)
{
Get-Service | where {$_.Name -eq $service}
}
Get-Service
cmdlet的-Name
参数接受一个String
s数组,因此您可以简单地用以下内容替换循环:
Get-Service -Name $services
要检查返回了多少服务,您可以获取Get Service
调用的结果,将其转换为数组(如果它还不是数组),并将其存储在变量中:
$results = @(Get-Service -Name $services)
然后检查阵列的长度:
if ($results.Length -eq 0)
{
Write-Warning 'No services were found!'
}
请注意,传递给-name
参数的每个名称都会引发一个错误,该参数与已安装的服务不对应。您可以使用-ErrorAction
参数抑制这些错误:
Get-Service -Name $services -ErrorAction SilentlyContinue