Beiträge mit Tag ‘exchange’

Automapping (Exchange) deaktivieren

Unter Umständen möchte man das Automapping für einen einzelnen Exchange Nutzer deaktivieren, damit man ein zusätzliches Postfach als Eigenständiges Postfach einrichten kann und dies nicht zweimal im Outlook erscheint.

Automapping ist die Funktion, die Postfächer automatisch in das Outlook einbindet auf die man Vollzugriff-Rechte hat.

Um bequem die Einstellung vorzunehmen und nicht die Powershell zu bemühen, muss man zuerst im Active Directory-Benutzer und -Computer Manager die erweiterten Funktionen aktivieren. Dies geht unter dem Menüpunkt „Ansicht“.
Im Anschluss muss man sich zu dem Postfach in der OU „durchhangeln“ bei diesem man das Automapping für den einen Nutzer ausschalten möchte.

Beispiel:

Benutzer Knut hat Vollzugriffsrechte auf das Postfach „Redaktion“.

Also „hangel“ ich mich im AD zu der OU in dem das Postfach „Redaktion“ enthalten ist und gehen in die Eigenschaften. In der Registerkarte Attribute-Editor muss ich den Wert msExchDelegateListLink suchen. Dort sucht an sich in der Auflistung den Nutzer (im obigen Beispiel „Knut“) heraus und entfernt diesen. Anschließend kann man das Dialogfenster schließen.

Im Outlook des Nutzers (Im Beispiel Knut) sollte das Postfach nicht mehr automatisch erscheinen und man kann dies als weiteres Exchange Postfach konfigurieren. 

Dies funktioniert meiner Erfahrung nach am besten im Online Modus, also den Outlook Cache im Outlook ausschalten!

Exchange PowerShell Snippets

Hier möchte ich von mir häufig benutzte Exchange PowerShell Befehle notieren.

Weiterleitungen ermitteln

Get-Mailbox -ResultSize unlimited | Where-Object {$_.ForwardingSMTPAddress -ne $null} | Select-Object Name,ForwardingSMTPAddress

Verteilergruppen ermitteln und abspeichern

write-output “” > C:\temp\outputDGmembers.txt
get-distributiongroup | Sort -Property DisplayName | foreach {
$name = $_.displayname
$mailadresse = $_.PrimarySmtpAddress
$output = ‘Group Name: ‘ + $Name + ' ' + $mailadresse
write-output $output >> C:\temp\outputDGmembers.txt
Get-DistributionGroupMember $name | Sort -Property DisplayName | Select DisplayName, Alias, Department >> C:\temp\outputDGmembers.txt
write-output “” “” >> C:\temp\outputDGmembers.txt
}

Senden-Als Berechtigungen ermitteln (kann länger dauern)

Get-Mailbox | Get-ADPermission | where {($_.ExtendedRights -like '*Send*') -and -not ($_.User -like "NT-AUTORITÄT\SELBST")}  | Format-Table -Auto Identity,User,Deny,ExtendedRights

Senden im Auftrag ermitteln (kann länger dauern)

Get-Mailbox | Where-Object {$_.GrantSendOnBehalfTo -ne $null} | fl DisplayName,Alias,Identity,GrantSendOnBehalfTo

Vollzugriff auf Postfach ermitteln (alle)

$nbdomain = "NetBIOS-DOMAIN"
Get-Mailbox | Get-mailboxPermission | Where-Object { ($_.accessRights -like "*fullaccess*") -and -not ($_.User -like "nt-autorität\selbst") -and -not ($_.User -like "$nbdomain\Domänen-Admins")-and -not ($_.User -like "$nbdomain\Organisations-Admins") -and -not ($_.User -like "$nbdomain\Organization Management") -and -not ($_.User -like "$nbdomain\Administrator") -and -not ($_.User -like "$nbdomain\Exchange Servers") -and -not ($_.User -like "$nbdomain\Exchange Trusted Subsystem") -and -not ($_.User -like "nt-autorität\system")} | ft -AutoSize

Berechtigung eines einzelnen Postfachs auslesen

$user = "k.mustermann"
get-mailbox -identity $user| Get-MailboxPermission | ?{($_.IsInherited -eq $False) -and -not ($_.User -match "SELBST")} | ft $user,User,AccessRights -AutoSize

Mailbox Exportieren vorbereiten. Dieser Nutzer hat nach dem Neustart der Powershell das Recht Postfächer zu ex- bzw. importieren.

New-ManagementRoleAssignment -Role "Mailbox Import Export" -User <BENUTZERAME>

Postfach exportieren

New-MailboxExportRequest -Mailbox <username> -FilePath \\servername\verzeichnis\username.pst -BadItemLimit 100

Postfach importieren

New-MailboxImportRequest -Mailbox <username> -FilePath \\servername\verzeichnis\username.pst -BadItemLimit 100

Mailbox Export überwachen

Get-MailboxExportRequest
Get-MailboxExportRequest |Sort-Object -Property Status | ft FilePath, Status

Bulk Export von Postfächern

$allmailboxes = Get-Mailbox
$allmailboxes |% {$_| New-MailboxExportRequest -FilePath "\\localhost\c$\$($_.Alias).pst" -BadItemLimit 100}

Mailqueue (ausführlich) ausgeben. (Info-Link)

Get-Queue | Format-List

Mailqueue erneut abarbeiten (Info-Link)

Retry-Queue 

Maillog durchsuchen. Datum ist amerikanisch! (Info-Link)

Get-MessageTrackingLog -ResultSize Unlimited -Start "5/20/2021 8:00AM" -End "5/20/2021 11:00PM" 
Get-MessageTrackingLog -ResultSize Unlimited -Start "5/20/2021 8:00AM" -End "5/20/2021 11:00PM" | Format-List

Nachrichtentracking, wurde Mail an den Connector übermittelt?

Get-MessageTrackingLog -EventId Send -ResultSize Unlimited -Sender [sender@mail] -Recipients [empfänger@mail] | Format-List Time*,MessageSubject,SourceCo*,Send*,Recipient*