Ed ecco a grande richiesta come gestire Lync con powershell. Ho notato che e’ veramente difficile trovare informazioni ed esempi relativi al’utilizzo dei comandi Lync in poweshell.Prima di tutto ecco il link per partire: La guida technet ai comandi Lync. Adesso possiamo iniziare a vedere un po’ di codice:
Ricordiamoci di importare il modulo di lync per poter utilizzare i suoi comandi:
Import-Module 'C:\Program Files\Common Files\Microsoft Lync Server 2013\Modules\Lync\Lync.psd1'
Se volessimo avere la lista di tutti gli utenti ecco il codice:
$users = Get-CsUser -Filter {RegistrarPool -eq "lync.server"} | select sipaddress foreach ($user in $users) { $usermail = $user.Split(":") Write-Host $usermail }
In questo modo abbiamo chiesto di avere una lista di tutte le mail registrate su lync e di stamparle a video. Per avere tutti i dati dell’utente bastera’
eliminare la select finale.
Un’altro comando inderessante e’ Export-CsUserData: la sua descrizione e’:
“Exports user data in a format that can be imported into Microsoft Exchange Server 2013. The data will be exported as a .ZIP file containing a pair of XML documents. This cmdlet was introduced in Lync Server 2013.”
Ed ecco il codice:
Export-CsUserData -FileName $zipfile –UserFilter $ExportEmail -PoolFqdn "lync.server"
L’ultimo comando che ho utilizzato e’ Update-CsUserData. Questo serve per aggiornare i contatti di ogni user:
Update-CsUserData -FileName $zipFile -Confirm:$False
Notare l’uso dell’attributo -Confirm:$False: Questo mi forza la conferma del comando senza visualizzazione di un messaggio di conferma. E’ molto utile
vogliamo inserire il comando in uno script automatico.
E finalmente ecco il codice completo, naturalmente sempre nel mio repository GitHub: Le funzionalita’ di questo script sono le seguenti:
- Esportazione della lista contatti
- Unzip dell’esportazione
- Modifica del file xml generato da Lync
- Check e validazione delle mail
- Zip delle modifiche
- Update lista contatti
Questo viene eseguito per ogni utente di Lync, E’ molto utile durante la migrazione di Lync 2010 a Lync 2013. Di seguito il suo utilizzo:
LyncContacts.ps1 –UserEmail all –ExportEmail email@email.it In questo modo migriamo tutti gli utenti e per ogni utente usiamo la lista contatti ExportEmail come default
LyncContacts.ps1 –UserEmail email@email.com –ExportEmail email@email.it In questo caso migriamo solo un user e utilizziamo la ExportMail come default dei contatti
Spero di essere stato utile a qualcuno.