네트워크 공유에 연결된 사용자 찾기


18

내 Windows 2008 서버에는 네트워크 공유가 있습니다. 전체 관리자 권한으로 서버에 로그온했습니다. 해당 사용자가 해당 공유에 어떤 활성 연결을 가지고 있는지 알고 싶습니다.

그 정보를 어떻게 찾습니까?

답변:


24

내가 아는 한 두 가지 방법이 있습니다. 하나는 신뢰할 수 없지만 대부분의 시나리오에는 충분할 것입니다. 하나는 광범위하지만 소수의 사용자 연결을 초과하는 모든 규모에서 구현하기가 어렵습니다.

Kinda-Sorta Way : 시스템 도구 >> 공유 폴더 >> 파일 열기를 선택하여 파일 서버에서 어떤 파일이 열려 있는지 확인하십시오. 여기에서 열린 파일을 가진 사용자 계정을 연결된 공유와 연관시킬 수 있습니다.

그러나 충분하지 않을 수 있습니다. 나를 믿지 않습니까? 컴퓨터 관리로 이동하여 시스템 도구 >> 공유 폴더 >> 세션을 선택하여 누가 연결되어 있는지 확인하십시오. 그런 다음 # open files열을보십시오. 일부 세션에는 열린 파일이 0이어야합니다. 기술적으로 어떤 공유가 연결되어 있는지 어떻게 알 수 있습니까? 물어봐서 기뻐요 ...

스케일 방법에 대한 광범위한하지만 하드 : 수행 net share [sharename]이 연결되어있는 사용자의 목록을 얻기 위해 질문을 각 주에. 내 테스트에는 열린 파일이없는 사용자도 나열됩니다.

컴퓨터 관리 대신 Server 2008 이상에서 공유 및 저장소 관리자 관리 도구를 사용할 수도 있습니다. 공유 목록에서 공유를 찾은 다음 작업 창에서 "세션 관리"를 마우스 오른쪽 단추로 클릭하십시오. 열린 파일이없는 세션을 포함하여 세션 목록이 표시됩니다.

하지만 ...하지만 ... 각 공유를 쿼리하지 않고 특정 사용자를 찾고 싶습니다! 추적하려는 특정 사용자가있는 경우 해당 정보를 찾는 유일한 방법은 각 공유를 쿼리하고 원하는 사용자를 찾기 위해 확인하는 것입니다. 그리고 안구로 나는 findstr또는에 배관 출력을 의미 select-string합니다. 사용 가능한 모든 공유를 열거하고 연결된 사용자를 쿼리하고 해당 사용자의 출력을 검색하는 스크립트로 워크 플로를 외삽 할 수 있지만, 이는 Microsoft가 기본 기능으로 포함하지 않은 독자를위한 연습으로 보입니다. .


제공된 정보가 세션이나 공유에 충분하지 않습니다. 어떤 사용자가 어떤 공유에 연결되어 있는지 구체적으로 표시하지는 않습니다. 네트워크 공유에 대한 여러 연결이 종종 표시되지만 사용자가 파일을 열지 않은 경우 누가 연결되어 있는지 알 수 없습니다. 특정 수의 연결이 열려 있다고 말할 수 있습니다. 누가 연결을 열지 못했습니다. 따라서이 경우 Rick은 정확합니다.

사용자가 열린 세션을 가지고 있지만 열린 파일이없는 특정 상황을 볼 수 있으므로 유령 세션이 열려있는 특정 공유를 확실하지 않습니다. 이 시나리오에서는 0 파일 세션을 연결된 공유에 연결하는 방법을 모르겠습니다.
웨슬리

또는 명령 줄에서 : NET SHARE <SHARENAME>
Simon Catlin

@SimonCatlin Server 2008 컴퓨터에서 이것을 테스트했습니다. 열린 파일이없는 한 명의 사용자가 있지만 열린 세션으로 표시되었습니다. 서버의 각 공유를 쿼리해야 net share sharename했지만 결국 세션이 연결된 공유를 찾았습니다. 쿼리를 취소하고 관심있는 사용자로 시작한 다음 연결되어있는 공유로 추적 할 수 있는지 모르겠습니다. 일부 사용자 지정 PowerShelling이 필요할 수 있습니다.
웨슬리

4

이것은 매우 오래된 질문이지만 허용되는 답변은 정보를 찾는 가장 좋은 방법 중 하나를 건너 뛰었습니다. 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

Mad kudos 나는 같은 로컬 경로에 다른 이름을 가진 두 개의 공유를 가지고 있었고 이것은 내가 제거하고 싶었던 두 개의 공유 중 하나를 사용하여 사용자 및 PC의 범위를 좁힐 수있는 유일한 방법이었습니다 :)
gregg

0

컴퓨터 관리자는 이전 버전과 동일한 방식으로 액세스되지 않습니다. 컴퓨터를 마우스 오른쪽 단추로 클릭하고 "관리"를 선택하면 "서버 관리자"가 나타납니다. 따라서 그 대신 시작시 "검색 프로그램 및 파일"필드에 compmgmt.msc를 입력하십시오.


-3

제공된 답변이 실제로 질문에 대한 답변이라고 생각하지 않습니다. Windows Server 2008 (NOT R2)을 사용 중이고 컴퓨터를 마우스 오른쪽 단추로 클릭하고 관리를 선택한 다음 UAC 메시지를 확인하면 서버 관리자 MMC가 시작됩니다. 서버 관리자 아래에는 역할, 기능, 진단, 구성 및 스토리지 항목이 있습니다. 이 5 가지 항목 중 어느 것도 옵션으로 사용 가능한 공유 이름 연결이없는 것 같습니다. 이것이 원래의 질문이었습니다. 답변에 대한 EDIT 추가는 공유 및 스토리지 관리자를 언급하는 것이 더 유용했지만 여전히 답변을 제공하지 않는 것 같습니다. 공유 이름 및 속성의 포괄적 인 목록을 제공하지만 활성 연결도 여기에 표시되지 않습니다. 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.