http://digilander.libero.it/Cenati Informazioni su un utente LAN |
|
|
||
|
Visualizza informazioni su un utente della LAN Non è un argomento che può interessare proprio tutti... lo so. Lavoro con un account all'interno di una rete locale, insieme a decine di altri utenti. Per vari motivi gli identificativi utente (le cosiddette User ID) sono alfanumeriche del tipo "A123456" e non permettono di risalire al nome del collega in modo semplice. Per sapere chi è un certo utente è necessario aprire il prompt dei comandi e scrivere "NET USER A123456 /DOMAIN". In questo modo si visualizzano alcune informazioni utili, tra cui il nome ed i gruppi di appartenenza. Molti utenti non sanno neppure cosa è il prompt dei comandi, quindi ho messo insieme un breve script che si può avviare semplicemente cliccandoci sopra. Per chiedere a Windows le informazioni su utenti o gruppi della rete ci sono diversi metodi. Uno di questi fa uso dell'interrogazione della Active Directory. Io ho usato questo programma con successo con Windows NT e con Windows XP. Il programma chiede all'utente quale è la UserID che vuole cercare. Per default propone l'utente stesso. Per riconoscerlo usa una funzione che espande la variabile di ambiente %USERNAME% che infatti contiene il nome dell'utente attualmente attivo. Allo stesso modo recupera dal sistema il nome del dominio corrente. Due istruzioni (da Set objDomain) permettono di puntare al server, ai dati degli utenti e in particolare a quelli dell'utente che stiamo cercando. Una volta che si punta all'utente, si possono usare le proprietà .Name (la userID), .FullName (nome e cognome), ecc. .Groups invece è una collezione di gruppi ai quali l'utente appartiene. Interrogando ciascuna voce con un ciclo for...each è possibile recuperare i nomi dei gruppi di appartenenza. Al termine dello script viene mostrata una finestra messaggio contenente la stringa "dati" alla quale, nel corso dell'esecuzione, ho via via accodato i risultati trovati. Copia il programma riportato qui sotto in un file con estensione ".vbs" oppure scarica l'archivio zip contentente lo script. Ed ecco lo script completo. '************************************************ ' File: Visualizza dati di un utente.vbs ' Autore: Giovanni Cenati ' http://digilander.libero.it/Cenati ' Codice vbs liberamente utilizzabile citando il sito. '************************************************ Set WshShell = WScript.CreateObject("WScript.Shell") ' Ottiene il nome del dominio e dell'utente strDomain = WshShell.ExpandEnvironmentStrings("%USERDOMAIN%") strUser= WshShell.ExpandEnvironmentStrings("%USERNAME%") ' Chiede la userid da cercare (default: utente corrente) strUser = inputbox ("Quale utente vuoi cercare?", "Visualizza Dati Utente",strUser) if struser ="" then wscript.quit 'Se premuto annulla ' Si collega al server e richiede l'utente Set objDomain = GetObject("WinNT://" & strDomain) Set objUser = objDomain.GetObject("user", strUser) ' Estrae i dati dell'utente e li mette nella variabile Dati. Dati= "Userid: "& vbtab & objUser.Name & vbcrlf Dati= Dati & "Nome: " & Vbtab & objUser.FullName & vbcrlf Dati= Dati & "Descriz: " & vbtab & objUser.Description & vbcrlf Dati= Dati & "Ult. Accesso: " & vbtab & objUser.LastLogin & vbcrlf Dati= Dati & vbcrlf & "Gruppi di appartenenza:" & vbcrlf & vbcrlf ' Estrae i gruppi di appartenenza dell'utente For Each objGroup In objUser.Groups Dati= Dati & objGroup.Name & vbtab next ' Output dati. msgbox Dati,, "Dati dell'utente " & strUser & " (Dominio " & strDomain & ")" '*** Fine Programma. Cenati Giovanni
|
Puoi | |
© Cenati Giovanni 2004/2010 - http://digilander.libero.it/Cenati - Reventlov at Katamail com
|