OU = _は非公開会社名です。私はそれが再起動していることを知っています、これは本当のhutdownプロセスに入る前にテストするためだけです。PowerShellリモートPCシャットダウン、単一のPC
function Get-LastBootUpTime {
param (
$ComputerName
)
$OperatingSystem = Get-WmiObject Win32_OperatingSystem -ComputerName $ComputerName
[Management.ManagementDateTimeConverter]::ToDateTime($OperatingSystem.LastBootUpTime)
}
$Days = -0
$ShutdownDate = (Get-Date).adddays($days)
$ComputerList = Get-ADComputer -SearchBase 'OU=TEST-OU,OU=_,DC=_,DC=_' ` -Filter '*' | Select -EXP Name
$ComputerList | foreach {
$Bootup = Get-LastBootUpTime -ComputerName $_
Write-Host "$_ last booted: $Bootup"
if ($ShutdownDate -gt $Bootup) {
Write-Host "Rebooting Computer: $_" -ForegroundColor Red
restart-Computer $Computer -Force
}
else {
Write-Host "No need to reboot: $_" -ForegroundColor Green
}
}
私は2日以上実行している私の会社のすべてのPCをシャットダウンしようとしています。スクリプトは一種の行われ、それがポイントに来るとき、それがエラーを示している。
restart-Computer $Computer -Force
私が代わりに$コンピュータ、$ COMPUTERLISTの入力した場合、スクリプトが、彼らはdidntの場合でも、そのOU内のすべてのPCをシャットダウンします2日以上実行してください。 会社全体を閉鎖するのに2台以上のPCを走らせるのは1台のPCだけで、それは私が望むものではありません。 スクリプトを実行して2日以上経過しても、PCの電源をオフにするにはどうすればよいですか?
を好きなら
は、あなたの周りのいくつかのより多くのログを追加することができます。私は時間をかけてテストしなかった。なぜなら、私がシャットダウンしたいPCは十分に長くオンラインではないからだ。しかし、月曜日にもっと徹底的にテストするだろう。 それが動作しない場合、私はあなたの他の解決策を試してみるつもりです、ありがとう。 – Gunter