Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PowerShell启动睡眠cmdlet_Powershell_Sleep_Cmdlet - Fatal编程技术网

PowerShell启动睡眠cmdlet

PowerShell启动睡眠cmdlet,powershell,sleep,cmdlet,Powershell,Sleep,Cmdlet,嘿,我对PowerShell很陌生,在他的博客上找到了Ed Wilson的一个有用脚本: 我需要根据自己的需要对它进行一些定制,只是需要一些帮助来下载正确的代码 我将只使用他的代码,因为我所做的只是将其替换为我的凭据和广告信息: $cn=Get-ADComputer-filt* $cred=获取凭据iammred\administrator $session=New PSSession-cn$cn.name-cred$cred icm-会话$Session-脚本块{gpupdate/force}

嘿,我对PowerShell很陌生,在他的博客上找到了Ed Wilson的一个有用脚本:

我需要根据自己的需要对它进行一些定制,只是需要一些帮助来下载正确的代码

我将只使用他的代码,因为我所做的只是将其替换为我的凭据和广告信息:

$cn=Get-ADComputer-filt*
$cred=获取凭据iammred\administrator
$session=New PSSession-cn$cn.name-cred$cred
icm-会话$Session-脚本块{gpupdate/force}
我添加了下面两行,尝试暂停脚本以允许gpupdate处理,然后重新启动计算机:

开始睡眠-s 120
重新启动计算机-ComputerName$cn.name
当我一起运行脚本时,它似乎在我输入凭据后挂起。我的猜测是,它不喜欢我展示Start-Sleep cmdlet的方式,因为我可以在没有Start-Sleep的情况下成功运行Restart-Computer cmdlet。问题是它没有等待gpupdate完成,因此策略不会被推送。我运行脚本时没有收到任何错误,它只是挂起。我让它运行了大约10分钟,但没有成功


我感谢任何帮助或建议,使这个脚本正常工作。提前感谢您的输入。

您的睡眠调用没有问题,但这不是最好的方法。您可以等待作业完成并超时(如果命令挂起),例如:


@基思·希尔是对的,睡眠看起来不错。您可以做的另一件事是将sleep/restart命令推送到目标机器上:

icm -Session $session -ScriptBlock {
    gpupdate /force; Start-Sleep -s 120; Restart-Computer -Force}

谢谢。非常好,感谢您提供了有关如何使用-AsJob cmdlet的示例。我已经阅读了该示例,但不知道如何正确使用它。当我添加此代码时,出现了一个错误,表示客户端无法连接到目标。我验证了我要测试的机器正在通过winrm quickconfig接受请求。我还需要做什么?顺便谢谢你的帮助。
icm -Session $session -ScriptBlock {
    gpupdate /force; Start-Sleep -s 120; Restart-Computer -Force}