2017-08-04 38 views
0

部分是我工作的争夺用户的广告脚本传递给变量$ TargetUsersPowerShell中获取-ADUser便有值作为字符串

这个变量,然后传递到下面的方法修改UPN后缀为每用户:

$OldSuffix = "@olddomain.com" 
$NewSuffix = "@newdomain.com" 
Foreach ($User3 in $TargetUsers) { 
$Upn3 = $User3.UserPrincipalName 
$NewUpn = $User3.UserPrincipalName.Replace($OldSuffix,$NewSuffix) 
    Get-ADUser -Filter "UserPrincipalName -eq '$Upn3'" | Set-ADuser ` 
     -Remove @{[email protected]("SMTP:$($User3.givenName).$($User3.sn)$OldSuffix","sip:$($User3.givenName).$($User3.sn)$OldSuffix")} ` 
     -Add @{[email protected]("SMTP:$($User3.givenName.ToLower()).$($User3.sn.ToLower())$NewSuffix","smtp:$($User3.givenName.ToLower()).$($User3.sn.ToLower())$OldSuffix","sip:$($User3.givenName.ToLower()).$($User3.sn.ToLower())$NewSuffix")} ` 
     -Replace @{ co = "United Kingdom" } ` 
     -Email "$($User3.givenName.ToLower()).$($User3.sn.ToLower())$NewSuffix" ` 
     -UserPrincipalName $NewUpn 
    $NewUpn2 = Get-ADuser -Filter "UserPrincipalName -eq '$NewUpn'" | Select UserPrincipalName 
    "$(Get-Date -f HH:mm:ss): $($Upn3): AD Attributes updated & UPN Suffix changed to $NewUpn2" | Tee-Object $UserMigrationLog -Append 
    } 

此输出到主机和日志文件“...... UPN后缀改为@ {} [email protected]

我如何能得到这个排除“ @ {UserPrincipalName =“&尾随”}“?

回答

0

Ah对它进行了排序。

$NewUpn2 = Get-ADuser -Filter "UserPrincipalName -eq '$NewUpn'" | % {$_.UserPrincipalName} 

诀窍。

+0

另一种可能是使用'$ NewUpn2 = Get-ADuser -Filter'UserPrincipalName -eq'$ NewUpn'“|选择-ExpandProperty UserPrincipalName' –

+0

不错,谢谢。总是很高兴知道替代方法。 – jshizzle