見出し画像

PowerShell 変更が加えられたファイルの一覧がほしい

Windowsの変更が加えられたファイルの一覧を出したいときのスクリプトです。

Cドライブ内で3時間以内に変更が加えられたファイルの一覧を表示する

#Dドライブ内で3時間以内に変更が加えられたファイルの一覧を表示
$RootPath = 'C:\'
Get-ChildItem -Path $RootPath -Recurse -File | Where-Object {$.LastWriteTime -gt (Get-Date).AddHours(-3)} | Select Name, DirectoryName, LastWriteTime, @{Name="KBytes";Expression={$.Length / 1Kb}}


Cドライブ内で3時間以内に変更が加えられたファイルの一覧をCSVファイルで保存する
CSVは Cドライブの下のFileList.csv

# Cドライブ内で3時間以内に変更が加えられたファイルの一覧

$RootPath = 'C:\'
$OutputFile = 'C:\FileList.csv'
Get-ChildItem -Path $RootPath -Recurse -File | Where-Object {$_.LastWriteTime -gt (Get-Date).AddHours(-3)} | Select Name, DirectoryName, LastWriteTime, @{Name="KBytes";Expression={$_.Length / 1Kb}} | Export-Csv $OutputFile -NoTypeInformation


Cドライブ内で7日以内に変更が加えられたファイルの一覧をCSVファイルで保存する

#過去7日間に変更があった Cドライブ内のファイル
$RootPath = 'C:\'
$OutputFile = 'C:\FileList.csv'
Get-ChildItem -Path $RootPath -Recurse -File | Where-Object {$_.LastWriteTime -gt (Get-Date).AddDays(-7)} | Select Name, DirectoryName, LastWriteTime, @{Name="KBytes";Expression={$_.Length / 1Kb}} | Export-Csv $OutputFile -NoTypeInformation


使い方は

手順1
Windowsキー + Rを押下する([ファイル名を指定して実行]ダイアログボックスが開く)

手順2
[ファイル名を指定して実行]ダイアログボックスに[powershell]と入力してOKボタンを押します。

開いたPowerShellの画面に以下のコードをコピーペーストして管理者モード

Start-Process powershell -verb runas

次のような画面が出たら「はい」を選択


次に変更が加えられたファイルの一覧を出すスクリプトを張り付けて実行

アクセス拒否の警告が何件か出ますが、変更を加えたファイルのリストが出てきます。


#PowerShell #プログラミング学習 #プログラミング #Windows #情シス #社内SE

この記事が気に入ったらサポートをしてみませんか?