J'essaie de mettre à jour l'adresse e-mail d'un utilisateur de répertoire avec PowerShell.Modifier la propriété de messagerie utilisateur avec ADSI dans PowerShell
Je suis incapable de modifier la propriété de messagerie d'une entrée de l'utilisateur avec le code suivant:
$BadUser = [adsi] $Account.Path
$BadUser.mail.Clear()
$BadUser.mail.Add($User.Email) | Out-Null
$BadUser.SetInfo()
Le mail.Clear() ni le mail.Add() semblent modifier BadUser $ lors du débogage avec PowerGUI .
J'ai une version de travail qui repose sur le plugin QAD, et je voudrais éviter de l'utiliser si possible.
$suf = $AD.Parent.Substring(10)
Connect-QADService -Service "$($AD.dc[0]).$suf" -ErrorVariable AD_Conn_Error -ErrorAction Stop -WarningAction Stop | Out-Null
Set-QADObject $Account.Properties.distinguishedname[0] -ObjectAttributes @{mail=$User.Email} | Out-Null
Disconnect-QADService
raisons pour lesquelles j'évitaient QAD:
- Je suis à la recherche pour les utilisateurs sur 8 serveurs de domaine
- ADSI me permet d'enregistrer plusieurs entrées connectés dans une liste
- QAD peut se connecter à 1 domaine à la fois
- ADSI semble relativement rapide
- QAD a des fuites de mémoire (1kB/s mauvais) qui se plantent en grandes quantités
-
QAD est incapable de « identifier » certains utilisateurs qui ADSI trouvé par cn
Même si la poste est une collection que vous devez attribuer une chaîne directement à elle ... Contre-intuitive. Merci. –
@JaredDeckard 'mail' n'est pas une collection. 'mail' est une sorte de propriété étrange car elle n'est pas utilisée pour le routage du courrier dans Exchange. Celui qui est une collection et utilisé dans le routage du courrier est 'proxyAddresses' –