首页 > 解决方案 > Powershell get-aduser 在导出到 CSV 时替换空属性

问题描述

如果之前多次问过这个问题,我深表歉意,但我可以使用下面的命令。我正在将 Active Directory 用户信息提取到 CSV,但如果它为空,则可以使用具有正确代码的手将电话号码字段替换为固定数字“555-555-5555”。我猜我们的组织有很多没有电话号码的用户,当我尝试将 csv 用于我们的预期项目时,我不能,因为如果他们没有提供电话号码,它会出错并且无法抓住用户。这可能吗?

Get-ADGroupMember -Identity "GROUPNAME" | Get-ADUser -Properties * | select @{N='UserName';E={$_.UserPrincipalName}},@{N='FirstName';E={"" + $_.givenName}},@{N='LastName';E={"" + $_.sn}},@{N='BusPhone';E={$_.telePhoneNumber}} | Export-csv c:\intel\thegroup.csv -NoTypeInformation

标签: powershellcsv

解决方案


您可以在计算属性的表达式块中做任何您喜欢的事情。

尝试改变:

@{N='BusPhone';E={$_.telePhoneNumber}}

至:

@{N='BusPhone';E={if($_.telePhoneNumber){$_.telePhoneNumber}else{'555-555-5555'}}}

推荐阅读