嗨,大家第一次张贴海报很长时间的读者,我现在对我的脚本有点麻烦,并希望有人会检查出来并指出我出错的地方,它如下:并行PowerShell作业未运行命令
$Servers = gc "C:\ServerList.txt"
$SB = {
Start-Process {cmd (C:\psexec.exe \\$Server -u username -p password cmd /c "echo.| powershell C:\Autolog.ps1")
}
Foreach ($Server in $Servers)
{
Start-Job -ScriptBlock $SB
}
本质上讲,我试图让这个脚本做的是在“Serverslist.txt”每服务器启动PSEXEC,然后启动对上述服务器
的PowerShell脚本我所看到的是作业开始,但我的psexec没有在服务器上触发,我知道这条线是好的,因为我已经完成了该命令的隔离测试,并且ma nually触发它
注:目录和凭证删除保持隐私
感谢您的回复Paul,这是否假设Powershell远程访问已启用?我忘了提及它不是。 另外,我不是很流利的PowerShell,这是一个学习,因为我去东西 干杯 迈克尔 – 2015-03-18 20:59:03
你是对的,PowerShell远程处理将需要启用。有没有特别的原因?这是非常快速和容易设置;在目标服务器上: 'Enable-PsRemoting -force'然后 'winrm quickconfig' – 2015-03-19 01:21:06
因为这里有1000个服务器现场,我不具备权限来不幸地进行必要的更改,尽管尝试使用PSEXEC,尽管显然这两个有相互问题 – 2015-03-19 01:24:32