Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Artikel erfahren Sie, wie Sie ältere Azure AD PowerShell-Skripts in Microsoft Entra PowerShell mithilfe des Kompatibilitätsmodus ausführen und die nahtlose Skriptmigration mit minimalen Änderungen ermöglichen. Dieser Prozess ermöglicht es Ihnen, reibungslos zum neuen Modul zu wechseln und gleichzeitig vorhandene Automatisierungsworkflows aufrechtzuerhalten, um eine kontinuierliche Effizienz und Compliance mit aktualisierten Tools sicherzustellen.
Microsoft Entra PowerShell verfügt über mehr als 98% Kompatibilität mit Azure AD PowerShell-Modul. Im Kompatibilitätsmodus können Sie Ihre vorhandenen Azure AD PowerShell-Skripts mit minimalen Änderungen mit Microsoft Entra PowerShell mithilfe des Enable-EntraAzureADAlias Befehls ausführen. Um Azure AD PowerShell- und MSOnline-Cmdlet-Äquivalente in Microsoft Entra PowerShell zu finden, verwenden Sie die Cmdletzuordnung von Azure AD PowerShell zu Microsoft Entra PowerShell.
Verwenden Sie den Kompatibilitätsmodus mit Enable-EntraAzureADAlias
Das Enable-EntraAzureADAlias Cmdlet aktiviert den Kompatibilitätsmodus über Aliase. Standardmäßig aktiviert Enable-EntraAzureADAlias nur Kompatibilitätsaliase für die aktuelle Microsoft Entra PowerShell-Sitzung. Weitere Informationen finden Sie in der Referenzdokumentation zu Enable-EntraAzureADAlias .
Wenn Sie Microsoft Entra PowerShell mit Ihren vorhandenen AzureAD PowerShell-Skripts verwenden möchten, ersetzen Sie den Connect-AzureAD Befehl durch die drei bereitgestellten Zeilen. Diese drei Zeilen sind der Anfang Ihres migrierten AzureAD PowerShell-Skripts.
Import-Module -Name Microsoft.Entra.Applications
Connect-Entra -Scopes 'Application.Read.All' #Replaces Connect-AzureAD for auth
Enable-EntraAzureADAlias #enable aliasing
Get-AzureADApplication -Top 2
Beispiel
In diesem Beispiel führen Sie ein Skript aus, das Apps mit ablaufenden geheimen Schlüsseln mit Microsoft Entra PowerShell exportiert. In diesem Beispiel wird davon ausgegangen, dass das Microsoft Entra PowerShell-Modul bereits installiert ist.
Das folgende Beispielskript ist das ursprüngliche AzureAD PowerShell-Skript.
Connect-AzureAD
$applications = Get-AzureADApplication -All $true
$Logs = @()
Write-Host "I would like to see the Applications with the Secrets and Certificates that expire in the next X amount of Days? <<Replace X with the number of days. The answer should be ONLY in Numbers>>" -ForegroundColor Green
$Days = Read-Host
Write-Host "Would you like to see Applications with already expired secrets or certificates as well? <<Answer with [Yes] [No]>>" -ForegroundColor Green
$alreadyExpired = Read-Host
$now = Get-Date
foreach ($app in $applications) {
$appName = $app.DisplayName
$appID = $app.objectid
$applID = $app.AppId
$appCreds = Get-AzureADApplication -ObjectId $appID | Select-Object -Property PasswordCredentials, KeyCredentials
$secret = $appCreds.PasswordCredentials
$cert = $appCreds.KeyCredentials
Hinweis: Dieser Codeausschnitt wird zur Lesbarkeit gekürzt. Ausführliche Informationen finden Sie im vollständigen Beispiel.
Wenn Sie Ihr Skript mit dem Microsoft Entra PowerShell-Modul verwenden möchten, ersetzen Sie das Connect-AzureAD Cmdlet durch die drei Zeilen im Codeausschnitt. Sie müssen das gesamte Skript nicht neu schreiben.
Das folgende Skript ist das migrierte Skript.
Import-Module -Name Microsoft.Entra.Users
Connect-Entra #Replaces Connect-AzureAD for auth
Enable-EntraAzureADAlias #Activate aliasing
$applications = Get-AzureADApplication -All $true
$logs = @()
Write-Host "I would like to see the Applications with the Secrets and Certificates that expire in the next X amount of Days? <<Replace X with the number of days. The answer should be ONLY in Numbers>>" -ForegroundColor Green
$days = Read-Host
Write-Host "Would you like to see Applications with already expired secrets or certificates as well? <<Answer with [Yes] [No]>>" -ForegroundColor Green
$alreadyExpired = Read-Host
$now = Get-Date
foreach ($app in $applications) {
$appName = $app.DisplayName
$appID = $app.Objectid
$applID = $app.AppId
$appCreds = Get-AzureADApplication -ObjectId $appID | Select-Object -Property PasswordCredentials, KeyCredentials
$secret = $appCreds.PasswordCredentials
$cert = $appCreds.KeyCredentials
Hinweis: Dieser Codeausschnitt wird zur Lesbarkeit gekürzt. Ausführliche Informationen finden Sie im vollständigen geänderten Beispiel.
Testen der Kompatibilität mit Test-EntraScript Befehl
Das Cmdlet Test-EntraScript überprüft, ob ein Skript mit Azure AD PowerShell-Befehlen mit dem Microsoft Entra PowerShell-Modul funktioniert. Wenn Kompatibilitätsprobleme auftreten, werden diese aufgelistet, einschließlich der Zeilennummer, des Problemtyps, des inkompatiblen Befehls und des spezifischen Codeausschnitts.
Bekannte Probleme
Beim Migrieren vom Azure AD PowerShell-Modul zu Microsoft Entra PowerShell treten möglicherweise mehrere bekannte Probleme auf.
- Der Parameter
-Filterfunktioniert möglicherweise nicht ordnungsgemäß. - Der Parameter
-SearchStringfunktioniert möglicherweise nicht ordnungsgemäß. - Ausgabeobjekte können sich geringfügig mit AzureAD-Ausgabeobjekten unterscheiden.