Exchange Server 2007 ha sicuramente apportato tante novità nel panorama dei software di messaggistica, tra tutti spicca Exchange Management Shell basato su PowerShell. La shell permette di eseguire molte operazioni, non disponibili su GUI, nonchè di velocizzare molte operazioni. In questo breve articolo vedremo come creare una serie di utenti da un solo file csv ed importarli direttamente in Exchange Server 2007.
Attualmente è possibile creare gli utenti in 2 modi: da interfaccia grafica, come mostra la figura 1, e via shell, come mostra la figura 2. Entrambe le operazioni sono comode fino a quando si tratta di uno o massimo cinque utenti, ma quando iniziamo a parlare di 20 o addirittura 100 utenti, la cosa inizia ad essere difficoltosa.
Figura 1 - Creazione utente via GUI
Figura 2 - Creazione utente via Shell
In Exchange Server 2003 importare una lista di utenti era un'operazione molto lunga e complessa, mentre nella versione 2007 le cose sono state molto facilitate. Ecco un esempio di codice, da salvare in csv, per importare due utenti all'interno della vostra struttura di Active Directory:
Alias,Name,FirstName,LastName,UPN,SAM,OU
Sdotnet,Silvio Di Benedetto,Silvio,Di Benedetto,silvio@sdotnet.com,silvio,sdotnet.com/Domain Users
Mitch,Michele Betelli,Michele,Betelli,mitch@sdotnet.com,mitch,sdotnet.com/Domain Users
ome si può notare, i parametri inseriti sono quelli classici che richiede Exchange in fase di creazione utente; ma è anche possibile omettere alcuni di questi dati, come è anche possibile aggiungerne di altri, come, ad esempio, l'azienda di appartenenza. Il database viene specificato direttamente dal codice di importazione, ma volendo è possibile impostarlo dal file csv.
Di seguito, il codice per fare l'importazione della lista in csv:
$Temp = ConvertTo-SecureString "Pass@word!" -asPlainText -force
Import-Csv users.csv | foreach { New-Mailbox –alias $_.Alias –name $_.Name –FirstName $_.FirstName –LastName $_.LastName –UserPrincipalName $_.UPN –SamAccountName $_.SAM –Database “mailbox database” –OrganizationalUnit $_.OU –Password $Temp –ResetPasswordOnNextLogon:$true
Cosa fa questo comando? Crea delle nuove mailbox prendendo, da un file users.csv, alcuni dati dinamici come il nome, il cognome, l'alias ed altro ancora; inoltre viene impostata una password, di tipo complesso, che dovrà essere cambiata al primo logon.
Il codice di importazione può essere salvato in un file con estensione .ps1 e lanciato da Exchange Management Shell. Una volta lanciato lo script, dovreste ottenere un risultato simile a quello della figura 3.
Figura 3 - Creazione avvenuta tramite lo script
Questo è un modo per poter creare utenti senza troppi sforzi e in poco tempo, grazie alle grandi potenzialità di PowerShell.....Beh che altro dire? Grazie a Mitch per essersi prestato, a sua insaputa, all'esempio di creazione mailbox.....è proprio un gentilone!
Ciao ciao
S