http://digilander.libero.it/Cenati

Elenco gruppi del dominio

home | e-mail e contatti | Introduzione al sito | Cosa e' e come imparare VbScript

 

 

 

 

 

Elenco gruppi del dominio

Una volta accertato che l'utente appartiene ad un certo gruppo, può essere interessante sapere a cosa serve quel gruppo. Anche perchè a volte i nomi sono necessariamente condensati e difficilmente traducibili.

Questo script elenca in un foglio excel i nomi dei gruppi e la loro descrizione così come riportata da ADSI.

Il nome del dominio corrente è ottenuta automaticamente dalla variabile d'ambiente. E' comunque possibile assegnarlo manualmente a DOMAIN_NAME.

Lo script crea un'istanza di Excel, la rende visibile e ci aggiunge un foglio. Poi si collega all'active directory system e filtra solo i gruppi.

Per scrivere sul foglio di excel uso una subroutine che mette i due dati (nome del gruppo e descrizione) nelle celle di colonna A e B. Poi incrementa il numero di riga in modo da scrivere nella riga successiva alla prossima chiamata. Infatti la variabile nIndex è definita a livello di main program e non di sub (altrimenti si azzererebbe ad ogni chiamata).

Una volta visti anche gli altri script (elenco utenti, dati di un utente) non è difficile metterli insieme per scrivere un programma che incroci in una tabella i gruppi e gli utenti per sapere con un solo tabulato chi appartiene ad un gruppo e a quali gruppi appartiene un utente.

Copia il programma riportato qui sotto in un file con estensione ".vbs" oppure scarica l'archivio zip contentente lo script.

'************************************************
' File:    ListaGruppi.vbs
' Autore:  Giovanni Cenati 
'          Elenca i gruppi del dominio corrente
'          Li scrive su un foglio excel.
'          Lists group names and descriptions
'          in an excel sheet.
'          http://digilander.libero.it/Cenati 
'************************************************
Set WshShell = WScript.CreateObject("WScript.Shell")

' Ottiene il nome del dominio e dell'utente
DOMAIN_NAME = WshShell.ExpandEnvironmentStrings("%USERDOMAIN%")

'EXCEL: crea oggetto, lo rende visibile, aggiunge un foglio di lavoro.
Dim oXL
Set oXL = WScript.CreateObject("Excel.Application")
oXL.Visible = TRUE
oXL.WorkBooks.Add
Dim nIndex
nIndex = 1 'Riga dove inizia a scrivere in excel
on error resume next
'Si collega al server e ottiene li dati dei gruppi
'(nome e descrizione)
Set oDomain = GetObject("WinNT://" & DOMAIN_NAME)
oDomain.Filter = Array("group")
For Each oGroup In oDomain
   xlWrite oGroup.name,  oGroup.Description
Next

set oDomain=nothing

msgbox "Creazione file con elenco gruppi del dominio completata",,"Lista Gruppi"

'EXCEL: scrive sulle  colonne i dati passati come parametri
'e poi passa alla riga successiva.
Sub xlWrite(GroupID,  Description)
	oXL.Cells(nIndex, 1).Value = GroupID
	oXL.Cells(nIndex, 2).Value = Description
	nIndex = nIndex + 1
End Sub
'*** ListaGruppi.vbs - Fine Programma ***

Giovanni Cenati

 

 
 

© Cenati Giovanni 2004/2010 - http://digilander.libero.it/Cenati - Reventlov at Katamail com

home | e-mail e contatti | Introduzione al sito | Cosa e' e come imparare VbScript