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)