将数据导出到CSV时,在PowerShell中根据条件连接文本



我在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'添加到列表中(作为第二个或第三个项目(,而不是只取前两个项目并用逗号将它们再次连接起来。

相关内容

  • 没有找到相关文章