ファイルを含む Azure ファイル共有 (SMB) があります。ファイルの名前を変更または削除しようとすると、「指定されたリソースは SMB クライアントによって使用されている可能性があります」というエラーが表示されます。この SMB 共有に接続するサーバーは複数あり、どのサーバーまたはどのプロセスがロックされているかわかりません。このファイルのロックを解除するにはどうしたらよいですか。または、現在使用中のすべてのファイル ロックを解除するにはどうしたらよいですか。
答え1
私はこの問題の解決策を見つけましたが、これが「通常の」方法ではないと思います。
- ストレージ アカウントの [ファイアウォールと仮想ネットワーク] セクションを編集し、[選択したネットワーク] に設定します。
- IPアドレス/範囲を割り当てたり、既存のものを削除したりしないでください。
- 30分待つ
- ストレージアカウントの「ファイアウォールと仮想ネットワーク」セクションを設定し、元の設定または「すべてのネットワーク」に設定します。
- 外部サーバーからの接続が切断され、ロックが解除されました
答え2
最近、まさにこの問題に遭遇しました。AzStorageFileHandleを閉じるAzure CLI からのコマンド。ロックを解除したら削除できるはずです。
Azure CLIに接続し、ストレージアカウントのコンテキストを設定し、ロックを解除するファイルへのパスを入力します。プロセス全体は次の4つのコマンドになります。
connect-azaccount
Set-AzContext -Subscription "<subscription id>"
$context = New-AzStorageContext -StorageAccountName "<storage account name>" -StorageAccountKey "<storage account key found in the storage account key section>"
Close-AzStorageFileHandle -Context $context -ShareName "<share name>" -Path '<path>' -CloseAll