【发布时间】:2020-03-21 05:05:05
【问题描述】:
我需要一个脚本,它可以检查具有凭据的多个服务器的特定服务状态。我面临的主要问题是每台服务器的服务列表不同。例如,在一个服务器中它是 web 服务,而在另一个数据库服务等中。我想在第一列中保留一个带有服务器名称的 csv 文件,在另一列中保留其相关服务。脚本需要对此进行验证并运行。此外,预期的输出是 CSV。到现在为止我做了这么多,卡住了..希望有人可以帮助我。
$CSVData = import-csv ".\Service.csv"
$Servernames = $CSVData.Servername | sort -unique
$Cred = Get-Credential
foreach ($server in $Servernames) {
$Services = $CSVData | Where {$_.Servername -eq $Server} | Select service
foreach ($Service in $Services) {
write-host $Server
$Serv = $Service.service
Get-WMIObject -computer $server -credential $cred -Query "Select * From Win32_Service WHERE Name Like '$Serv'" | select Name, state
}
}
有什么建议吗?还有助于将输出格式化为 csv
【问题讨论】:
标签: powershell