Trova utenti connessi a una condivisione di rete


18

Sul mio server Windows 2008 ho una condivisione di rete. Ho effettuato l'accesso al server con i diritti di amministratore completi. Vorrei sapere quali utenti hanno connessioni attive a quella condivisione.

Come trovo queste informazioni?

Risposte:


24

Ci sono due modi per farlo che so se. Uno è inaffidabile, ma probabilmente abbastanza buono per la maggior parte degli scenari. Uno è esteso, ma difficile da implementare su qualsiasi scala che superi una manciata di connessioni utente.

Il modo Kinda-Sorta: Seleziona Strumenti di sistema >> Cartelle condivise >> Apri file per vedere quali file sono aperti sul file server. Da lì è possibile correlare gli account utente con file aperti alle condivisioni a cui sono connessi.

Tuttavia, ciò può essere insufficiente. Non mi credi? Vai in Gestione computer e seleziona Strumenti di sistema >> Cartelle condivise >> Sessioni per vedere chi è connesso. Quindi guarda la # open filescolonna. Alcune sessioni dovrebbero avere 0 file aperti. Come fai a sapere a quale condivisione sono tecnicamente connessi? Sono contento che tu l'abbia chiesto ...

Il modo più ampio ma difficile da scalare: eseguire net share [sharename]su ogni condivisione in questione per ottenere un elenco degli utenti ad esso collegati. Nei miei test, sono elencati anche gli utenti che non hanno file aperti.

È inoltre possibile utilizzare lo strumento amministrativo Share and Storage Manager in Server 2008 e oltre anziché in Gestione computer. Trova la condivisione nell'elenco delle condivisioni, quindi nel riquadro azioni fai clic con il pulsante destro del mouse su "Gestisci sessioni". Vedrai un elenco di sessioni, comprese quelle che hanno zero file aperti.

Ma ... ma ... Voglio trovare un utente specifico senza interrogare ogni condivisione! Se si dispone di un utente specifico che si desidera rintracciare, sembra che l'unico modo per trovare tali informazioni sia interrogare ogni condivisione e osservarle per trovare l'utente desiderato. E per bulbo oculare intendo l'output delle tubazioni verso findstro select-string. Si potrebbe estrapolare il flusso di lavoro a uno script che enumera tutte le condivisioni disponibili, le query per gli utenti connessi e cerca l'output per l'utente in questione, ma questo sembra essere un esercizio per il lettore e non qualcosa che Microsoft ha incluso come funzionalità nativa .


Le informazioni fornite non sono sufficienti in sessioni o condivisioni. Non mostra specificamente quali utenti sono collegati a quale condivisione. Vedo spesso più connessioni a una condivisione di rete, ma se un utente non ha un file aperto, non posso dire chi è connesso. Posso solo dire che ci sono un certo numero di connessioni aperte. Non chi ha aperto la connessione. Quindi Rick ha semplicemente ragione in questo caso.

Vedo la situazione specifica che potrebbe esistere, in cui un utente ha una sessione aperta, ma nessun file aperto, quindi non sei sicuro di quale condivisione specifica abbiano una sessione spettrale aperta. In quello scenario, non so come legare le sessioni di file 0 alla condivisione a cui sono collegati.
Wesley,

Oppure, da una riga di comando: NET SHARE <SHARENAME>
Simon Catlin,

@SimonCatlin Ho appena provato questo su un computer Server 2008. Ho avuto un utente senza file aperti ma è stato elencato come sessione aperta. Ho dovuto interrogare ciascuna delle condivisioni sul server net share sharenamema alla fine ho trovato la condivisione a cui era connessa la sessione. Non so se si può invertire la query e iniziare con l'utente a cui si è interessati e quindi rintracciarlo sulla condivisione a cui hanno una connessione. Potrebbe essere necessario un PowerShelling personalizzato.
Wesley,

4

Questa è una domanda molto vecchia, ma la risposta accettata ha ignorato uno dei modi migliori per trovare le informazioni. La GUI può mostrare che ci sono "client connessi" ma non mostrare quelle connessioni in "file aperti". In tal caso, è necessario utilizzare WMI per trovare chi è connesso a una condivisione.

Ecco il comando powershell per vedere chi è connesso a una condivisione specifica e ad un output di esempio:

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

Esempio di output:

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

Mad kudos Avevo due condivisioni con nomi diversi nello stesso percorso locale e questa è stata l'unica cosa che mi ha permesso di restringere gli utenti e il PC usando una delle due condivisioni di cui volevo sbarazzarmi :)
gregg

0

Computer Manager non è accessibile allo stesso modo delle versioni precedenti. Ottieni "Server Manager" quando fai clic con il tasto destro del mouse su Computer e selezioni "gestisci". Quindi, invece, digita compmgmt.msc nel campo "cerca programmi e file" sotto start.


-3

Non credo che le risposte fornite rispondano effettivamente alla domanda. Se si utilizza Windows Server 2008 (NON R2) e si fa clic con il pulsante destro del mouse su Computer e si seleziona Gestisci, quindi si conferma il messaggio UAC, viene avviato MMC Server Manager. Sotto Server Manager sono presenti i seguenti elementi: ruoli, funzionalità, diagnostica, configurazione e archiviazione. Nessuno di questi cinque elementi sembra avere connessioni al nome di condivisione disponibili come opzione, che è la domanda originale. L'aggiunta di EDIT alla risposta è stata più utile, citando Share and Storage Manager, ma non sembra fornire la risposta. Fornisce un elenco completo di nomi e proprietà di condivisione, ma le connessioni attive non vengono visualizzate qui. Con Windows Server 2003 esisteva un'utilità del sistema operativo che visualizzava server, condivisioni e connessioni, ma non l'ho ancora trovato su WS2008. C'era un'utilità di terze parti che utilizzavo per il nome Hyena di Adkins Resource, che credo sia ancora commercializzata, che ha fatto un ottimo lavoro nel mostrare ogni tipo di informazione praticamente su ogni aspetto delle condizioni di un server.


2
Ti sbagli di grosso. Ho appena avviato una VM R2 del 2008. Quando apri Gestione computer (compmgmt.msc)e tutto ciò che Wesley descrive è proprio lì, esattamente come il 2003, inclusi i file aperti e le sessioni attive. Vedi questo screenshot se non mi credi.
MDMarra,

@Rick Hai ragione, la mia risposta non era completamente corretta. Due anni dopo, e per la spinta di un altro membro che mi ha chiamato, ho rielaborato la mia risposta per farlo bene. Grazie per avermi tenuto sveglio. =)
Wesley
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.