👻
Windows Serverでファイルの比較
ログの取得を開始
Start-Transcript -Path "$(Get-Location)\$(Get-Date -Format 'yyyyMMddHHmm').log"
ホスト名、日付を確認
hostname; Get-Date
サーバー再起動前のサービス一覧を取得
Get-Service | Out-File -FilePath before_reboot.txt
サーバー名に誤りがなければサーバー再起動
if ((hostname) -eq "win2016-test1") {Restart-Computer -Force} else {Write-Host ("現在 " + (hostname) + " にログインしています。こちらは対象のサーバーではありません。")}
ログの取得を開始
Start-Transcript -Path "$(Get-Location)\$(Get-Date -Format 'yyyyMMddHHmm').log"
サーバー再起動後のサービスを取得
Get-Service | Out-File -FilePath after_reboot.txt
サーバー再起動前と再起動後のサービス状態を比較
Compare-Object -ReferenceObject @(Get-Content -Path .\before_reboot.txt) -DifferenceObject @(Get-Content -Path .\after_reboot.txt) | Select-Object -Property @{Name = 'ReadCount'; Expression = {$_.InputObject.ReadCount}}, * | Sort-Object -Property ReadCount
Discussion