我需要比较许多服务的状态以及许多远程计算机上的每个依赖项,以便在需要时重新启动它。
但是CLI中的get-service输出很差
答案 0 :(得分:1)
您可以使用Out-GridView管道get-service,get-service接受computerName列表。
get-service -computerName PC1,PC2 | Out-GridView -OutputMode Multiple | Restart-Service -force -passthru
函数Out-gridView提供了一个非常好的用户界面。
function restartRmService {
param (
[Parameter(Mandatory=$true,Position=0)]
[Alias("CN")]
[string[]]$ComputerName,
[Parameter(Mandatory=$false)]
[Alias("CN")]
[string[]]$serviceName
)
$Restart = @()
if ($serviceName) {
$Restart = Get-Service -ComputerName ($ComputerName | select-Object -unique) -name $serviceName | select *
}
else {
$Restart = Get-Service -ComputerName ($ComputerName | select-Object -unique) | select MachineName, ServiceName, Status, DisplayName, DependentServices, ServicesDependedOn | Out-GridView -OutputMode Multiple -Title 'Selectionner les Services a Redemarer, puis valider'
}
$Restart | %{
$status = (Get-Service -ComputerName $_.MachineName -ServiceName $_.ServiceName | Restart-Service -force -passthru | select *).status
}
}