Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Dans cet article, vous allez apprendre à exécuter des scripts Ad PowerShell hérités Azure dans Microsoft Entra PowerShell à l’aide du mode de compatibilité, ce qui permet une migration de script transparente avec des modifications minimales. Ce processus vous permet de passer en douceur au nouveau module tout en conservant les flux de travail d’automatisation existants, en garantissant une efficacité et une conformité continues avec les outils mis à jour.
Microsoft Entra PowerShell offre une compatibilité de plus de 98 % avec le module Azure AD PowerShell. En mode de compatibilité, vous pouvez exécuter vos scripts PowerShell AD existants Azure avec des modifications minimales à l'aide de Microsoft Entra PowerShell à l'aide de la Enable-EntraAzureADAlias commande. Pour trouver les équivalents des cmdlets Azure AD PowerShell et MSOnline dans Microsoft Entra PowerShell, utilisez la table de correspondance des cmdlets Azure AD PowerShell vers Microsoft Entra PowerShell.
Utiliser le mode de compatibilité avec Enable-EntraAzureADAlias
L’applet Enable-EntraAzureADAlias de commande active le mode de compatibilité via des alias. Par défaut, Enable-EntraAzureADAlias active uniquement les alias de compatibilité pour la session PowerShell actuelle Microsoft Entra. Pour plus d’informations, consultez la documentation de référence Enable-EntraAzureADAlias .
Pour utiliser Microsoft Entra PowerShell avec vos scripts AzureAD PowerShell existants, remplacez la Connect-AzureAD commande par les trois lignes fournies. Ces trois lignes sont le début de votre script AzureAD PowerShell migré.
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
Example
Dans cet exemple, vous exécutez un script qui exporte des applications avec des secrets arrivant à expiration à l’aide de Microsoft Entra PowerShell. Cet exemple suppose que le module PowerShell Microsoft Entra est déjà installé.
L’exemple de script suivant est le script AzureAD PowerShell d’origine.
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
Remarque : Cet extrait de code est raccourci pour la lisibilité. Pour plus d’informations, consultez l’exemple complet.
Pour utiliser votre script avec le module PowerShell Microsoft Entra, remplacez l’applet Connect-AzureAD de commande par les trois lignes fournies dans l’extrait de code. Vous n’avez pas besoin de réécrire l’intégralité du script.
Le script suivant est le script migré.
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
Note: Cet extrait de code est raccourci pour la lisibilité. Pour plus d’informations, consultez l’exemple modifié complet.
Tester la compatibilité avec la commande Test-EntraScript
L’applet de commande Test-EntraScript vérifie si un script avec des commandes AD PowerShell Azure fonctionne avec le module PowerShell Microsoft Entra. S’il existe des problèmes de compatibilité, il les répertorie, y compris le numéro de ligne, le type de problème, la commande incompatible et l’extrait de code spécifique.
Problèmes connus
Lors de la migration du module PowerShell Azure AD vers Microsoft Entra PowerShell, vous pouvez rencontrer plusieurs problèmes connus.
- Le paramètre
-Filterpeut ne pas fonctionner correctement. - Le paramètre
-SearchStringpeut ne pas fonctionner correctement. - Les objets de sortie peuvent différer légèrement avec les objets de sortie AzureAD.