簡體   English   中英

將 ProxyAddresses 添加到單獨的腳本

[英]Add ProxyAddresses to separate script

目標:Append 腳本添加三個不同的 SMTP 地址。

腳本: https://thesysadminchannel.com/how-to-create-o365-mailboxes-hybrid-exchange/

代碼片段:

Write-Host "Continuing will create the AD account and O365 Email." -ForegroundColor:Green
Write-Host
$Proceed = $null
$Proceed = Read-Host "Continue? (y/n)"

if ($Proceed -ieq 'y') {
      
    Write-Host "Creating the O365 mailbox and AD Account."
    New-RemoteMailbox -Name $fullname -FirstName $firstname -LastName $lastname -DisplayName 
   $fullname -SamAccountName $logonname -UserPrincipalName $logonname@$domain -PrimarySmtpAddress 
   $logonname@$domain -Password $password -OnPremisesOrganizationalUnit $OU -DomainController $Server
    Write-Host "Done..."
    Write-Host
    Write-Host
    Sleep 5


    Write-Host "Adding Properties to the new user account."
    Get-ADUser $logonname -Server $Server | Set-ADUser -Server $Server -Description $Description - 
    Office $Office -StreetAddress $StreetAddress -City $City -State $State -PostalCode $PostalCode - 
    Country $Country -Title $Title -Department $Department -Company $Company -Manager $Manager - 
    EmployeeID 
    $EmployeeID
    Write-Host "Done..."
    Write-Host
    Write-Host

    if ($MemberOf) {
        Write-Host "Adding Membership Groups to the new user account."
        Get-ADUser $logonname -Server $Server  | Add-ADPrincipalGroupMembership -Server $Server - 
    MemberOf $MemberOf
        Write-Host "Done..."
        Write-Host
        Write-Host
        }
    }  
     Get-PSSession | Remove-PSSession

我要添加的是這三個值:

SMTP:user@domain.com
smtp:user@domain.mail.onmicrosoft.com
smtp:user@domain.onmicrosoft.com

這與我想出的思路一致:

Write-Host "Adding Properties to the new user account."
    Get-ADUser $logonname -Server $Server | Set-ADUser -Server $Server -Description $Description     
    -Office $Office -StreetAddress $StreetAddress -City $City -State $State -PostalCode $PostalCode - 
    Country $Country -Title $Title -Department $Department -Company $Company -Manager $Manager - 
    EmployeeID $EmployeeID
    Write-Host "Done..."
    Write-Host
    Write-Host
    Write-Host “Setting up TCS E-mail Standard”
                $userinfo.ProxyAddresses = "SMTP:" + ($FirstInitial.Add(1)) +  ($userinfo.sn) + 
 "@DOMAIN.COM"
                #$userinfo.ProxyAddresses += "smtp:" + ($userinfo.givenname) + "." + ($userinfo.sn) + 
 "@domain.mail.onmicrosoft.com"
                $userinfo.ProxyAddresses += "smtp:" +  ($FirstInitial.Remove(1)) + ($userinfo.sn) + 
 "@domain.onmicrosoft.com"
                $userinfo.targetAddress = "SMTP:" +   ($userinfo.sAMAccountName)  + 
 "@domain.mail.onmicrosoft.com"
    Write-Host "Done..."
    Write-Host

然后我得到這個錯誤:

You cannot call a method on a null-valued expression.
At C:\Users\Temp\CreateStudentEmail.ps1:233 char:21
+ ...             $userinfo.ProxyAddresses = "SMTP:" + ($FirstInitial.Add(1 ...
+                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : InvalidOperation: (:) [], RuntimeException
+ FullyQualifiedErrorId : InvokeMethodOnNull

You cannot call a method on a null-valued expression.
At C:\Users\Temp\CreateStudentEmail.ps1:235 char:21
+ ...             $userinfo.ProxyAddresses += "smtp:" +  ($FirstInitial.Rem ...
+                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : InvalidOperation: (:) [], RuntimeException
+ FullyQualifiedErrorId : InvokeMethodOnNull

The property 'targetAddress' cannot be found on this object. Verify that the property exists and can                         
be set.
At C:\Users\Temp\CreateStudentEmail.ps1:236 char:21
+ ...             $userinfo.targetAddress = "SMTP:" +   ($userinfo.sAMAccou ...
+                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : InvalidOperation: (:) [], RuntimeException
+ FullyQualifiedErrorId : PropertyNotFound

只是想找到一種方法來合並代理地址部分,這樣我就不必擔心額外的步驟。

我從幾年前使用的另一個 PowerShell 中提取了代碼,然后對其進行了一些調整,但它確實將 SMTP 地址字段輸入到 AD 字符中。 它仍然會拋出錯誤。

這是您需要做的:

  set-Aduser $samaccountname -Add @{ proxyAddresses = "SMTP:user@domain.com","smtp:user@domain.mail.onmicrosoft.com","smtp:user@domain.onmicrosoft.com" }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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