我正在尝试更新我的 .bat 脚本,通过在记事本中输入每台机器的名称来重新启动多台机器上的服务。为此,我尝试从 cmd 运行 powershell 脚本,但无法使其工作。我读到使用“;”可以在一行中编写脚本,但对我来说不起作用。
我正在尝试输入这个 powershell 代码:
$FicheroEquipos = Get-Content -Path 'C:\Users\Cloudpg\Desktop\Morralla\test\equipos.txt'
ForEach ($Variable in $FicheroEquipos){
Get-Service -Name $Variable | Restart-Service -Verbose
}
就像我的.bat 中一样
start powershell.exe "$FicheroEquipos = Get-Content -Path 'C:\Users\Cloudpg\Desktop\Morralla\test\equipos.txt';ForEach ($Variable in $FicheroEquipos){Get-Service -Name $Variable | Restart-Service -Verbose}"
如果有人知道如何实现我的目标,我将不胜感激。非常感谢。(对于我所输入的代码,变量用于服务,因为我目前无法在多台计算机上进行测试。)
答案1
尝试这个:
powershell.exe -command "$FicheroEquipos = Get-Content -Path 'C:\Users\Cloudpg\Desktop\Morralla\test\equipos.txt';
ForEach ($Variable in $FicheroEquipos){Get-Service -Name $Variable | Restart-Service -Verbose}"