私は PowerShell を初めて使用するので、ファイルの変更日を通知するスクリプトの作成に役立つことを期待していました。
質問が多い気がするので、PowerShell についてもっと知りたいと思います (今週の自由時間はすべて、PowerShell の学習に充てられます)。これを行う方法を学ぶ場所の方向に私を向けることも非常に役立ちます.
これが完全な概要です。特定のバックアップが実行されたことを確認するために、90 の異なる店舗のコンピューターのリストをチェックするレポートを毎日実行する必要があります。変更日は、バックアップが実行されたかどうかを示す必要があり、以前の日付に設定されます。
変更日が昨日の場合、出力は必要ありません。昨日でなければ、PowerShell ウィンドウまたはテキスト ファイルのどちらか簡単な方で出力したいと思います。
また、90 店舗のそれぞれについて、同じ出力基準でフォルダーが 7 日以内であることを確認する必要があります。私が持っているアイデアは、店舗ごとにこのようになります
ストア 1 の場合:
Check file date for \\server\store\computer\c:\folder\"newest modified date in folder"
if date equals yesterday
then do nothing
if date does not equal yesterday
then output "Test did not backup"
check folder modified date for \\server\sample\store\backupfolder
if date equals <7 days old
then do nothign
if date equals >7 days old
then output "test did not backup"
私の研究努力を証明できなくて申し訳ありません。私は Powershell を初めて使用し、これを完了する期限が迫っていました。昨日から、このスクリプトで必要なすべてのことを行う方法を学びました。正しいパスに設定してくれた@Keithに感謝します。次のコードを使用して、結果が false である場所のみを出力するという目標を達成しました。
$a = Get-ChildItem \\server\XXX\Received_Orders\*.* | Where{$_.LastWriteTime -ge (Get-Date).AddDays(-7)}
if ($a = (Get-ChildItem \\server\XXX\Received_Orders\*.* | Where{$_.LastWriteTime -ge (Get-Date).AddDays(-7)}))
{
}
Else
{
'STORE XXX HAS NOT RECEIVED ANY ORDERS IN THE PAST 7 DAYS'
}
$b = Get-ChildItem \\COMP NAME\Folder\*.* | Where{$_.LastWriteTime -ge (Get-Date).AddDays(-1)}
if ($b = (Get-ChildItem \\COMP NAME\TFolder\*.* | Where{$_.LastWriteTime -ge (Get-Date).AddDays(-1)}))
{
}
Else
{
'STORE XXX DID NOT RUN ITS BACKUP LAST NIGHT'
}