解凍したファイルを処理して削除する前に、Azureのバッチサービスを使用して非常に大きなZipファイルを解凍しています。残念ながら、私が使用しているAzureVMにプリインストールされているWindowsDefenderは、特定のファイルをロックして削除できないようにします。ウイルスをスキャンしていると思います。 VM)でプロセスモニターを実行し、プロセスを分離したときに、WindowsDefenderがファイルをロックしていることを知っています。
バッチジョブの準備タスクの一部としてWindowsDefenderを停止しようとしましたが、昇格レベルを管理者に設定したにもかかわらず、まだ運がありません-アクセスが拒否されました。
バッチサービスを介してAzure VM)でWindowsDefenderを無効にするためのヘルプをいただければ幸いです。
セキュリティソフトウェアがスキャン中にファイルをロックして、ファイルの削除の邪魔になることは珍しくありません。スキャンを無効にしようとする代わりに(これはしばしば脆弱です)、失敗した削除が後で再試行するためにキューに入れられる、より適応性のあるアプローチをうまく使用しました。
AzureBatchで作業するためにコンテキスト化されています...
%AZ_BATCH_NODE_SHARED_DIR%
など)を選択します-pending-deletes.txt
。 (ジョブ準備タスクでこれをゼロバイトファイルとして初期化することをお勧めします)pending-deletes.txt
の新しい行として追加し、後でクリーンアップするためにキューに入れます。pending-deletes.txt
を繰り返すスクリプト(PowerShellで記述します)を実行します。pending-deletes.txt
から削除します。おそらく、サービスの停止を伴わないオプションがいくつかあります。理想的には、問題のファイル/フォルダーの除外を Add-MpPreference で追加するだけです。
完全な無効化のようなものは、サービスを停止するのではなく、リアルタイム保護を無効にすることです。 https://superuser.com/a/1025308 を参照してください。 (ただし、セキュリティ面では、除外を追加する方がおそらく良いでしょう)