簡體   English   中英

Powershell 更新 AD proxyAddresses

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM