wackou

Recopy mail field in msRTCSIP-PrimaryUserAddress field

Oct 3rd, 2015
1,796
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. # Copier le champ mail dans msRTCSIP-PrimaryUserAddress d'un utilisateur Active Directory
  2. #
  3. #
  4. # Wackou
  5. # contact@wackou.com
  6. # www.wackou.com
  7. #VARIABLES
  8. $global:SITE = $NULL #initilisation variable site
  9. $OU = "LDAP://DC=domaine,DC=local" #OU par defaut
  10. $FILTER = "(&(mail=*)(!(msRTCSIP-PrimaryUserAddress=sip:*@*)))" #filtre sur le champ mail, celui doit etre remplie et le champs SIP vide
  11. $global:SEARCHER = $NULL #initilisation variable recherche adsi
  12. $global:LogTime = Get-Date -Format "dd-MM-yyyy_HH-mm-ss" # obtenir la date dès le lancement pour LOG
  13. #FONCTIONS
  14. function recopy {
  15.     $SEARCHER.FindAll() | Foreach {
  16.         $user = $_.GetDirectoryEntry()
  17.             $user."msRTCSIP-PrimaryUserAddress"="sip:"+$user."mail" #recopie du champs mail dans SIP
  18.             $user.SetInfo() #on enregistre les informations
  19.             $user.mail >> C:\script\CopyMail2SIP_$LogTime.txt #log pour connaitre les comptes modifies
  20.         }
  21.        
  22.     }
  23. cls
  24. $SITE = Read-Host "Saisir le nom du site (1, 2, etc ...)" #saisie du site
  25. If ($SITE -eq '') { #verification si l'utilisateur a saisie qqch
  26.         write-host "Merci de saisir un site !"$OU -foregroundcolor white -backgroundcolor red
  27.         break
  28. }
  29. $OU = "LDAP://OU=People,OU=$SITE,DC=domaine,DC=local" #construction du chemin LDAP
  30. If ([adsi]::Exists($OU)) { #verification si le chemin LDAP est valide
  31.         write-host "Site selectionne :"$OU
  32.         $SEARCHER = New-Object adsisearcher([adsi]$OU , $FILTER) #construction de la recherche adsi
  33.         recopy #lancement de la fonction
  34. }
  35. Else {
  36.         Write-host "Ce site n'existe pas !"$OU -foregroundcolor white -backgroundcolor red
  37. }
RAW Paste Data