Zum Inhalt springen

Exchange Server 2019: Postfächer mit PowerShell erstellen

Symbolbild E-Mail

Postfächer mit PowerShell erstellen und Spracheinstellungen, zusätzliche Mailadresse, Adressliste etc. konfigurieren.

Mit dem folgenden PowerShell-Script werden Active Directory Benutzer einer Organisationseinheit („OU=Benutzer,DC=domain,DC=at“) abgefragt und wenn noch nicht vorhanden, Benutzer-Postfächer erstellt. Durch die „Set-MailboxRegionalConfiguration…“ werden die Spracheinstellungen konfiguriert. Der Benutzer wird dann nicht beim ersten OWA-Login damit belästigt.

Alle anderen Einstellungen (POP3 deaktivieren etc.) sind mit # auskommentiert und können je nach Bedarf aktiviert werden. Auf noch notwendige Änderungen wird in der jeweiligen Überschrift hingewiesen.

# Servername des Domänencontrollers setzen!
$dc = dc.domain.at

# Benutzer im AD suchen: Suchpfad setzen!
$adSearchBase = "OU=Benutzer,DC=domain,DC=at"

# Exchange Management Shell einbinden
$CallEMS = ". '$env:ExchangeInstallPath\bin\RemoteExchange.ps1'; Connect-ExchangeServer -auto -ClientApplication:ManagementShell "
Invoke-Expression $CallEMS

# Benutzerkonten aus AD abfragen
$adUsers = Get-ADUser -Filter "Mail -like '*@domain.at'" -SearchBase $adSearchBase -Properties samaccountname,description,mail -Server $dc

# Benutzerkonten prüfen
foreach($user in $adUsers){
    if(Get-Mailbox $user.samaccountname -ErrorAction SilentlyContinue){
        # Postfach existiert
        # Write-Host "VORHANDEN: $user.samaccountname"
    } else {

        # Postfach erstellen
        Write-Host "WIRD ERSTELLT: $user.samaccountname"
        Get-User $user.samaccountname | Enable-Mailbox
        Start-Sleep(15); # Workaround: Postfacherstellung abwarten

        # Spracheinstellungen für Outlook und OWA
        Set-MailboxRegionalConfiguration -Identity $user.samaccountname -Language de-AT -LocalizeDefaultFolderName:$true -DateFormat "dd.MM.yyyy" -TimeFormat "HH:mm" -TimeZone "W. Europe Standard Time"

        # POP3 deaktivieren
        # Set-CASMailbox -Identity $user.samaccountname -PopEnabled $false

        # Benutzer zu einer AD-Gruppe hinzufügen: "AD-Gruppenname" setzen!
        # Add-ADGroupMember "AD-Gruppenname" -Members $user.samaccountname -Server $dc

        # Adressliste auf Organisation einschränken: "Organisation ABP" setzen!
        # Set-Mailbox $user.SamAccountName -AddressBookPolicy "Organisation ABP"

        # Benutzer nicht in Adressliste anzeigen
        # Set-ADUser -Identity $user.samaccountname -Replace @{msExchHideFromAddressLists='TRUE'} -Server $dc

        # Zusätzliche Mailadresse anderer Domain hinzufügen: "@domain.at","@domain2.at" setzen!
        # $mail2 = $user.mail -replace "@domain.at","@domain2.at"
        # Set-ADUser -Identity $user.samaccountname -Add @{proxyAddresses="smtp:$mail2"} -Server $dc     

    }
}Code-Sprache: PHP (php)

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

16 + 3 =