👻

Windows Serverでファイルの比較

2024/08/30に公開

ログの取得を開始

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