Come posso sapere chi è connesso attivamente (localmente o da remoto) a un PC Windows 7?


14

Dal mio PC Windows 7, voglio verificare chi è "attivamente" connesso a un altro PC Windows 7 sulla mia rete, non chi è stato connesso per ultimo. Come si può fare?

Durante il giorno diverse persone accederanno in remoto a un computer condiviso, generalmente disconnettendosi quando saranno passate. Nota, questi utenti dispongono dei diritti di amministratore sia su PC che su PC remoto. Se accedo mentre qualcun altro è attivamente connesso, mi viene data la possibilità di continuare e diventare me stesso l'utente "attivo", ponendo così il precedente account attivo in uno stato disconnesso. Sarebbe bello poter vedere chi è attivamente connesso prima di fare questa scelta.

Ho cercato sul Web e ho trovato varie soluzioni che ti consentono di sapere chi ha effettuato l'ultima connessione, che non si traduce in esse come l'ultimo utente o attualmente "attivo".

In una nota a margine, sembra strano in Windows 7 che l'ID dell'utente attivo corrente sia visualizzato 'dopo' Faccio clic su 'Sì' per accedere su di essi. Quando stavamo usando Windows XP, si vedeva l'ID dell'attuale utente attivo "prima" che decideva di continuare ad accedere.

Qualsiasi aiuto è apprezzato.

Risposte:


11

A tale scopo è possibile utilizzare il comando query Servizi terminal .

query session /server:remote_computer_name_here

Si noti che sarà necessario impostare il seguente valore di registro sul computer remoto:

Key: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server
Value Name: AllowRemoteRPC
Value: 1
Type: REG_DWORD

È possibile inserire il comando query in un file batch, quindi gli utenti possono semplicemente fare doppio clic su di esso per vedere chi è connesso a quel computer.


10

È possibile utilizzare lo strumento Sysinternals di Windows PSLoggedOn .

Utilizzo: psloggedon [-] [-l] [-x] [\\ nomecomputer | nome utente]

- Visualizza le opzioni supportate e le unità di misura utilizzate per i valori di output.

-l Mostra solo gli accessi locali anziché gli accessi alle risorse locali e di rete.

- x Non mostrare i tempi di accesso.

\\ nomecomputer Specifica il nome del computer per cui elencare le informazioni di accesso.

nome utente Se si specifica un nome utente PsLoggedOn cerca nella rete i computer a cui quell'utente è connesso. Ciò è utile se si desidera assicurarsi che un determinato utente non sia connesso quando si sta per modificare la configurazione del proprio profilo utente.


Vale la pena notare che PSLoggedOn richiede l' Remote Registry Serviceesecuzione sul computer di destinazione. Questo servizio non è avviato per impostazione predefinita.
Dico Reinstate Monica il

3

Un'altra opzione dalla riga di comando di Windows 7 o superiore:

tasklist /s computername /fi "imagename eq explorer.exe" /v

È possibile che vengano richieste credenziali a livello di amministratore se si esegue una query su un computer remoto.

Questo vedrà se explorer.exe è in esecuzione su una macchina e "/ v" fornisce il nome utente. Se una macchina non ha effettuato l'accesso, non verrà eseguito alcun processo explorer.exe. Se qualcuno è connesso, il processo explorer.exe viene eseguito nel contesto dell'utente.


L'unico (raro) caso in cui questo non funzionerà è se la shell della macchina remota non lo è explorer.exe. Raro, ma possibile.
Dico Reinstate Monica il

1

Il wmiccomando nel Prompt dei comandi può recuperare queste informazioni. Tuttavia, affinché i client rispondano, è prima necessaria una regola firewall.

Ho trovato un post su community.spiceworks.com, grazie a MacKingTosh che sembra correggere l'errore "errore - il server RPC non è disponibile".

Il comando da eseguire sui client che generano questo errore è:

netsh firewall set service remoteadmin enable

Si consiglia di verificare che ciò sia conforme alle politiche del firewall.

Durante l'utilizzo wmic, ecco una ripartizione dei parametri che è possibile passare:

  • /node: - i server su cui funzionerà l'alias
  • yourpcname - il nome del PC
  • computersystem - è un sistema informatico sul quale stiamo cercando di ottenere informazioni
  • get - vogliamo ottenere le informazioni
  • username - l'utente che ha effettuato l'accesso
  • model - il modello del computer
  • manufacturer - il nome dell'azienda che ha realizzato il computer
  • name - il nome del PC

Qualche esempio:

Ottieni un nome utente:

wmic /node: 'yourpcname' computersystem get username

Ottieni una marca e un modello PC:

wmic /node: 'yourpcname' computersystem get manufacturer, model

Ottieni tutti e tre:

wmic /node: 'yourpcname' computersystem get manufacturer, model, username

L'aggiunta di campi aggiuntivi può essere eseguita utilizzando una virgola e uno spazio:

Model, manufacturer, username, name

Gli esempi sopra riportati sono per un PC remoto e la query viene eseguita in rete. Se il comando viene eseguito localmente, avrebbe una sintassi leggermente diversa. Per esempio:

wmic computersystem get manufacturer, model, username
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.