Difference between revisions of "Updating ProxyAddresses, Example 6"
From MyWiki
(Created page with "<source lang="powershell"> Import-module activedirectory Function Set-DefaultAddress ([string]$UserName,[string]$NewDefaultAddress) { $NewProxyAddresses=@() $AddressF...") |
(No difference)
|
Latest revision as of 13:11, 11 November 2014
Import-module activedirectory Function Set-DefaultAddress ([string]$UserName,[string]$NewDefaultAddress) { $NewProxyAddresses=@() $AddressFoundInArray=$False Write-Debug "Processing user $UserName" $ProxyAddresses=(Get-ADUser $UserName -Properties proxyaddresses).proxyaddresses foreach ($ProxyAddress in $ProxyAddresses) { #Only evaluate smtp addresses if ($ProxyAddress -match "^smtp:") { $ProxyAddressArr=$ProxyAddress.Split(":") If ($ProxyAddressArr[1] -eq $NewDefaultAddress) { Write-Debug "Address $NewDefaultAddress found, converting to default address" $NewProxyAddresses+=$proxyAddressArr[0].ToUpper()+":"+$ProxyAddressArr[1] $AddressFoundInArray=$True } else { Write-Debug "Converting $ProxyAddress to non-default address" $proxyAddressArr[0]=$proxyAddressArr[0].ToLower() $NewProxyAddresses+=$proxyAddressArr[0].ToLower()+":"+$ProxyAddressArr[1] } } else { $NewProxyAddresses+=$ProxyAddress } } if (!$AddressFoundInArray) { Write-Debug "Adding address $NewDefaultAddress" $NewProxyAddresses+="SMTP:$NewDefaultAddress" } Set-ADUser $UserName -Replace @{ProxyAddresses=$NewProxyAddresses} -EmailAddress $NewDefaultAddress }