我需要提取 AD 的所有用户及其所有信息,并添加一个带有“父容器”字段的字段反转
例如:
实际父容器字段:“OU=Users,OU=Area,DC=Company,DC=com”
所需格式父容器字段:Company.com\Area\Users
这是我现在的代码
Get-ADUser -Filter * -Properties * | select *,@{l='Parent';e={([adsi]"LDAP://$($_.DistinguishedName)").Parent}} | export-csv \\server\folder\usersADps.csv
谢谢
答案1
不久前我写了一个 PowerShell 模块,它封装了姓名翻译和路径名在 PowerShell 中可轻松使用的 COM 对象:
https://github.com/Bill-Stewart/PowerShell-ADName
安装此模块后,您可以编写如下代码:
Get-ADUser -LDAPFilter "(name=*)" |
Select-Object @{Name = "Path"; Expression = {$_.DistinguishedName | Get-ADName -Format Parent | Convert-ADName Canonical}},
Name
此示例用于Select-Object
创建一个计算财产称为Path
以规范名称格式表达的每个对象的 AD 路径。
在脚本块内部Expression =
(脚本块是花括号内的代码{ }
),本例使用:
$_.DistinguishedName
- 这是DistinguishedName
每个用户的属性Get-ADUser
Get-ADName -Format Parent
- 专有名称的父位置Convert-ADName Canonical
- 规范格式的父路径
此命令创建具有Path
和Name
属性的输出;例如:
Path Name
----------------------- ---------
myorg.local/Container A Ken Dyer
myorg.local/Container B Lynn Dyer
... ETC。