【发布时间】:2017-03-05 18:30:21
【问题描述】:
我想问一下有没有什么问题。如果查询在 Active Directory 上没有找到任何用户,我想在 CSV 中输出“null”,但它没有按预期工作。
样本输出:
名称 UserGiven UserLastName usvalj02adm 尤恩·保罗·瓦伦西亚 ustalu00 Juhn Paul 瓦伦西亚 usnaic00adm 尤恩·保罗·瓦伦西亚 usmenm03adm 马里昂保罗门多萨 usjorv00ADM 文森特·豪尔赫 usgols01ADM 文森特·豪尔赫 usgedr00 文森特·豪尔赫 usdhaa00adm 文森特·豪尔赫 uscrud00adm 唐·爱德华·克鲁兹 uscabg00adm 唐·爱德华·克鲁兹
如果没有找到用户,它会重复之前的查询并输出它。有人可以帮忙吗?
Import-Module ActiveDirectory
Get-Content -Path 'C:\Users.txt' | foreach {
$User = Get-ADUser $_
$Groups = Get-ADPrincipalGroupMembership $User
if ($User.givenName -eq $null) {
$Empty = @{
Name = $_
UserGiven = "null"
UserLastName = "null"
#GroupDN = "null"
}
New-Object PSObject -Property $Empty
} else {
$Props = @{
Name = $_
UserGiven = $User.givenName
UserLastName = $User.surName
#GroupDN = "null"
}
New-Object PSObject -Property $Props
}
# One CSV line for each user/group
} | Export-Csv -Path 'C:\UserGroups.csv' -NoTypeInfo
【问题讨论】:
-
抱歉,我不太清楚你的问题是什么。
-
无法复制。 AFAICS 您发布的代码中没有任何内容可以保留先前迭代的值。
标签: powershell csv active-directory