[英]PowerShell: add new Aliases to AD Groups (proxyAddresses) based on the existing ones
[英]Powershell to Update AD proxyAddresses
我正在为 AD 用户尝试代理地址。 我假设,它不能正常工作的部分与-Add @{proxyAddresses="smtp:"+$_.alias+$proxydomain}
。
我检查了 AD 用户中的代理地址属性。 它的显示如下。
smtp:@domain.onmicrosoft.com
脚本:
$proxydomain = "@domain.onmicrosoft.com"
Get-ADUser -Filter {(emailaddress -like "*@contoso.com" -and Enabled -eq $true -and sAMAccountName -like "TYU*")} -SearchBase "OU=IT,DC=contoso,DC=local" -SearchScope Subtree -Properties * | foreach-object {
$alias=$_.mail.Split("@")[0]
if ($_.Proxyaddresses -match $_.alias+$proxydomain )
{
Write-Host "Result: ProxyAddresses value already exists for $($_.displayname); No action taken."
}
else
{
Set-ADUser -Identity $_.SamAccountName -Add @{proxyAddresses="smtp:"+$_.alias+$proxydomain}
Write-Host "Result: Added proxyAddresses value to Account"
}
}
您首先将主邮件地址的用户部分分配给变量$alias
:
$alias=$_.mail.Split("@")[0]
但是您在以下几行中引用了$_.alias
:
if ($_.Proxyaddresses -match $_.alias+$proxydomain )
这是行不通的,因为$_.alias
解析为您当前正在处理的 ADUser object 上名为alias
的属性的值 - 由于不存在名称为alias
的 AD 用户属性, $_.alias
的计算结果为$null
。
更改代码以评估变量,它会起作用:
$proxydomain = "@domain.onmicrosoft.com"
Get-ADUser -Filter { (emailaddress -like "*@contoso.com" -and Enabled -eq $true -and sAMAccountName -like "TYU*") } -SearchBase "OU=IT,DC=contoso,DC=local" -SearchScope Subtree -Properties * | foreach-object {
# grab user alias
$alias = $_.mail.Split("@")[0]
# construct the new address up front and assign it to a single variable
$newProxyAddress = "$alias$proxydomain"
# -match is a regex operator, escape appropriately
if ($_.ProxyAddresses -match [regex]::Escape($newProxyAddress)) {
Write-Host "Result: ProxyAddresses value already exists for $($_.displayname); No action taken."
}
else {
# Now we only have a single variable that needs to be expanded in the string
Set-ADUser -Identity $_.SamAccountName -Add @{proxyAddresses = "smtp:$newProxyAddress"}
Write-Host "Result: Added proxyAddresses value to Account"
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.