Puncte:1

Ștergerea problemei cu proprietățile utilizatorului AD

drapel ve
$info = Get-ADUser -Filter * -Properties * | Pentru fiecare obiect {$_.PSObject.Properties} | Unde-Obiect {$_.value -cum ar fi „NULL”}

Pentru fiecare ($i în $info){
    Set-ADUser -Identity $i.BaseObject.SamAccountName -Clear $i.Name
}

Mai sus este codul pe care îl folosesc pentru a găsi toate câmpurile de utilizator AD cu o valoare a șirului „NULL”. Încerc să șterg aceste câmpuri.

Mai jos este excepția pe care o văd în mod obișnuit, în ciuda faptului că numele proprietății există în mod clar (deoarece este extras direct din valoarea numelui proprietății AD.

Ce îmi lipsește?

Set-ADUser : Atributul sau valoarea specificată a serviciului de director nu există
Nume parametru: OfficePhone
La linia:2 char:5
+ Set-ADUser -Identity $i.BaseObject.SamAccountName -Clear $i.Name
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~
    + CategoryInfo: InvalidArgument: (RHanson:ADUser) [Set-ADUser], ArgumentException
    + FullyQualifiedErrorId: ActiveDirectoryCmdlet:System.ArgumentException,Microsoft.ActiveDirectory.Management.Commands.SetADUser
drapel cn
Atributul nume cu siguranță nu va funcționa. Este doar sistem. Ceilalți pe care poate doriți să le adăugați încearcă să se ocupe de cazul în care atributul nu este prezent sau pur și simplu continuă.
drapel ve
Acest lucru a funcționat așa cum este. Au fost câteva câmpuri precum „MobilePhone” care au dispărut odată ce „mobilul” a fost eliminat, nu sunt sigur ce să cred despre asta.
Puncte:1
drapel in

Chiar din docs:

-Telefon de birou

[â¦] Pentru a modifica proprietatea unui obiect, trebuie să utilizați numele afișat LDAP. [â¦]

și

-Telefon de birou

[â¦] Numele afișat LDAP (ldapDisplayName) al acestei proprietăți este telephoneNumber. [â¦]

Și aici sunt documentele pentru Atributul Număr de telefon:

CN: Număr de telefon
Ldap-Display-Name: telefonNumăr

Din pacate, Get-ADUser -Properties * le primește pe amândouă, Telefon de birou și număr de telefon și nu știu cum puteți distinge programatic proprietățile reale de aliasurile de proprietate încorporate în modulul însuși.

Ca o soluție de soluționare, puteți totuși să o treceți Get-ADObject care nu vă impune proprietăți de alias:

$info = Get-ADUser -Filter * |
            Get-ADObject -Properties * |
            Pentru fiecare obiect {$_.PSObject.Properties} |
            Unde-Obiect {$_.value -cum ar fi „NULL”}

Pentru fiecare ($i în $info){
    Set-ADUser -Identity $i.BaseObject.SamAccountName -Clear $i.Name
}

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.