2016-10-04 12 views
0

私の職場でほとんどすべてのPCをシャットダウンしたい(2日以上実行している場合) 私はスクリプト上で最後と今週仕事をしています。方法。リモートで複数のPCをシャットダウン

$days = -0 
$date = (get-date).adddays($days) 
$lastboot = (Get-WmiObject Win32_OperatingSystem).LastBootUpTime 
$Computer = Get-ADComputer -SearchBase 'OU=______,OU=______,DC=______,DC=______' ` -Filter '*' | Select -EXP Name 

$lastbootconverted = ([WMI]'').ConvertToDateTime($lastboot) 

write-host $date 

write-host $lastboot 

write-host $lastbootconverted 

if($date -gt $lastbootconverted) 
{ 
write-host Need to reboot 
(Stop-Computer -$Computer -Force) 
} 
else 
{ 
write-host no need to reboot 
} 

私はそれを実行すると、それは「(例外HRESULT:0x800706BA)RPC-サーバーは利用できません。」 は言う しかし、私はちょうど代わりに「$コンピュータ」のPC名を置けば、それはシャット私が望むようにPCはダウンしている。このRPC-Serverエラーとは何ですか?あなたは、Get-ADComputerをテストするために

OUは= _____とDC = ______民間会社名です...

+0

あなたが持っている - $コンピュータが、私はそうは思いません$コンピュータ –

+0

@Taylorギブすべきではないということが、私はそれを試してみましたが、それは変更されませんでした。 – Gunter

+0

$ computerの出力は何ですか? – BenH

答えて

0

私が持っていないAD環境を、私は、ファイアウォールが有効に持っていないので、私は無知ですクエリが、これは私のためにコンピュータの配列だけでうまくいくはずです。

function Get-LastBootUpTime {    
param (
    $ComputerName 
) 
    $OperatingSystem = Get-WmiObject Win32_OperatingSystem -ComputerName $ComputerName    
    [Management.ManagementDateTimeConverter]::ToDateTime($OperatingSystem.LastBootUpTime)    
} 

$Days = -2 
$ShutdownDate = (Get-Date).adddays($days) 

$ComputerList = Get-ADComputer -SearchBase '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 $_ -Force 
    } 
    else { 
     Write-Host "No need to reboot: $_" -ForegroundColor Green 
    } 
} 
+0

ねえ、以下の解決策は私をもう助けてくれませんでした。違う方法で失敗しました。私たちはうまくいくようです。 1つのことはうまくいかない:$ Computer does not restart ...私はコンピュータが何であるか指定されていないと思う。どんな解決策ですか? – Gunter

+0

_Stop-Computer_を_Restart-Computer_に更新しました。シャットダウンではなくリブートされるようになりました。もう一度やり直して何が起こるか教えてもらえますか? –

+0

問題は$ Computers :)でした。あなたもそれを編集しました。あなたのスクリプトはうまくいくはずです。ありがとう、ありがとう – Gunter

関連する問題