Zum Ende der Metadaten springen
Zum Anfang der Metadaten

Sie zeigen eine alte Version dieser Seite an. Zeigen Sie die aktuelle Version an.

Unterschiede anzeigen Seitenhistorie anzeigen

« Vorherige Version anzeigen Version 33 Nächste Version anzeigen »

1. Einleitung

Das Einrichten der PowerShell ist nur für Umgebungen notwendig wenn:

  • das Archivsystem an Exchange angebunden wird

  • das Outlook-Addin genutzt werden soll

  • Migrationen von/nach Exchange durchgeführt werden soll

  • SharePoint per Shift angesteuert werden soll

2. Installation stanoc PowerShell Skript

Der PowerHelper muss in <Domino Programmverzeichnis> in das Unterverzeichnis stanoc kopiert werden:
https://stanoc.atlassian.net/l/c/vBF13fut

Voraussetzung: PowerShell 5.x (Version lässt sich per Befehl

$psversiontable 

in PowerShell herausfinden) oder neuer. (Ab Windows Server 2016).

Ältere Server benötigen ein Update ( https://www.microsoft.com/en-us/download/details.aspx?id=54616 - Achtung - es wird wahrscheinlich ein Reboot fällig)
Die Datei stanocPowerHelper.zip enthält ein PowerShell-Skript für den Zugriff auf Exchange Online bzw. on Premises.

Zur Vorbereitung müssen folgende Arbeiten ausgeführt werden (bitte entweder bei 3. Exchange Online oder 4. Exchange on Premises weitermachen)

Für das Exchange Online Management Modul wird auch noch Microsoft .NET Framework 4.7.1 oder höher benötigt ( https://learn.microsoft.com/en-us/powershell/exchange/exchange-online-powershell-v2?view=exchange-ps#windows )

Für SharePoint ist PowerShell 7.2 oder neuer (siehe auch https://pnp.github.io/powershell/articles/installation.html ) erforderlich.

Es empfiehlt sich die aktuell LTS - Version z.B. von https://learn.microsoft.com/de-de/powershell/scripting/install/installing-powershell-on-windows?view=powershell-7.4 zu verwenden.

2.1. TLS 1.2 aktivieren/erzwingen

Damit sichere TLS 1.2 Verbindungen genutzt werden, bitte folgenden Befehl in einer Administrator-PowerShell absetzen

cd <Domino Programmverzeichnis>\stanoc
.\stanocPowerHelper -ConfigureTLS

Falls die Ausgabe wie im Screenshot aussieht (Optionen nicht gesetzt), bitte die Abfrage mit “Y” beantworten und den Server neu starten.

3. Exchange Online und Entra ID

3.1. Benötigte Module installieren

Bitte einmalig folgendes in der Administrator-PowerShell ausführen, um die Module für Exchange Online, Microsoft Online und Azure AD zu installieren:

[Net.ServicePointManager]::SecurityProtocol=[Net.SecurityProtocolType]::Tls12; Install-Module ExchangeOnlineManagement,MSOnline,AzureAD
# Optional: Wenn Entra-ID verwendet werden soll:
[Net.ServicePointManager]::SecurityProtocol=[Net.SecurityProtocolType]::Tls12; Install-Module -Name Microsoft.Graph.Entra -Repository PSGallery -allowprerelease

3.2. Exchange Online Zugangsdaten hinterlegen

ACHTUNG: Microsoft erlaubt die Basic Auth seit September/Oktober 2022 nicht mehr. Daher bitte auch bei vorhandenen Installation folgendes durchführen

Im Azure AD Portal anmelden

https://aad.portal.azure.com/

App-Registrierungen → Neue Registrierung

Name: “stanocPowerHelper”

→ Registrieren

Anwendungs-ID (Client) kopieren und sichern (wird später benötigt)

Manifest aufrufen und im Editor (ab ca. Zeile 42) resourceAppId,id und type anpassen und speichern

"requiredResourceAccess": [
   {
      "resourceAppId": "00000002-0000-0ff1-ce00-000000000000",
      "resourceAccess": [
         {
            "id": "dc50a0fb-09a3-484d-be87-e023b12c6440",
            "type": "Role"
         }
      ]
   }
],

API-Berechtigungen

Folgende API-Berechtigungen müssen für Entra ID zusätzlich ausgewählt werden:

Contacts.ReadWrite
Directory.ReadWriteAll
Group.ReadWriteAll
User.ReadWriteAll

Administratorzustimmung für den Tenant erteilen

Auf dem Rechner, auf dem das PowerShell-Skript ausgeführt werden soll, per stanocPowerHelper.ps1 das Zertifikat erzeugen und sichern

.\stanocPowerHelper.ps1 -createPFX -AppID "AppID aus der oben angelegten App einfügen" -passphrase "Passphrase zum Schützen des PFX-Files" -Organization "firma.onmicrosoft.com"

Achtung: Die Zertifikatserstellung unter Windows Server 2012 R2 funktioniert nicht korrekt. Die Zertifikatserstellung muss daher auf einem anderen Server Betriebssystem (Windows Server 2019 / Windows Server 2022) oder auf einer lokalen Clientinstallation des ‘stanoc PowerHelper Skript’ (min . Windows 10) ausgeführt werden. Ansonsten kommt es bei der Verbindung zu folgendem Fehler:

image-20240207-155547.png

→ Zertifikat der App zuweisen

cert.pem auswählen und hochladen

Entra ID Rollen (Globaler Leser / Exchange Administrator) zuweisen

→ Man kann auch selbst eine Rollengruppe definieren und diese zuweisen.

Eine Ebene höher wechseln und auf “Rollen und Administratoren” wechseln

“Exchange-Administrator” Rolle suchen

3.3. Testen der Verbindung

.\stanocPowerHelper.ps1 -ReadAllMailBoxproperties -domain Ihre-Domäne -outputfile D:\stanoc\TEMP\test.txt

4. Exchange on Premises / Active Directory

4.1. Wichtiger Hinweis zu Exchange on Premises

Während der Migrationsphase werden sehr viele Transaktionen auf die Exchange Datenbankdateien ausgeführt. Daher ist es wichtig, ausreichend viel Speicherplatz für die Speicherung der Transaktionsprokotolle der Datenbankdateien vorzuhalten. Idealerweise sollten diese auf einem separaten Volume liegen, das bei Bedarf vergrößert werden kann. Die Größe der Transaktionsprotokolle kann die Größe der Datenbankdateien überschreiten.

Alternativ kann man auch die Umlaufprotokollierung für die Mailboxdatenbanken während der Migration aktivieren.

4.2. Exchange Management PowerShell / Active Directory Management Tools installieren (Migrationsserver ist Member der AD-Domäne mit Exchange)

Dazu in der PowerShell des Domino-Servers folgendes ausführen:

Enable-WindowsOptionalFeature -Online -FeatureName IIS-ManagementScriptingTools,IIS-ManagementScriptingTools,IIS-IIS6ManagementCompatibility,IIS-LegacySnapIn,IIS-ManagementConsole,IIS-Metabase,IIS-WebServerManagementTools,IIS-WebServerRole
Add-WindowsFeature -name RSAT-AD-AdminCenter,RSAT-ADDS,RSAT-ADDS-Tools,RSAT-AD-PowerShell,RSAT-ADLDS,RSAT-AD-Tools

Falls man nur die Active Directory Management Tools benötigt, ist man an dieser Stelle fertig.

Visual Studio C++ 2012 Redistributable installieren (Quelle https://download.microsoft.com/download/1/6/B/16B06F60-3B20-4FF2-B699-5E9B7962F9AE/VSU_4/vcredist_x64.exe )
Falls .Net 4.8 noch nicht installiert ist, bitte installieren (Quelle: https://go.microsoft.com/fwlink/?linkid=2088631 )

Die Exchange-ISO Datei mounten und dann die ManagementTools installieren

LAUFWERKSBUCHSTABE_EXCHANGE_ISO:\setup.exe /role:managementtools /IAcceptExchangeServerLicenseTerms 

(ab Exchange 2019 CU 11 (oder evtl. bereits CU 10):

LAUFWERKSBUCHSTABE_EXCHANGE_ISO:\setup.exe /role:managementtools /IAcceptExchangeServerLicenseTerms_DiagnosticDataOFF 

Bitte kontrollieren und falls nicht vorhanden, die Microsoft.Exchange.ManagedLexRuntime.MPPGRuntime.dll vom Exchange-Server auf den aktuellen Rechner kopieren (Ziel- und Quellordner C:\Program Files\Microsoft\Exchange Server\V15\Bin ) Ansonsten kommt es bei der Ausführung zu folgendem Fehler:

4.3. Remote PowerShell mit Basic-Auth einrichten (Migrationsserver ist kein Memberserver der Domäne mit Exchange)

Zusätzliche Anforderung: Ports TCP 5985

4.3.1. Client

Kontrolle aktuelle Einstellung

Get-Item wsman:\localhost\client\trustedhosts

Wenn dort ein “*” steht, ist das bereits in Ordnung

Ansonsten,

Set-Item wsman:\localhost\client\trustedhosts -Value "Zielserver-IP"

Basic Auth auf dem Client setzen

winrm set winrm/config/client/auth @{Basic="true"}

4.3.2. Exchange-Server

Enable-PSRemoting -Force
Set-PowerShellVirtualDirectory -Identity "PowerShell (Default Web Site)" -BasicAuthentication $true
iisreset

4.4. Exchange on Premises ApplicationImpersonation einrichten

Dazu in der Exchange Management PowerShell folgenden Befehl ausführen:

New-ManagementRoleAssignment -name:impersonationAssignmentName -Role:ApplicationImpersonation -User:adminstanoc@ad.kunde.de

adminstanoc@ad.kunde.de durch den entsprechenden AD-User ersetzen, der die Migration durchführen soll

4.5. Exchange on Premises Limits anpassen

Get-Mailbox | Set-Mailbox -MaxSendSize 150MB -MaxReceiveSize 150MB
Get-MailboxPlan | Set-MailboxPlan -MaxSendSize 150MB -MaxReceiveSize 150MB

New-ThrottlingPolicy Migrationpolicy
Set-ThrottlingPolicy Migrationpolicy -RCAMaxConcurrency Unlimited -EWSMaxConcurrency Unlimited -EWSMaxSubscriptions Unlimited -CPAMaxConcurrency Unlimited -EwsCutoffBalance Unlimited -EwsMaxBurst Unlimited -EwsRechargeRate Unlimited
Get-Mailbox | Set-Mailbox -ThrottlingPolicy Migrationpolicy

4.6. Exchange on Premises Zugangsdaten hinterlegen

Anschließend einmalig die stanocPowerHelper.ps1 mit dem Parameter -prepareCredentials ausführen um die Zugangsdaten für den Zugriff auf Exchange PowerShell zu hinterlegen:

.\stanocPowerHelper.ps1 -preprareCredentials

Diese werden dann AES verschlüsselt abgelegt und für die Verbindung zu Exchange vom Domino-Server aus verwendet.

5. SharePoint Online

Es muss PnP PowerShell in PowerShell 7.2+ installiert werden: Dazu eine administrative PowerShell 7.2+ (pwsh.exe) starten

Install-Module PnP.PowerShell -Scope AllUsers

Für SharePoint muss die App analog zu Exchange Online registriert werden und auch per Zertifikat authentifiziert werden.

Es müssen zusätzlich die folgenden API-Berechtigungen gesetzt sein (Anwendung mit Administratorzustimmung)

  • SharePoint → Sites.FullControl.All

  • SharePoint → TermStore.ReadWrite.All

  • SharePoint → User.ReadWrite.All

    image-20240913-144454.png

6. Troubleshooting für die Ausführung

Falls es bei der Ausführung zu einem "is not digitally signed" Fehler kommt, bitte diesen Befehl ausführen:

Set-ExecutionPolicy -Scope LocalMachine -ExecutionPolicy bypass

  • Keine Stichwörter