Windows Server 2012 で、ドメイン ユーザーとして実行され、別のサーバーからローカル サーバーにファイルをコピーし、変更日が 30 分以上前の場合はローカルでファイルを削除するスケジュール タスクを作成しようとしています。
私が持っている PowerShell スクリプトは、Powershell を使用して自分の管理者アカウントとして実行すると機能し、エラーなしで終了します。
スケジュールされたタスクを作成しましたが、これも実行され、ファイルがコピーされ、30 分以上経過した場合は削除されますが、タスクは実行され続け、終了しません。
イベント ログには、「SeTcbPrivilege」を示す監査失敗エラーが表示されます。
ドメイン ユーザーにはバッチ スクリプトを実行する権限があります。
Powershell 実行ポリシーは無制限です。
次のようなさまざまな引数を使用してタスクを構成してみました。
-ExecutionPolicy Bypass -file "C:\scripts\script01.ps1"
タスクはパスワードを保存し、ログオンしていない場合は最高の権限で実行されるように設定されています。
他に何が欠けているのでしょうか?
プロセスは終了しているのにタスク スケジューラ GUI が更新されていない可能性がありますが、その場合は監査失敗エラーが懸念されます。
PowerShell スクリプトは重要ではないと思いますが、要点は次のとおりです。
Copy-Item -Path \\server.example.com\directory\file.txt -Destination D:\directory\file.txt
Get-ChildItem -path D:\directory | where {$_.Lastwritetime -lt (date).addminutes(-30)} | remove-item