コマンド プロンプトでnet file
を実行すると、共有フォルダで開いているリソースが表示され、リソースにアクセスしているユーザー名も表示されます。
同じ情報は、コンピューターの管理 (compmgmt.msc) -> システム ツール -> 共有フォルダー -> 開いているファイルから参照できます。
VBScript を使用して同じ情報にアクセスできます。
Set objConnection = GetObject("WinNT://localhost/LanmanServer")
Set colResources = objConnection.Resources
For Each objResource in colResources
Wscript.Echo "Path: " & objResource.Path
Wscript.Echo "User: " & objResource.User
Wscript.Echo
Next
これと同じ情報に C# 経由でアクセスするにはどうすればよいでしょうか? new file
( C# からコマンドを実行しないと、リソース内の長いパス名が切り捨てられます)。
WMI (どのクラスですか? -Win32_ServerConnection
開いているリソースのパスを提供していないと思います; と同じWin32_ServerSession
) または Netapi32.dll を使用して、この情報にアクセスすることは可能ですか? もしそうなら、どうすればこれを行うことができますか?
注:コマンド プロンプトおよびコンピューター管理からスクリーンショットの情報と同様に、開かれたファイルのフル パスを取得する方法が必要です。
何か案は?