use*_*303 4 powershell active-directory
我需要从AD创建包含所有活动用户的CSV文件,包括行管理器属性,但是我需要行管理器sAMAccountName,而不是cn.这是我到目前为止:
Get-ADUser -server server_ip -Filter { mail -like "*" -and ObjectClass -eq "user" } `
-SearchBase "OU=Active Users,DC=eu,DC=ad,DC=some_company,DC=com" `
-Properties objectGUID,displayName,office,division,department,employeeNumber,
employeeID,mobilePhone,officePhone,ipphone,title,givenName,surname,mail,
manager,sAMAccountName |
Export-CSV "EU_AD_Properties.csv"
Run Code Online (Sandbox Code Playgroud)
这将返回我想要的所有数据,但是给了我直线管理器cn,而不是samacountname.
有任何想法吗?
我试过这个:
Get-ADUser -server server_ip -Filter { mail -like "*" -and ObjectClass -eq "user" } `
-SearchBase "OU=Active Users,DC=eu,DC=ad,DC=some_company,DC=com" `
-Properties objectGUID,displayName,office,division,department,employeeNumber,
employeeID,mobilePhone,officePhone,ipphone,title,givenName,surname,mail,
@{Label="Manager";Expression={(Get-aduser -filter {sAMAccountName -eq $_.Manager}.sAMAaccountName)}},
sAMAccountName |
Export-CSV "EU_AD_Properties.csv"
Run Code Online (Sandbox Code Playgroud)
然而,这错误了.
在这里你是$ user是你正在查询经理信息的用户
(get-aduser (get-aduser $user -Properties manager).manager).samaccountName
Run Code Online (Sandbox Code Playgroud)
您无法在参数的-Properties参数中创建自定义属性,因为当前对象变量$_在该点不包含值(或者至少不包含您想要的值).select当$_实际保存您需要处理的值时,您需要在管道中稍后的语句中执行此操作.您尝试创建自定义属性的方式也不起作用:
@{Label="Manager";Expression={(Get-aduser -filter {sAMAccountName -eq $_.Manager}.sAMAaccountName)}}
Run Code Online (Sandbox Code Playgroud)
过滤器脚本块没有属性sAMAccountName.你真正想要做的是获取经理CN的用户对象并检索其sAMAccountName属性:
@{Label='Manager';Expression={(Get-ADUser $_.Manager).sAMAccountName}}
Run Code Online (Sandbox Code Playgroud)
此外,您不需要过滤器ObjectClass -eq "user",因为Get-ADUser无论如何都只返回用户对象.
所以你的管道应该看起来像这样:
Get-ADUser -Server IP -Filter {mail -like "*"} -Properties * `
-SearchBase "OU=Active Users,DC=eu,DC=ad,DC=some_company,DC=com" |
select objectGUID, displayName, office, division, department, employeeNumber,
employeeID, mobilePhone, officePhone, ipphone, title, givenName, surname,
mail, @{Name='Manager';Expression={(Get-ADUser $_.Manager).sAMAccountName}},
sAMAccountName |
Export-CSV "EU_AD_Properties.csv"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
32800 次 |
| 最近记录: |