Zugriff aus freigegebenes Postfach über Benutzer-Gruppe steuern
Problembeschreibung
Microsoft Exchange lässt eine Steuerung des Zugriffs auf ein freigegebenes Postfach über Benutzergruppen nicht zu. In der Grafischen-Umgebung (ECP) ist lediglich das hinzufügen von Benutzern für den Zugriff auf ein freigegebenes Postfach möglich. Verwendet man nun zur Anlage eines neues Benutzers die Kopie eines vorhandenen Benutzers wäre es doch von Vorteil wenn der Zugriff auf freigegebene Postfächer über die Mitgliedschaft in einer Gruppe mit kopiert werden könnten.
Lösungsansatz
Über die PowerShell ist es möglich auch Benutzergruppen Zugriff auf ein freigegebenes Postfach zu geben. Damit wäre der erste Schritt für den Zugriff erledigt, leider funktioniert danach das Auto-Mapping der freigegebenen Postfächer nicht, da hierzu das AD-Attribute „msExchDelegateListLink“ mit den entsprechenden Mitglieder der Gruppe gefüllt werden muss. Um das Ad-Attribute nun mit den entsprechenden Informationen zu füllen habe ich ein PowerShell-Script* erstellt. Dieses kann nun nach Änderungen von Hand oder per Aufgabenplanung (z.B. alle 15 Minuten) gestartet werden.
Einrichtung
Zunächst müssen die Gruppen für die Postfächer erstellt werden, hier nun Beispielhaft für ein Info- und ein Support-Postfach.
New-ADGroup Mailbox_Info_Vollzugriff
New-ADGroup Mailbox_Support_Vollzugriff
Den erstellten Gruppen werden dann im zweiten Schritt die Berechtigungen auf die Postfächer erteilt. Wichtig ist hierbei das diese in der Exchange-Shell ausgeführt werden. Setzen des Vollzugriffs:
Add-MailboxPermission info -User „Mailbox_Info_Vollzugriff“ -AccessRights Full
Add-MailboxPermission support -User „Mailbox_Support_Vollzugriff“ -AccessRights Full
Setzen der Berechtigung „Senden als“:
Add-ADPermission info -User „Mailbox_Info_Vollzugriff“ -AccessRights ExtendedRight -ExtendedRights „Send As“
Add-ADPermission support -User „Mailbox_Support_Vollzugriff“ -AccessRights ExtendedRight -ExtendedRights „Send As“
Nun sind die Vorarbeiten abgeschlossen und die Gruppen können mit Benutzern befüllt werden. Wenn dies erledigt ist das PowerShell-Script* ausführen um das Automapping zu „aktivieren“.
Verwendete Scripts
Mailbox_Zugriff_Automapping.ps1
Mit diesem Script wird das Automapping für die User der gruppe aktiviert, indem die User in das Attribut „msExchDelegateListLink“ übernommen werden.
Mailbox_Zugriff_Setzen.ps1
Dieses Script dient dazu den Gruppen Vollzugriff auf ein Postfach zu geben, dies ist über die grafische Oberfläche nicht möglich, da nur Benutzer zur Auswahl stehen.
# Mailbox_Zugriff_Automapping.ps1
# Neue Postfächer in Form "samacountname", "Mailbox-Gruppe" hinzufügen
$array = @( @("info", "Mailbox_Info_Vollzugriff"), `
@("support", "Mailbox_Support_Vollzugriff") )
for ($i=0; $i -lt $array.length; $i++){
$postfachname = $array[$i][0]
$gruppenname = $array[$i][1]
# Mitglieder der Gruppe auslesen
$user = Get-ADGroupMember $gruppenname
# Inhalt des Attributs löschen
Set-ADUser $postfachname -clear msExchDelegateListLink
foreach($users in $user){
# Alle Mitglieder in das Attribut übernehmen
Set-ADUser $postfachname -Add @{msExchDelegateListLink=$User.distinguishedName}
}}
# Mailbox_Zugriff_Automapping.ps1
# Exchange Management Shell einbinden
$CallEMS = ". '$env:ExchangeInstallPath\bin\RemoteExchange.ps1'; Connect-ExchangeServer -auto -ClientApplication:ManagementShell "
Invoke-Expression $CallEMS
Add-MailboxPermission Info -User "Mailbox_Info_Vollzugriff" -AccessRights Full
Add-ADPermission Info -User "Mailbox_Info_Vollzugriff" -AccessRights ExtendedRight -ExtendedRights "Send As"
Add-MailboxPermission Support -User "Mailbox_Support_Vollzugriff" -AccessRights Full
Add-ADPermission Support -User "Mailbox_Support_Vollzugriff" -AccessRights ExtendedRight -ExtendedRights "Send As"
Einrichtung Aufgabenplanung
Mithilfe der Aufgabenplanung lässt sich das PowerShell-Script in bestimmten Abständen durchführen. Hierdurch reicht die Pflege der Gruppe aus und das Automapping erfolgt automatisch. Die benötigten Einstellungen für die Aktion wären hierbei:
Aktion Programm starten mit folgenden Einstellungen: Programm/Script:
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
Argument hinzufügen:
-command „C:\Scripts\Mailbox_Zugriff_Automapping.ps1“
Ich hoffe das beschriebene Verfahren ist für den ein oder anderen Nützlich. 🙂
IT-Fanatic
Posted in Allgemein, Exchange Server and tagged Active-Directory, Exchange, powershell, Scripting, shared-mailboxwith comments disabled.
Verwenden der Powershell zum erstellen eines formatierten Auto-Replays bei einer shared-Mailbox
Die Aufgabe bestand darin bei einer shared-Mailbox eine automatische Antwort zu generieren. Bei der Antwort handelte es sich um eine Bestätigung des Rechnungseingangs.
Hier der zu verwendende Text:
„Sehr geehrte Damen und Herren, vielen Dank für Ihre Rechnung.
Bitte sehen Sie davon ab, diese auch in Papierform an uns zu senden.
Vielen Dank für Ihren aktiven Beitrag zum Umweltschutz.“
Um den Text in den Powershell-Befehl einlesen zu können verwenden wir eine einfache Textdatei. Bei der Textdatei ist auf die Kodierung beim speichern zu achten, damit die Umlaute im Text auch richtig dargestellt werden. Ich verwende hierbei Notepad++, da sich hier die Kodierung angeben lässt in diesem Fall UTF-8-BOM.
Für die restliche Formatierung , können wir HTML-Tags verwenden.
Da in unserem Text lediglich Umbrüche vorkommen, lässt sich dies mit einem einfachen <br> an den Satzenden bewerkstelligen.
Nun zu den Befehlen in der Exchange-Powershell:
Zunächst lesen wir den Text in eine Varialbel:
$outMessage = Get-Content „Dateiname.txt“
Danach setzen wir die automatische Antwort mit:
Set-MailboxAutoReplyConfiguration -Identity <Postfach-Alias>
-AutoReplyState Enabled –ExternalMessage $outMessage
-ExternalAudience ‚All‘
Damit ist die Nachricht konfiguriert und wir automatisch an alle externen Sender versendet. Möchte man die automatische Antwort wieder deaktivieren verwendet man folgenden Befehl:
Set-MailboxAutoReplyConfiguration -Identity <Postfach-Alias>
-AutoReplyState Disabled
Ich hoffe dies ist für den ein oder anderen eine nützliche Information.
Link zur Microsoft-Dokumentation:
Set-MailboxAutoReplyConfiguration
Posted in Exchange Server and tagged auto-replay, exchange powershell, oof, powershell, shared-mailboxwith comments disabled.