Hinweis: Für die PowerShell-Integration ist ein ShareGate Migrate Pro- oder Enterprise-Abonnement erforderlich. Sie ist im Essentials-Plan nicht verfügbar.
Dieser Artikel gilt ausschließlich für die PowerShell-Integration von ShareGate Migrate.
Mit der reinen Anwendungsauthentifizierung können Sie SharePoint- und Teams-Migrationen über PowerShell ausführen, ohne dass ein Benutzerkonto angemeldet sein muss. Anstelle von Benutzeranmeldeinformationen authentifiziert sich ShareGate Migrate über eine Azure-App-Registrierung.
Während der Einrichtung erstellen Sie eine App-Registrierung, laden einen Zertifikatnachweis hoch und erteilen die erforderlichen API-Berechtigungen.
Anschließend verwenden Sie die Application (client) ID und das Zertifikat, um sich über PowerShell zu authentifizieren.
Bevor Sie beginnen
ShareGate Migrate Pro- oder Enterprise-Abonnement
Für die Erstellung der App-Registrierung und die Erteilung der Administratorzustimmung ist Zugriff als Globaler Administrator im Microsoft 365-Mandanten erforderlich
App-Registrierung einrichten
Führen Sie dies in jedem Mandanten durch, von oder zu dem Sie migrieren.
Wiederholen Sie bei einer Single-Tenant-App (die nur innerhalb eines einzelnen Mandanten verwendet wird) die vollständige Einrichtung für jeden Mandanten.
Führen Sie bei einer Multi-Tenant-App (bei der eine einzige Registrierung mandantenübergreifend wiederverwendet wird) die Schritte in Ihrem Basismandanten aus und erteilen Sie anschließend die Administratorzustimmung in jedem weiteren Mandanten.
Schritt 1: Zertifikat generieren
ShareGate verwendet ein Zertifikat, um sich als Ihre App zu authentifizieren. Führen Sie das folgende PowerShell-Skript aus, um ein selbstsigniertes Zertifikat in Ihrem lokalen Benutzerspeicher zu generieren und auf Ihren Desktop zu exportieren.
# Generate a self-signed certificate in your local user store
$certName = "AzureAppAuthCert"
$cert = New-SelfSignedCertificate -Subject "CN=$certName" -CertStoreLocation "Cert:\CurrentUser\My" -KeyExportPolicy Exportable -KeySpec Signature -KeyLength 2048 -KeyAlgorithm RSA -HashAlgorithm SHA256
# Export the public key (.cer) - upload this to Azure in Step 3
Export-Certificate -Cert $cert -FilePath "$home\Desktop\$certName.cer"
# Export the private key as a .pfx - required if connecting via Option B
$pfxPassword = ConvertTo-SecureString -String "choose-a-strong-password" -Force -AsPlainText
Export-PfxCertificate -Cert $cert -FilePath "$home\Desktop\$certName.pfx" -Password $pfxPassword
# Copy this value for use with New-AzureApplication
Write-Host "Thumbprint: $($cert.Thumbprint)"
Beide Dateien werden auf Ihrem Desktop gespeichert. Laden Sie die .cer-Datei in Schritt 3 zu Azure hoch. Wenn Sie über Option B eine Verbindung herstellen möchten, benötigen Sie außerdem die .pfx-Datei.
Notieren Sie sich den in der Konsole ausgegebenen Thumbprint. Sie benötigen ihn zusammen mit New-AzureApplication im Schritt „Verbinden".
Schritt 2: Die App in Microsoft Entra ID registrieren
Melden Sie sich als Globaler Administrator beim Microsoft Entra admin center an.
Gehen Sie zu Entra ID > App registrations > New registration.
Geben Sie der App einen Namen (zum Beispiel ShareGate Migration).
Wählen Sie unter Supported account types für eine Single-Tenant-App My organization only oder für eine mandantenübergreifend verwendete Multi-Tenant-App Multiple Entra ID tenants.
Lassen Sie Redirect URI leer.
Klicken Sie auf Register.
Kopieren Sie auf der Seite Overview die Application (client) ID. Sie benötigen sie zusammen mit
New-AzureApplication.
Schritt 3: Zertifikat hochladen
Gehen Sie in Ihrer App-Registrierung zu Certificates & secrets > Certificates und wählen Sie dann Upload certificate aus.
Laden Sie die
.cer-Datei von Ihrem Desktop hoch.Klicken Sie auf Add.
Schritt 4: API-Berechtigungen hinzufügen
Gehen Sie in Ihrer App-Registrierung zu API permissions > Add a permission.
Fügen Sie jede unten aufgeführte Application permission hinzu. Fügen Sie die Microsoft Graph-Berechtigungen und die SharePoint-Berechtigungen als separate Einträge hinzu. Wählen Sie keine Delegated permissions aus.
Klicken Sie auf Grant admin consent for [Ihr Mandant] und bestätigen Sie.
Microsoft Graph-Berechtigungen:
| Teams-Kanalmitgliedschaft |
| Teams-Kanaleinstellungen |
| Verzeichnisobjekte |
| Dateien in allen Websitesammlungen |
| Microsoft 365-Gruppen |
| Richtlinien für Informationsschutz |
| Vertraulichkeitsbezeichnungen |
| OneNote-Notizbücher |
| Vollzugriff auf alle Websitesammlungen |
| Elemente in allen Websitesammlungen erstellen, bearbeiten und löschen |
| Elemente in allen Websitesammlungen lesen und schreiben |
| Planner-Aufgaben |
| Teams erstellen |
| Teammitgliedschaft |
| Teams-App-Installationen |
| Teameinstellungen |
| Registerkarten in Teams-Kanälen |
| Terminologiespeicher |
| Benutzerprofile |
SharePoint-Berechtigungen:
Hinweis: SharePoint-Berechtigungen finden Sie in der API-Liste unter SharePoint, nicht unter Microsoft Graph.
| Vollzugriff auf alle Websitesammlungen |
| Elemente in allen Websitesammlungen erstellen, bearbeiten und löschen |
| Elemente in allen Websitesammlungen lesen |
| Elemente in allen Websitesammlungen lesen und schreiben |
| Terminologiespeicher (Lesen) |
| Terminologiespeicher (Lesen/Schreiben) |
| Benutzerprofile (Lesen) |
| Benutzerprofile (Lesen/Schreiben) |
Verbindung von ShareGate aus herstellen
Erstellen Sie mit New-AzureApplication ein Anmeldeinformationsobjekt und übergeben Sie es dann an Connect-Site oder Connect-Tenant.
Option A: Zertifikat-Thumbprint (aus dem Generierungsskript)
Wenn Sie das Skript aus Schritt 1 verwendet haben, befindet sich das Zertifikat unter Cert:\CurrentUser\My. Übergeben Sie den Thumbprint direkt:
# Build a credential object from the certificate thumbprint
$app = New-AzureApplication -ClientId "<application-client-id>" -Thumbprint "<certificate-thumbprint>"
# Connect to a specific site
Connect-Site -Url "https://contoso.sharepoint.com/sites/Marketing" -AzureApplication $app
# Or connect at the tenant level
Connect-Tenant -Domain "contoso" -AzureApplication $app
Option B: Zertifikat aus einer .pfx-Datei
Wenn Ihnen das Zertifikat als .pfx-Datei vorliegt, laden Sie es direkt:
# Load the certificate from a .pfx file
$certificate = [System.Security.Cryptography.X509Certificates.X509Certificate2]::new(
"C:\certs\sharegate-app.pfx",
"your-pfx-password")
# Build a credential object
$app = New-AzureApplication -ClientId "<application-client-id>" -Certificate $certificate
# Connect to a site
Connect-Site -Url "https://contoso.sharepoint.com/sites/Marketing" -AzureApplication $app
Ein einzelnes App-Objekt kann mehrere Verbindungen in derselben Sitzung authentifizieren. Verwenden Sie dieselbe Variable $app für mehrere Aufrufe von Connect-Site oder Connect-Tenant wieder.
Hinweis: Wenn Ihre Sicherheitsrichtlinie die Erteilung einer der erforderlichen Berechtigungen verhindert, fügen Sie -AllowMissingPermissions zu Connect-Site oder Connect-Tenant hinzu, um trotzdem eine Verbindung herzustellen.
Vorgänge, die auf die fehlende Berechtigung angewiesen sind, schlagen mit Forbidden-Fehlern fehl.
Dieser Schalter lockert lediglich die Berechtigungsprüfung nach erfolgreicher Authentifizierung. Er behebt keine fehlgeschlagene Anmeldung.
Eine App speichern und wiederverwenden
Sie können ein App-Registrierungsobjekt speichern und in späteren Sitzungen wieder abrufen, sodass Sie es nicht jedes Mal neu erstellen müssen. Verwenden Sie Save-AzureApplication, um es zu speichern, und Get-AzureApplication, um es wieder zu laden.
Bekannte Einschränkungen
Modified By und Created By werden bei der Migration nicht übernommen. Elemente zeigen die Dienstidentität der App anstelle des ursprünglichen Autors an.
Benachrichtigungen werden übersprungen. Bei der reinen App-Authentifizierung fehlt der Benutzerkontext zum Senden von Benachrichtigungen.
Klassische Webparts werden nicht migriert.
Klassische SharePoint-Workflows werden nicht migriert.
InfoPath-Formulare werden teilweise migriert. Rechnen Sie mit Warnungen.
Publishing-Genehmigungsworkflows erfordern einen Benutzerkontext. Rechnen Sie mit Fehlern oder Warnungen.
Vertraulichkeitsbezeichnungen werden während der Migration noch nicht angewendet. Die Unterstützung ist für ein zukünftiges Update geplant.
Dieser Artikel wurde mit künstlicher Intelligenz übersetzt. Bei Unklarheiten konsultieren Sie bitte die englische Originalversion.
