Como posso alterar o contêiner pai invertido no PowerShell?

Como posso alterar o contêiner pai invertido no PowerShell?

Tenho a necessidade de extrair todos os usuários do AD com todas as informações sobre eles adicionando um campo com o campo "parent container" invertido

Por exemplo:

Campo real do contêiner pai: "OU=Usuários,OU=Área,DC=Empresa,DC=com"

Campo de contêiner pai de formato necessário: Company.com\Area\Users

E aqui o código que tenho agora

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

Obrigado

Responder1

Escrevi um módulo do PowerShell há algum tempo que encapsula a funcionalidade doNomeTraduzireNome do caminhoObjetos COM para fácil uso no PowerShell:

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

Com este módulo instalado, você pode escrever código como este:

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

Este exemplo usa Select-Objectpara criar umpropriedade calculadachamado Path, esse é o caminho AD de cada objeto expresso no formato de nome canônico.

Dentro do Expression =bloco de script (obloco de scripté o código entre chaves { }), este exemplo usa:

  • $_.DistinguishedName- esta é DistinguishedNamepropriedade de cada usuário passado deGet-ADUser
  • Get-ADName -Format Parent- a localização pai do nome distinto
  • Convert-ADName Canonical- o caminho pai em formato canônico

Este comando cria saída com propriedades Pathe ; Namepor exemplo:

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

... etc.

informação relacionada