Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PowerShell将ADuser值获取为字符串_Powershell - Fatal编程技术网

PowerShell将ADuser值获取为字符串

PowerShell将ADuser值获取为字符串,powershell,Powershell,我正在处理的脚本的一部分将用户从AD传递到变量$TargetUsers 然后将此变量传递给以下对象,以更改每个用户的UPN后缀: $OldSuffix = "@olddomain.com" $NewSuffix = "@newdomain.com" Foreach ($User3 in $TargetUsers) { $Upn3 = $User3.UserPrincipalName $NewUpn = $User3.UserPrincipalName.Replace($OldSuffix,$Ne

我正在处理的脚本的一部分将用户从AD传递到变量$TargetUsers

然后将此变量传递给以下对象,以更改每个用户的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 @{proxyAddresses=@("SMTP:$($User3.givenName).$($User3.sn)$OldSuffix","sip:$($User3.givenName).$($User3.sn)$OldSuffix")} `
        -Add @{proxyAddresses=@("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后缀更改为@{UserPrincipalName=Firstname”。surname@newdomain.com}"

我如何才能让它排除结尾处的“@{UserPrincipalName=“&trailing”}”呢

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

成功了。

另一种选择可能是使用
$NewUpn2=Get ADuser-Filter“UserPrincipalName-eq'$NewUpn'”| Select-ExpandProperty UserPrincipalName
谢谢。知道其他方法总是很好的。