Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.
Kommentar: Automatically translated by Lango

Inhalt

1.

...

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

...

introduction

Setting up PowerShell is only necessary for environments if:

  • the archive system is connected to Exchange

  • the Outlook add-in is to be used

  • Migrations from/to Exchange are to be carried out

  • SharePoint is to be controlled via Shift

2. installation stanoc PowerShell script

The PowerHelper must be installed in <Domino program directory> in the subdirectory stanoc be copied:
https://stanoc.atlassian.net/l/c/vBF13fut

VoraussetzungPrerequisite: PowerShell 5.x (Version lässt sich per Befehlversion can be changed via command

Codeblock
$psversiontable 

in PowerShell herausfinden) oder neueror newer. (Ab From Windows Server 2016).

Ältere Server benötigen ein Update Older servers require an update ( https://www.microsoft.com/en-us/download/details.aspx?id=54616 - Achtung - es wird wahrscheinlich ein Reboot fällig)
Die Datei Attention - a reboot is probably due)
The file stanocPowerHelper.zip enthält ein PowerShell-Skript für den Zugriff auf Exchange Online bzw. contains a PowerShell script for accessing Exchange Online or on Premises.

Zur Vorbereitung müssen folgende Arbeiten ausgeführt werden (bitte entweder bei The following work must be carried out in preparation (please continue with either 3. Exchange Online oder or 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 or higher is also required for the Exchange Online Management module ( 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 or newer is required for SharePoint (see also https://pnp.github.io/powershell/articles/installation.html ) erforderlichis required.

Es empfiehlt sich die aktuell LTS - Version z.B. von We recommend the current LTS version, e.g. from https://learn.microsoft.com/de-de/powershell/scripting/install/installing-powershell-on-windows?view=powershell-7.4 zu verwenden to be used.

2.1

...

Enable/enforce TLS 1.2

...

To use secure TLS 1.2 Verbindungen genutzt werden, bitte folgenden Befehl in einer Administrator-PowerShell absetzenconnections, please issue the following command in an administrator PowerShell

Codeblock
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 startenIf the output looks like in the screenshot (options not set), please answer the query with "Y" and restart the server.

3. Exchange Online

...

and Entra ID

3.1

...

Installing the required modules

Please run the following once in the Administrator PowerShell to install the modules for Exchange Online, Microsoft Online und and Azure AD zu installieren:

Codeblock
[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

...

Store Exchange Online

...

access data

ACHTUNGATTENTION: Microsoft erlaubt die no longer allows Basic Auth seit since September/Oktober October 2022 nicht mehr. Daher bitte auch bei vorhandenen Installation folgendes durchführenIm Azure AD Portal anmelden. Therefore, please also carry out the following for existing installations

Sign in to the Azure AD portal

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

App -Registrierungen → Neue Registrierungregistrations → New registration

...

Name: “stanocPowerHelper”"stanocPowerHelper"

...

RegistrierenRegister

Anwendungs-Copy and save the application ID (Clientclient) kopieren und sichern (wird später benötigt)Manifest aufrufen und im Editor (ab ca. Zeile (required later)

Call up the manifest and in the editor (from approx. line 42) resourceAppId,id und type anpassen und speichern and type customize and save

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

...

API -BerechtigungenauthorizationsFolgende API-Berechtigungen müssen für Entra ID

zusätzlich ausgewählt werdenThe following API authorizations must also be selected for Entra ID:

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

Administratorzustimmung für den Tenant erteilenGrant administrator approval for the tenant

...

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

On the computer on which the PowerShell script is to be executed, create and save the certificate using stanocPowerHelper.ps1

Codeblock
.\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 Attention: The certificate creation under Windows Server 2012 R2 funktioniert nicht korrekt. Die Zertifikatserstellung muss daher auf einem anderen Server Betriebssystem does not work correctly. The certificate creation must therefore be executed on a different server operating system (Windows Server 2019 / Windows Server 2022) oder auf einer lokalen Clientinstallation des ‘stanoc PowerHelper Skript’ or on a local client installation of the 'stanoc PowerHelper script' (min . Windows 10) ausgeführt werden. Ansonsten kommt es bei der Verbindung zu folgendem Fehler. Otherwise, the following error will occur during the connection:

...

Zertifikat der App zuweisenAssign certificate to the app

Select and upload cert.pem auswählen und hochladen

...

Assign Entra ID Rollen roles (Globaler Leser Global Reader / 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 suchenYou can also define and assign a role group yourself.

Go up one level and switch to "Roles and administrators"

...

Search for "Exchange Administrator" role

...

3.3

...

Testing the connection

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

4.

...

exchange on

...

premises /

...

active directory

4.1

...

Important note on 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.

...

During the migration phase, a large number of transactions are executed on the Exchange database files. It is therefore important to provide sufficient disk space for storing the transaction logs of the database files. Ideally, these should be stored on a separate volume that can be enlarged if necessary. The size of the transaction logs can exceed the size of the database files.

Alternatively, you can also activate circulation logging for the mailbox databases during the migration.

4.2 Install Exchange Management PowerShell / Active Directory Management Tools

...

(migration server is a member of the AD domain with Exchange)

To do this, execute the following in the PowerShell of the Domino server:

Codeblock
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 If you only need the Active Directory Management Tools benötigt, ist man an dieser Stelle fertig, you are finished at this point.

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

Die Mount the Exchange -ISO Datei mounten und dann die ManagementTools installierenISO file and then install the management tools

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

(ab from Exchange 2019 CU 11 (oder evtl. bereits or possibly already CU 10):

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

Bitte kontrollieren und falls nicht vorhanden, die Please check and if not availablecopy the Microsoft.Exchange.ManagedLexRuntime.MPPGRuntime.dll vom Exchange-Server auf den aktuellen Rechner kopieren (Ziel- und Quellordner from the Exchange server to the current computer (target and source folder C:\Program Files\Microsoft\Exchange Server\V15\Bin ) Ansonsten kommt es bei der Ausführung zu folgendem FehlerOtherwise the following error will occur during execution:

...

View file
name2019-CU11 Microsoft.Exchange.ManagedLexRuntime.MPPGRuntime.dll

4.3

...

Set up Remote PowerShell

...

with Basic-Auth

...

(migration server is not a member server of the domain with Exchange)

Zusätzliche AnforderungAdditional requirement: Ports TCP 80,443 (5985/5986)

4.3.1

...

Client

Kontrolle aktuelle EinstellungCheck current setting

Codeblock
Get-Item wsman:\localhost\client\trustedhosts

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

AnsonstenIf there is an "*" there, this is already OK

Otherwise,

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

Basic Auth auf dem Client setzenSet basic auth on the client

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

4.3.2

...

Exchange

...

server

...

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

4.4

...

Set up Exchange on Premises ApplicationImpersonation

...

To do this, execute the following command in the Exchange Management PowerShell folgenden Befehl ausführen:

Codeblock
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 with the corresponding AD user who is to perform the migration

4.5

...

Adjust Exchange on Premises

...

limits

Codeblock
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

...

Store Exchange on Premises

...

access data

Then execute the stanocPowerHelper.ps1 mit dem Parameter -prepareCredentials ausführen um die Zugangsdaten für den Zugriff auf Exchange PowerShell zu hinterlegenonce with the parameter -prepareCredentials to store the credentials for accessing Exchange PowerShell:

Codeblock
.\stanocPowerHelper.ps1 -preprareCredentials

...

Diese werden dann AES verschlüsselt abgelegt und für die Verbindung zu Exchange vom Domino-Server aus verwendetThese are then stored in AES encrypted form and used for the connection to Exchange from the Domino server.

5

...

SharePoint Online

Es muss PnP PowerShell must be installed in PowerShell 7.2+ installiert werden: Dazu eine : To do this, start an administrative PowerShell 7.2+ (pwsh.exe) starten

Codeblock
Install-Module PnP.PowerShell -Scope AllUsers

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

Falls für Shift eine andere registrierte App genutzt werden soll als für SWAP, müssen die Credentials für diesen Fall separat gespeichert werden und der Pfad muss in der Shift-Ziel-Konfiguration absolut (ohne \ am Ende!) angegeben werdenFor SharePoint, the app must be registered in the same way as Exchange Online and also authenticated using a certificate.

If a different registered app is to be used for Shift than for SWAP, the credentials for this case must be saved separately and the path must be specified absolutely (without \ at the end!) in the Shift target configuration.

Codeblock
.\stanocPowerHelper.ps1 -prepareCredentials -CredentialPath "C:\Program Files\HCL\Domino\stanoc\stanocPowerHelperShift"

...

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

The following API authorizations must also be set (application with administrator approval)

  • SharePoint → Sites.FullControl.All

  • SharePoint → TermStore.ReadWrite.All

  • SharePoint → User.ReadWrite.All

    image-20240913-144454.png

Zum Testen kannFor testing

Codeblock
.\stanocPowerHelper.ps1 -ConnectPNP -PnpSiteURL "https://..""  -CredentialPath "C:\Program Files\HCL\Domino\stanoc\stanocPowerHelperShift"

verwendet werden.

Für die Nutzung per API (nicht PowerShell) wird auch die Applikation-ID und ein Secret benötigt.

6. Troubleshooting für die Ausführung

Falls es bei der Ausführung zu einem can be used.

The application ID and a secret are also required for use via API (not PowerShell).

6. troubleshooting for the execution

If an "is not digitally signed" Fehler kommt, bitte diesen Befehl ausführenerror occurs during execution, please execute this command:

Codeblock
Set-ExecutionPolicy -Scope LocalMachine -ExecutionPolicy bypass

...