Active Directory : E-Mail Alias über Powershell setzen

Auslesen der vorhanden E-Mail Aliase eines Users. SamAccountName muss natürlich duch einen echten ersetzt werden :-)
Get-AdUser -Identity 'SamAccountName' -Properties ProxyAddresses | select Name -ExpandProperty ProxyAddresses
Setzen eines zusätzlichen E-Mail Alias. SamAccountName muss natürlich duch einen echten ersetzt werden :-)
Set-ADUser -Identity 'SamAccountName' -add @{ProxyAddresses="smtp:alias1@domain,smtp:alias2@domain" -split ","}

Exchange Online / Office 365 : Mehrere Aliase einer Distribution Group zuweisen

$ParaSetDis = @{
    Identity = 'DISTRIBUTION-LIST-NAME'
    WhatIf = $true
}

Set-DistributionGroup @ParaSetDis -EmailAddresses @{Add=
'EMail-Address-Alias1',
'EMail-Address-Alias2',
'EMail-Address-Alias3'}

Exchange 2019 -> Exchange Online : Migration der kompletten Maildaten

Wir migrieren gerade mal wieder ein paar Server in Office 365, wir benutzen hierfür ein Tool von CodeTwo. Ich kann das nur jedem empfehlen der eine Schmerzfrei Migration haben möchte. Nachdem wir GSuite (IMAP) migiriert haben ist heute der Exchange dran. Hier hat die Software diesen Fehler geworfen.
The account does not have permission to impersonate the requested user
hmm ... klar wir hatten die Rolle nicht zugewiesen. Das kann man so erledigen. Ausführen in der Exchange Managment Shell
New-ManagementRoleAssignment -name:impersonationAssignmentName -Role:ApplicationImpersonation -User:UserForMigration
dann ist die Migration angelaufen.

Quelle:
https://docs.microsoft.com/en-us/exchange/client-developer/exchange-web-services/how-to-configure-impersonation

Office 365 : Benutzer kann in einer shared Mailbox keinen Ordner verschieben

Hatte heute das Problem das ein Benutzer in einem shared Postfach keinen Ordner verschieben konnte. Er hat immer diese Meldung erhalten.

o365-mailboxfolderpermission
Mit diesem Snippet hab ich das gefixt
$ParaFolderPermission = @{
    Identity = 'SHARED_MAILBOX@DOMAIN:\Calendar'
    AccessRights = 'Editor'
    SharingPermissionFlags = 'Delegate,CanViewPrivateItems'
    # set to $false if test work 
    WhatIf = $true
    User = 'USERNAME@DOMAIN'
}
Add-MailboxFolderPermission @ParaFolderPermission
Wenn WhatIf auf $true gesetzt ist, wird der Vorgang nur getestet aber nicht ausgeführt !
Auszug von Microsoft Docs
Die Option WhatIf weist den Befehl an, auf den Sie angewendet wird, aber nur, um die Objekte anzuzeigen, die von der Ausführung des Befehls betroffen wären, und welche Änderungen an diesen Objekten vorgenommen würden. Der Parameter ändert diese Objekte nicht wirklich. Wenn Sie die Option WhatIf verwenden, können Sie erkennen, ob die Änderungen, die an diesen Objekten vorgenommen werden, Ihren Erwartungen entsprechen, ohne dass diese Objekte geändert werden müssen.

Microsoft DOCS
https://docs.microsoft.com/de-de/exchange/troubleshoot/user-and-shared-mailboxes/private-items-not-display
https://docs.microsoft.com/de-de/exchange/whatif-confirm-and-validateonly-switches-exchange-2013-help

Exchange Online / Office 365 : Erstellen einer dynamischen Verteilerliste

Um uns die Arbeit etwas zu erleichtern haben wir unseren internen E-Mail Verteiler auf eine DynamicDistributionGroup in Exchange Online umgestellt. Das erspart uns die Arbeit neue Mitarbeiter immer manuell in den Verteiler aufzunehmen, außerdem reduziert es die Fehler (oder das vergessen die neuen User hinzuzufügen). Da wir in unserer Umgebung auch einige Funktionspostfächer haben mussten diese ausgeschlossen werden.

Erstmal habe ich eine Verteiler Gruppe erstellt in der ich die ganzen Funktionspostfächer aufnehme.
New-DistributionGroup -Name 'NODYNDIS'
Set-DistributionGroup -Identity 'NODYNDIS' -HiddenFromAddressListsEnabled $True
Mit einem ADD Befehl kann man neue Funktionspostfächer hinzufügen.
Add-DistributionGroupMember -Identity 'NODYNDIS' -Member 'user-email@domain'
Dann brauchen wir den DN der Gruppe für den Filter in der dynamischen Gruppe
Get-Group -Identity 'NODYNDIS' | Select-Object -ExpandProperty DistinguishedName

CN=NODYNDIS,OU=xxx,OU=xxx,DC=xxx,DC=xxx,DC=xxx
Dann kann man die dynamische Gruppe erstellen.
New-DynamicDistributionGroup -Name 'TESTVERTEILER' -RecipientFilter {((RecipientTypeDetails -eq 'UserMailbox') -and -not (MemberofGroup -eq 'CN=NODYNDIS,OU=xxx,OU=xxx,DC=xxx,DC=xxx,DC=xxx') -and -not (UserAccountControl -eq 'AccountDisabled, NormalAccount'))}
Kurz zur Erklärung der Filter :
(RecipientTypeDetails -eq 'UserMailbox')  : Es muss sich um ein Benutzer Postfach handeln
-and -not (MemberofGroup -eq 'CN=NODYNDIS,OU=xxx,OU=xxx,DC=xxx,DC=xxx,DC=xxx') : und nicht Mitglied dieser Gruppe
-and -not (UserAccountControl -eq 'AccountDisabled, NormalAccount') : User darf nicht deaktivert sein
Anzeigen aller Empfänger in dem dynamischen Verteiler
$mygroup = Get-DynamicDistributionGroup "TESTVERTEILER"
Get-Recipient -RecipientPreviewFilter $myGroup.RecipientFilter | Select Name,PrimarySmtpAddress

Infos :
Filterbare Eigenschaften für RecipientFilter
New-DynamicDistributionGroup
New-DistributionGroup
Set-DistributionGroup


Exchange Online / Office 365 : Connect to Exchange Online using Exchangev2 Module

Installieren des Modules :
Install-Module -Name ExchangeOnlineManagement
Jetzt kann man mal prüfen ob alles sauber installiert ist.
Verbindung zu Exchange Online aufbauen
$ParaConnectExchange = @{
   UserPrincipalName    = 'ADMIN-USER'
   ShowProgress         = $false
   ShowBanner           = $false
   EnableErrorReporting = $false
   UseMultithreading    = $true
   TrackPerformance     = $false
}
Connect-ExchangeOnline @ParaConnectExchange

Das ist der neue Weg, und wenn man MFA aktiviert hat erscheint jetzt auch die Abfrage.
“Das einzig sichere System müsste ausgeschaltet, in einem versiegelten und von Stahlbeton ummantelten Raum und von bewaffneten Schutztruppen umstellt sein.”
Gene Spafford (Sicherheitsexperte)