Wie kann ich den übergeordneten Container in Powershell umgekehrt ändern?

Wie kann ich den übergeordneten Container in Powershell umgekehrt ändern?

Ich muss alle Benutzer von AD mit allen Informationen über sie extrahieren und ein Feld mit umgekehrtem Feld "Übergeordneter Container" hinzufügen.

Zum Beispiel:

Tatsächliches übergeordnetes Containerfeld: „OU=Users,OU=Area,DC=Company,DC=com“

Benötigtes Format für übergeordnetes Containerfeld: Company.com\Area\Users

Und hier der Code, den ich gerade habe

Get-ADUser -Filter * -Properties * | select *,@{l='Parent';e={([adsi]"LDAP://$($_.DistinguishedName)").Parent}} | export-csv \\server\folder\usersADps.csv

Danke

Antwort1

Ich habe vor einiger Zeit ein PowerShell-Modul geschrieben, das die Funktionalität desNameÜbersetzenUndPfadnameCOM-Objekte für die einfache Verwendung in PowerShell:

https://github.com/Bill-Stewart/PowerShell-ADName

Wenn dieses Modul installiert ist, können Sie Code wie diesen schreiben:

Get-ADUser -LDAPFilter "(name=*)" |
  Select-Object @{Name = "Path"; Expression = {$_.DistinguishedName | Get-ADName -Format Parent | Convert-ADName Canonical}},
  Name

In diesem Beispiel wird Select-Objecteinberechnete Eigenschaftgenannt Path, das ist der AD-Pfad jedes Objekts, ausgedrückt im kanonischen Namensformat.

Innerhalb des Expression =Skriptblocks (derSkriptblockist der Code in den geschweiften { }Klammern), dieses Beispiel verwendet:

  • $_.DistinguishedName- dies ist das DistinguishedNameEigentum jedes Benutzers, der weitergegeben wird vonGet-ADUser
  • Get-ADName -Format Parent- der übergeordnete Standort des Distinguished Name
  • Convert-ADName Canonical- der übergeordnete Pfad im kanonischen Format

Dieser Befehl erstellt eine Ausgabe mit Pathund NameEigenschaften, zB:

Path                     Name
-----------------------  ---------
myorg.local/Container A  Ken Dyer
myorg.local/Container B  Lynn Dyer

... usw.

verwandte Informationen