Encontre usuários conectados a um compartilhamento de rede

18

No meu servidor Windows 2008, tenho um compartilhamento de rede. Estou conectado ao servidor com todos os direitos de administrador. Gostaria de saber quais usuários têm conexões ativas para esse compartilhamento.

Como encontro essas informações?

Mark Arnott
fonte

Respostas:

24

Existem duas maneiras de fazer isso que eu sei se. Um não é confiável, mas provavelmente é bom o suficiente para a maioria dos cenários. Uma é extensa, mas difícil de implementar em qualquer escala que exceda um punhado de conexões de usuário.

A maneira Kinda-Sorta: Selecione Ferramentas do sistema >> Pastas compartilhadas >> Abrir arquivos para ver quais arquivos estão abertos no servidor de arquivos. A partir daí, você pode correlacionar as contas de usuário que possuem arquivos abertos aos compartilhamentos aos quais estão conectados.

No entanto, isso pode ser insuficiente. Não acredita em mim? Vá para Gerenciamento do computador e selecione Ferramentas do sistema >> Pastas compartilhadas >> Sessões para ver quem está conectado. Então olhe para a # open filescoluna. Algumas sessões devem ter 0 arquivos abertos. Como você sabe a que compartilhamento eles estão tecnicamente conectados? Estou feliz que você perguntou ...

A maneira abrangente, porém difícil de dimensionar: execute net share [sharename]cada compartilhamento em questão para obter uma lista dos usuários conectados a ele. Nos meus testes, até os usuários que não têm arquivo aberto são listados.

Você também pode utilizar a ferramenta administrativa do Share and Storage Manager no Server 2008 e além, em vez do Gerenciamento do computador. Encontre o compartilhamento na lista de compartilhamentos e, no painel de ações, clique com o botão direito do mouse em "Gerenciar sessões". Você verá uma lista de sessões, incluindo aquelas que possuem zero arquivos abertos.

Mas ... mas ... Quero encontrar um usuário específico sem consultar cada compartilhamento! Se você tem um usuário específico que deseja rastrear, parece que seu único meio de encontrar essas informações é consultar cada compartilhamento e observá-lo para encontrar o usuário que você deseja. E por globo ocular quero dizer a saída da tubulação para findstrou select-string. Pode-se extrapolar o fluxo de trabalho para um script que enumere todos os compartilhamentos disponíveis, consultas para usuários conectados e pesquise a saída do usuário em questão, mas isso parece ser um exercício para o leitor e não algo que a Microsoft incluiu como um recurso nativo .

Wesley
fonte
As informações fornecidas não são suficientes em sessões ou compartilhamentos. Não mostra especificamente quais usuários estão conectados a qual compartilhamento. Muitas vezes, vejo várias conexões com um compartilhamento de rede, mas se um usuário não tiver um arquivo aberto, não saberá quem está conectado. Só posso dizer que há um certo número de conexões abertas. Não quem está com a conexão aberta. Então, Rick está correto neste caso.
Vejo a situação específica que poderia existir, em que um usuário tem uma sessão aberta, mas nenhum arquivo aberto; portanto, você não tem certeza para qual compartilhamento específico ele tem uma sessão fantasmagórica. Nesse cenário, não sei como vincular sessões de arquivo 0 ao compartilhamento ao qual elas estão conectadas.
Wesley #
Ou, de uma linha de comando: NET SHARE <SHARENAME>
Simon Catlin
@SimonCatlin Acabei de testar isso em uma máquina Server 2008. Eu tinha um usuário sem arquivos abertos, mas estava listado como uma sessão aberta. Eu tive que consultar cada um dos compartilhamentos no servidor, net share sharenamemas finalmente encontrei o compartilhamento ao qual a sessão estava conectada. Não sei se é possível reverter a consulta e começar com o usuário de seu interesse e acompanhá-la até o compartilhamento ao qual eles estão conectados. Pode ser necessário um PowerShelling personalizado.
Wesley
4

Essa é uma pergunta muito antiga, mas a resposta aceita passou por uma das melhores maneiras de encontrar as informações. A GUI pode mostrar que há "clientes conectados", mas não mostra essas conexões em "arquivos abertos". Nesse caso, é necessário usar o WMI para descobrir quem está conectado a um compartilhamento.

Aqui está o comando powershell para ver quem está conectado a um compartilhamento específico e saída de exemplo:

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

Exemplo de saída:

ShareName        UserName        ComputerName
---------        --------        ------------
SHARENAME        user1           10.0.0.20
SHARENAME        user2           10.0.0.30
SHARENAME        user3           10.0.0.40
Brady Witbeck
fonte
Parabéns louca Eu tinha dois compartilhamentos com nomes diferentes no mesmo caminho local e essa foi a única coisa que me permitiu restringir os usuários e PCs usando um dos dois compartilhamentos dos quais eu queria me livrar :)
gregg
0

O Computer Manager não é acessado da mesma maneira que nas versões anteriores. Você obtém o "Gerenciador do Servidor" ao clicar com o botão direito do mouse em Computador e selecionar "gerenciar". Portanto, em vez disso, basta digitar compmgmt.msc no campo "pesquisar programas e arquivos" em iniciar.

Hóspede
fonte
-3

Não acho que as respostas fornecidas realmente respondam à pergunta. Se você estiver usando o Windows Server 2008 (NÃO R2) e clicar com o botão direito do mouse em Computador e selecione Gerenciar, confirmando a mensagem do UAC, o MMC do Gerenciador do Servidor será iniciado. Em Gerenciador do Servidor, existem os seguintes itens: Funções, Recursos, Diagnósticos, Configuração e Armazenamento. Nenhum desses cinco itens parece ter conexões de nome de compartilhamento disponíveis como opção, que é o que a pergunta original estava perguntando. A adição EDIT à resposta foi mais útil, mencionando o Gerenciador de Compartilhamento e Armazenamento, mas ainda não parece fornecer a resposta. Ele fornece uma lista abrangente de nomes e propriedades de compartilhamento, mas as conexões ativas também não são exibidas aqui. No Windows Server 2003, costumava haver um utilitário de SO que exibia servidores, compartilhamentos e conexões, mas ainda não o encontrei no WS2008. Havia um utilitário de terceiros que eu costumava usar chamado Hyena, da Adkins Resource, que acredito que ainda está sendo comercializado, que fez um excelente trabalho ao exibir todo tipo de informação sobre praticamente todos os aspectos da condição de um servidor.

Rick Ferris
fonte
2
Você está completamente errado. Acabei de iniciar uma VM R2 2008. Quando você abre o Computer Management, (compmgmt.msc)tudo o que Wesley descreve está ali, exatamente como em 2003, incluindo arquivos abertos e sessões ativas. Veja esta captura de tela se você não acredita em mim.
precisa saber é o seguinte
@ Rick Você está certo, minha resposta não estava completamente correta. Dois anos depois, e com o estímulo de outro membro que me chamou, eu refiz a minha resposta para acertar. Obrigado por me manter afiada. =)
Wesley