ネットワーク共有に接続しているユーザーを見つける


18

Windows 2008サーバーには、ネットワーク共有があります。完全な管理者権限でサーバーにログオンしています。その共有へのアクティブな接続を持っているユーザーを知りたいです。

その情報を見つけるにはどうすればよいですか?

回答:


24

これについては、2つの方法があります。1つは信頼性が低いですが、ほとんどのシナリオではおそらく十分です。1つは広範ですが、少数のユーザー接続を超える規模での実装は困難です。

Kinda-Sorta Way: [システムツール] >> [共有フォルダー] >> [ファイルを開く]を選択して、ファイルサーバーで開いているファイルを確認します。そこから、開いているファイルを持つユーザーアカウントを、接続されている共有に関連付けることができます。

ただし、それでは不十分な場合があります。信じられない?[コンピューターの管理]に移動し、[システムツール] >> [共有フォルダー] >> [セッション]を選択して、接続されているユーザーを確認します。次に、# open files列を見てください。一部のセッションでは、開いているファイルが0でなければなりません。技術的に接続されている共有をどのように知るのですか?聞いてくれてうれしい...

広範なが拡張が難しい方法:net share [sharename]問題の各共有で実行し、その共有に接続しているユーザーのリストを取得します。私のテストでは、開いているファイルがないユーザーもリストされています。

また、コンピューターの管理の代わりに、Server 2008以降のShare and Storage Manager管理ツールを利用することもできます。共有のリストで共有を見つけ、右のアクションウィンドウで[セッションの管理]をクリックします。開いているファイルがゼロのセッションを含むセッションのリストが表示されます。

しかし...しかし...各共有を照会せずに特定のユーザーを見つけたい!追跡したい特定のユーザーがいる場合、その情報を見つける唯一の方法は、各共有を照会し、目的のユーザーを見つけるためにそれを確認することです。そして、眼球とは、出力をfindstrまたはにパイピングすることを意味しますselect-string。利用可能なすべての共有を列挙し、接続ユーザーのクエリを実行し、問題のユーザーの出力を検索するスクリプトにワークフローを外挿することもできますが、それはMicrosoftがネイティブ機能として組み込んだものではなく、読者の演習のようです。


提供された情報は、セッションまたは共有では不十分です。どのユーザーがどの共有に接続されているかは特に表示されません。ネットワーク共有への複数の接続が頻繁に表示されますが、ユーザーがファイルを開いていない場合は、誰が接続されているかわかりません。特定の数の接続が開いていることしかわかりません。誰が接続を開いているかではありません。したがって、この場合、リックは単純に正しいです。

ユーザーが開いているセッションを持っているが、ファイルを開いていない特定の状況が存在する可能性があるので、幽霊のようなセッションを開いている特定の共有がわかりません。そのシナリオでは、0ファイルセッションを接続先の共有に関連付ける方法がわかりません。
ウェズリー

または、コマンドラインから:NET SHARE <共有名>
サイモンカトリン

@SimonCatlin Server 2008マシンでこれをテストしました。開いているファイルがないユーザーが1人いましたが、開いているセッションとしてリストされました。サーバー上の各共有を照会する必要がありnet share sharenameましたが、最終的にはセッションが接続されている共有が見つかりました。クエリを逆にして、興味のあるユーザーから始めて、接続している共有まで追跡できるかどうかはわかりません。カスタムのPowerShellが必要になる場合があります。
ウェズリー

4

これは非常に古い質問ですが、受け入れられた答えは情報を見つける最良の方法の1つをスキップしました。GUIは「接続されたクライアント」があることを表示できますが、「オープンファイル」の下にそれらの接続は表示されません。その場合、WMIを使用して共有に接続しているユーザーを見つける必要があります。

特定の共有に接続しているユーザーと出力例を表示するpowershellコマンドを次に示します。

Get-WmiObject Win32_ServerConnection -ComputerName SERVER01 | Select-Object ShareName,UserName,ComputerName | Where-Object {$_.ShareName -eq "SHARENAME"}

出力例:

ShareName        UserName        ComputerName
---------        --------        ------------
SHARENAME        user1           10.0.0.20
SHARENAME        user2           10.0.0.30
SHARENAME        user3           10.0.0.40

私は同じローカルパスに異なる名前の2つの共有を持っていたので、これは私が取り除きたい2つの共有の1つを使用してユーザーとPCを絞り込むことができた唯一のことでした:)
gregg

0

Computer Managerは、以前のバージョンと同じ方法でアクセスされません。「コンピューター」を右クリックして「管理」を選択すると、「サーバーマネージャー」が表示されます。そのため、その代わりに、startの下の「プログラムとファイルの検索」フィールドにcompmgmt.mscと入力するだけです。


-3

提供された回答が実際に質問に答えるとは思わない。Windows Server 2008(R2ではない)を使用していて、[コンピューター]を右クリックして[管理]を選択し、UACメッセージを確認すると、サーバーマネージャーMMCが起動します。サーバーマネージャーの下には、役割、機能、診断、構成、およびストレージの項目があります。これらの5つの項目のいずれも、オプションとして共有名の接続を使用できないようです。これは、元の質問が尋ねていたものです。回答へのEDITの追加は、Share and Storage Managerに言及してより有用でしたが、それでも答えを提供していないようです。共有名とプロパティの包括的なリストを提供しますが、アクティブな接続もここには表示されません。Windows Server 2003では、以前はサーバー、共有、接続を表示するOSユーティリティがありましたが、しかし、私はまだWS2008でそれを見つけていません。Adkins ResourceのHyenaという名前のサードパーティユーティリティを使用していましたが、まだ販売されていると思います。これは、サーバーの状態のほぼすべての側面に関するあらゆる情報を表示する優れた仕事をしました。


2
あなたはただ間違っています。2008 R2 VMを起動しました。コンピューターの管理を開く(compmgmt.msc)と、Wesleyが説明するすべてのものがそこにあり、開いているファイルやアクティブなセッションなど、2003とまったく同じです。あなたが私を信じないなら、このスクリーンショットを見てください。
-MDMarra

@Rickそのとおりです、私の答えは完全に正しいものではありませんでした。2年後、私を呼んだ別のメンバーの拍車で、私はそれを正すために私の答えをやり直しました。私を鋭くしてくれてありがとう。=)
ウェズリー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.