我正在尝试构建我认为简单的任务,但是 PS ISE 的输出窗口中出现大量红色文本,因此它变得比预想的更困难。:-)
我的桌面上有一个文本文件中的计算机列表。
我希望脚本检查并执行两件事:
检查“someprogram”是否正在运行并报告该计算机的状态(某些输出显示“someprogram 未在 CVCORP-2D24DF 上运行”之类的内容)以及
如果该程序未运行,则启动它。
部分问题在于该程序不是 Windows 程序,所以我不知道它是否会像我发现的大多数 PS 脚本所要求的那样生成“服务名称”。
到目前为止,我有以下内容。我对 PowerShell 完全没有经验,因此我一直在借鉴我在互联网上找到的其他脚本以及前辈的经验。
在某些时候,一旦它手动工作,我想自动化它每隔几分钟检查一次程序状态。
我感激所有能得到的帮助。
$ComputerList = Get-Content 'C:\users\mine\Desktop\listofcomputers.txt'
foreach ($computer in $ComputerList)
{
$ServiceName = 'someprogram'
$arrService = Get-Service -Name $ServiceName
while ($arrService.Status -ne 'Running')
{
Start-Service $ServiceName
write-host $arrService.status
write-host 'Service starting'
Start-Sleep -seconds 60
$arrService.Refresh()
if ($arrService.Status -eq 'Running')
{
Write-Host 'Service is now Running'
}
}
}