$a 包含用户详细信息,例如(名称,samaccountname,empid,经理等),$b 包含经理详细信息,例如(名称,employeeID),我不知道如何在 csv 文件中获取这些详细信息
预期产出
username samaccountname empid managername manageremployeeID
abc a.bc 1234 xyz 5678
代码:
$a=Get-aduser -identity "abc" -properties * |select name,samaccountname,empid,manager
$b=Get-aduser -identity $a.manager -properties * | select name,empid**
我同时得到了 $a 和 $b,但我想在一个 csv 文件中同时得到 $a 和 $b,但我没能做到。
请帮忙
PSCustomObject
创建一个具有所查询用户与其 Manager 的连接属性的单个对象:
Get-ADUser 'abc' -Properties empid, manager | ForEach-Object {
$manager = $null
try {
$manager = Get-ADUser $_.manager -Properties empid
}
catch {
Write-Warning $_
}
[pscustomobject]@{
name = $_.name
samaccountname = $_.samaccountname
empid = $_.empid
managerSamaccountname = $manager.samaccountname
managerEmpid = $manager.empid
}
} | Export-Csv pathhere.csv -NoTypeInformation
顺便说一句,对于单个用户来说这并不重要,但如果你要为许多用户执行此操作,请尽量避免使用
-Properties *
,查询所有用户的属性非常低效,你应该始终添加属性您需要如上例所示。本例中不包含 name
和 samaccountname
,因为这两个属性均由 Get-ADUser
默认返回。