Set-ADObject – Actualizări de câmpuri personalizate în ADLS (Programare, Powershell, Director Activ)

Richard Dakin a intrebat.

Știu că puteți face acest lucru cu LDIF, dar încerc să aliniez acest lucru cu un script PowerShell.

Obiectul pe care vreau să îl modific în acest exemplu este

Get-ADObject -Server 'localhost:389' -Filter {(name -like "name") -and (ObjectClass -eq "ont-configparameter")} -SearchBase 'CN=Bob,O=Bob1' -Properties "ont-configvalue" | Where-Object "ont-configvalue" -eq ".bob.bob.com"  | Select-Object Ont-configvalue | Format-Table -Wrap -AutoSize

Acesta îmi returnează valoarea .bob.bob.com așa cum era de așteptat.

Dar vreau să schimb acest lucru ont-configvalue în ".bob.bob.co.uk" dar nu-mi dau seama cum să obțin Set-ADObject pentru a face acest lucru.

Am aproximativ 20 dintre acestea de făcut, cu diferite valori și diferiți parametri, deci în căutare de genericish.

Comentarii

  • Uitați-vă în documente la -Add parametru de Set-ADOObject deoarece acesta vă permite să modificați valori care nu sunt expuse ca parametrii proprii –  > Por gvee.
  • Am încercat acest lucru, probabil greșit, deoarece nu prea înțeleg parametrul. Get-ADObject -Server ‘localhost:389’ -Filter {(name -like „name”) -and (ObjectClass -eq „ont-configparameter”)} -SearchBase ‘CN=bob,O=bob1’ -Properties „ont-configvalue” | where „ont-configvalue” -eq „.bob.co.uk” | SELECT Ont-configvalue | Set-ADObject -add ‘ont-configvalue’ –  > Por Richard Dakin.
1 răspunsuri
gvee

Disclaimer: Nu am un mediu disponibil în prezent în care să pot testa aceste AD CmdLets și, prin urmare, este puțin probabil ca următorul cod să fie la fața locului; dar sperăm că între cod și comentariu ar trebui să vă puteți găsi drumul!

Pasul 1

Identificați obiectul AD pe care doriți să îl modificați

$adObject = Get-ADObject -Server 'localhost:389' -Filter {(name -like "name") -and (ObjectClass -eq "ont-configparameter")} -SearchBase "CN=Bob,O=Bob1" -Properties "ont-configvalue" |
    Where-Object "ont-configvalue" -eq ".bob.bob.com" 

Pasul 2

Treceți această identitate în fișierul Set-ADObject CmdLet

Set-ADObject -Identity $adObject -Add @{ont-configvalue=".bob.bob.co.uk"}

Acest lucru utilizează identitatea -Add parametru:

Specifică valorile care trebuie adăugate la o proprietate a obiectului. Utilizați acest parametru pentru a adăuga una sau mai multe valori la o proprietate care nu poate fi modificată cu ajutorul unui parametru cmdlet

Cu toate acestea, cei mai atenți dintre dumneavoastră vor fi observat, fără îndoială, că în acest exemplu am știm că$adObject are o valoare pentru ont-configvalue (verificăm valoarea din Get-

Așadar, cel mai probabil dorim să folosim -Replace parametru… care urmează aceeași sintaxă, în principiu!

Set-ADObject -Identity $adObject -Replace @{ont-configvalue=".bob.bob.co.uk"}

Comentarii

  • Cred că ați reușit! A trebuit să fac o mică modificare, așa cum am prevăzut (pe care am editat-o mai sus) și voi mai face câteva teste astăzi. Vă mulțumesc!!! –  > Por Richard Dakin.
  • @RichardDakin care a fost modificarea ta? Ar trebui să modific răspunsul aici pentru a beneficia de viitorii cititori. –  > Por gvee.
  • Îmi pare rău că ar fi trebuit să spun asta. Am fost un pic prea entuziasmat să văd că funcționează 😉 – Am modificat funcția „ADD” în -Replace @{‘ont-configvalue’ – PowerShell nu a putut să o citească cu „-” -.  > Por Richard Dakin.