我在AD中有如下数据:
DisplayName TelephoneNumber
Alex 111-1111
John 222-2222
Peter 333-3333,2051
我有一个powershell脚本,如下所示:
Get-ADUser -SearchBase 'OU=Domain Users,DC=nxcc,DC=local' -Filter {(enabled -eq $true) -and (mail -like "*.*") -and (PhysicalDeliveryOfficeName -like "*")} -Properties displayname, telephonenumber | select displayname, telephonenumber | Export-csv -NoTypeInformation -encoding UTF8 -Path "\myserverc$AllUserContactInfo.csv"
我想做的是在导出到CSV时,如果TelephoneNumber
字段不包含逗号字符,则在该字段的末尾添加,0000
。因此预期输出为:
DisplayName TelephoneNumber
Alex 111-1111,0000
John 222-2222,0000
Peter 333-3333,2051
我怎样才能做到这一点?我感谢你的帮助。
谨致问候。
代替:
| select displayname, telephonenumber
使用经过计算的属性:
| Select-Object DisplayName,
@{n='TelephoneNumber'; e={($_.TelephoneNumber.Split(',', 2) + '0000')[0,1] -Join ','}}
在表达式中,电话号码是分开的(使用逗号作为分隔符(。如果没有逗号,这将只返回一个项目,否则将返回两个项目。然后将'0000'
添加到列表中(作为第二个或第三个项目(,而不是只取前两个项目并用逗号将它们再次连接起来。