Windows Server SMB共有で開いているファイルを表示および閉じる方法は?
Windowsファイルサーバーの管理者は、多くの場合、複数のユーザーが同時に開いている共有ファイルを強制的に閉じる必要があります。これは通常、デスクトップソフトウェアが期待どおりに機能しない場合、ユーザーが誤ってログオフした場合、またはユーザーがファイルを開いて閉じるのを忘れた場合(家に帰った、休暇中など)に発生します。これらすべての場合において、共有ネットワークフォルダ上のファイルはまだ開いており(ロックされており)、他のユーザーが変更することはできません。他のユーザーは、ロックされたファイルを開こうとしたときにそのようなメッセージを見ることができます(使用するアプリケーションによって異なります):The document filename is locked for editing by another user. To open a read-only copy of his document, click…
この記事では、Windowsファイルサーバーで開いているファイルのリストを取得する方法、共有フォルダーでファイルをロックしたユーザーを確認する方法、およびファイルセッションを閉じて(リセットして)開いているファイルのロックを解除する方法を説明します。
組み込みのコンピューター管理を使用して、Windowsファイルサーバーでユーザーが開いたファイルのリストを取得できます。 (compmgmt.msc
)グラフィックスナップイン。
ファイルサーバーでコンピューターの管理コンソールを開き(またはコンピューターで実行されている管理コンソールからサーバーにリモートで接続し)、システムツールに移動します。 ->共有フォルダ ->ファイルを開きます。 ウィンドウの右側に、現在のSMBサーバーで開いているファイルのリストが表示されます。このリストには、ファイルへのローカルパス、ファイルを開くユーザーアカウントの名前、ロックの数、およびファイルを開くモード(読み取りまたは書き込み+読み取り)が含まれます。
組み込みのopenfiles.exe
を使用して、開いているファイルの同じリストを取得できます。 コンソールツール。たとえば、次のコマンドを使用して、セッションID、ユーザー名、および開いているファイルへの完全なローカルパスを取得できます。
openfiles /Query /fo csv |more
ユーザーがサーバー上の共有ネットワークフォルダー内のフォルダーまたはファイルにリモートアクセスすると、新しいSMBセッションが作成されます。これらのセッションIDを使用して、開いているファイルを管理できます。
リモートサーバーで開いているファイルのリストを表示できます。たとえば、 lon-fs01の共有フォルダにある開いているすべてのファイルを一覧表示する必要があります。 ホスト:
openfiles /Query /s lon-fs01 /fo csv
openfiles
コマンドを使用すると、ローカルで開いたファイルのリストを表示することもできます。これを使用するには、「オブジェクトリストの保守」を有効にします コマンドを使用した」オプション:openfiles /local on
、サーバーを再起動します。その後、openfiles
コマンドは、ローカルプロセスによって開かれたファイルを表示します(サーバーのパフォーマンスに悪影響を与える可能性があるため、このモードはデバッグ目的でのみ使用することをお勧めします)。 filename.docx を開いた(ロックした)ユーザーを識別するため リモートサーバーlon-fs01の共有ネットワークフォルダにあるファイルで、次のコマンドを実行します。
openfiles /Query /s lon-fs01 /fo csv | find /i "filename.docx"
を検索します
/i
キーは、大文字と小文字を区別しないファイル検索を実行するために使用されます。 ファイル名の一部しか指定できません。たとえば、名前に「sale_report」を含むXLSXファイルを誰が開いたかを調べる必要があります。次のパイプを使用します:
openfiles /Query /s lon-fs01 /fo csv | find /i "sale_report"| find /i "xlsx"
を検索します
もちろん、このファイルはコンピューター管理GUIで見つけることができますが、あまり便利ではありません(このコンソールには検索機能がありません)。
開いているファイルを閉じるには、ファイルを開くのファイルのリストでそのファイルを見つけます セクションをクリックし、開いているファイルを閉じるを選択します コンテキストメニューで。
ファイルサーバーに何百もの開いているファイルがある場合、コンソールで特定のファイルを見つけるのは簡単ではありません。 Openfilesを使用する方が便利です コマンドラインツール。すでに述べたように、開いているファイルのセッションIDを返します。このセッションIDを使用すると、SMB接続をリセットしてファイルを強制的に閉じることができます。
まず、開いているファイルのセッションIDを見つける必要があります。
openfiles /Query /s lon-fs01 /fo csv | find /i "farm"| find /i ".xlsx"
を検索します
受信したSMBセッションIDを使用してユーザーをファイルから切断します:
openfiles /Disconnect /s lon-fs01 /ID 617909089
すべてのセッションを強制的にリセットし、特定のユーザーが開いたすべてのファイルのロックを解除できます:
openfiles /disconnect /s lon-fs01/u corp\mjenny /id *
openfiles /disconnect
を使用してください コマンドまたはClose-SMBOpenFile
コマンドレット(以下で説明)は非常に注意してください。 Get-SMBOpenFile:PowerShellを使用して開いているファイルハンドラーを検索して閉じる
SMBサーバー上の共有とファイルを管理するための新しいコマンドレットがWindowsServer2012 / Windows 8のPowerShellバージョンに登場しました。これらのコマンドレットを使用して、開いているファイルへのネットワーク接続をリモートで閉じることができます。
Get-SMBOpenFile を使用して、開いているファイルのリストを取得できます コマンドレット。 閉じる-SmbOpenFile リモートファイルへの接続を閉じる/リセットするために使用されます。
Windows SMBサーバーで開いているファイルのリストを表示するには、次のコマンドを実行します。
Get-SMBOpenFile
このコマンドは、ファイルID、セッションID、および完全なファイル名(パス)を返します。
ユーザー名とコンピューター名(IPアドレス)を含む開いているファイルのリストを表示できます。
Get-SmbOpenFile|select ClientUserName,ClientComputerName,Path,SessionID
特定のユーザーが開いたすべてのファイルを一覧表示できます:
Get-SMBOpenFile –ClientUserName "corp\mjenny"|select ClientComputerName,Path
または特定のコンピューター/サーバーから:
Get-SMBOpenFile –ClientComputerName 192.168.1.190| select ClientUserName,Path
を選択します
開いているファイルの一覧をパターン別に表示できます。たとえば、すべての exeを一覧表示するには 共有フォルダから開いたファイル:
Get-SmbOpenFile | Where-Object {$_.Path -Like "*.exe*"}
または特定の名前のファイルを開く:
Get-SmbOpenFile | Where-Object {$_.Path -Like "*reports*"}
Close-SmbOpenFileコマンドレットは、開いているファイルハンドラーを閉じるために使用されます。 IDでファイルを閉じることができます:
Close-SmbOpenFile -FileId 4123426323239
ただし、通常は名前でファイルを閉じる方が便利です:
Get-SmbOpenFile | where {$_.Path –like "*annual2020.xlsx"} | Close-SmbOpenFile -Force
Out-GridView
を使用 コマンドレットを使用すると、開いているファイルを検索して閉じるための簡単なGUIフォームを作成できます。次のスクリプトは、開いているファイルを一覧表示します。 SMBセッションをリセットする対象の開いているファイルを見つけるには、Out-GridViewテーブルの組み込みフィルターを使用する必要があります。次に、必要なファイルを選択して[OK]をクリックする必要があります。その結果、選択したファイルは強制的に閉じられます。
Get-SmbOpenFile|select ClientUserName,ClientComputerName,Path,SessionID| Out-GridView -PassThru –title “Select Open Files”|Close-SmbOpenFile -Confirm:$false -Verbose
PowerShellを使用してリモートコンピューターで開いているファイルを閉じる方法
Get-SMBOpenFile
およびClose-SmbOpenFile
コマンドレットを使用して、開いている(ロックされている)ファイルをリモートで検索して閉じることができます。まず、CIMセッションを介してリモートのWindowsSMBサーバーに接続する必要があります。
$sessn = New-CIMSession –Computername lon-fs01
Enter-PSSession
またはInvoke-Command
。 次のコマンドは、開いているファイル pubs.docxのSMBセッションを検索します。 ファイルセッションを閉じます。
Get-SMBOpenFile -CIMSession $sessn | where {$_.Path –like "*pubs.docx"} | Close-SMBOpenFile -CIMSession $sessn
Y
を押して、ファイルのクローズを確認します 。その結果、ファイルのロックが解除されました。これで、他のユーザーが開くことができます。
SMBサーバー上のファイルを強制終了する確認を削除するには、
-Force
を使用します。 鍵。 PowerShellを使用すると、SMBセッションを閉じて、特定のユーザーが開いたすべてのファイルのロックを解除できます(ユーザーが家に帰って開いたファイルを解放しなかった)。たとえば、ユーザーのすべてのファイルセッションをリセットするには mjenny 、次のコマンドを実行します:
Get-SMBOpenFile -CIMSession $sessn | where {$_.ClientUserName –like "*mjenny*"}|Close-SMBOpenFile -CIMSession $sessn
-
SWFファイルを開いて表示する方法
SWF(「Swiff」と発音)は、 Sの略語です。 モールW eb F ormat。これは、ベクターグラフィック、マルチメディア、およびActionScriptに使用されるAdobeファイル形式です。インタラクティブなテキストとグラフィックの両方を含めることができます。これらのアニメーションファイルは、主にWebブラウザを使用してプレイされるオンラインゲームで使用されます。 アドビ独自の製品は、SWFファイルだけでなく、SWFTools、Ming、MTASCなどの他のサードパーティソフトウェアも作成できます。これらのファイルは、従来のメディアプレーヤーではほとんどサポートされておらず、
-
Windows 10でEMZファイルを開く方法
メールやその他のメッセージング アプリで、通常とは異なるファイル拡張子を持つ添付ファイルやドキュメントを受信することがあります。ただし、開こうとしても開かないことがよくあります。作業する必要がある EMZ ファイルがある場合、PC がファイル形式を認識せず、開けないことがあります。この記事では、一種の画像ファイル形式である .emz ファイルを開く方法を説明します。この記事には、EMZ ファイルを簡単に開いて編集するためのアプリケーションもいくつか記載されています。読み続けて、Windows 10 で EMZ ファイルを開く方法を学び、ハードルなしで作業を続けてください。 Windows