Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Neste artigo, aprende como executar scripts legados do Azure AD PowerShell no Microsoft Entra PowerShell usando o modo de compatibilidade, permitindo uma migração de scripts fluida com alterações mínimas. Este processo permite-lhe fazer uma transição suave para o novo módulo, mantendo os fluxos de trabalho de automação existentes, garantindo eficiência contínua e conformidade com ferramentas atualizadas.
O Microsoft Entra PowerShell tem uma compatibilidade superior a 98% com o módulo Azure AD PowerShell. No modo de compatibilidade, consegues executar os teus scripts PowerShell do Azure AD existentes com modificações mínimas usando o Microsoft Entra PowerShell usando o Enable-EntraAzureADAlias comando. Para encontrar equivalentes dos cmdlets do Azure AD PowerShell e do MSOnline no Microsoft Entra PowerShell, utilize o mapa de cmdlets do Azure AD PowerShell para o Microsoft Entra PowerShell .
Use o modo de compatibilidade com Enable-EntraAzureADAlias
O Enable-EntraAzureADAlias cmdlet ativa o modo de compatibilidade através de aliases. Por defeito, Enable-EntraAzureADAlias só ativa os aliases de compatibilidade para a sessão atual do Microsoft Entra PowerShell. Para mais informações, consulte a documentação de referência Enable-EntraAzureADAlias.
Para usar o Microsoft Entra PowerShell com os seus scripts PowerShell AzureAD existentes, substitua o Connect-AzureAD comando pelas três linhas fornecidas. Estas três linhas são o início do seu script PowerShell AzureAD migrado.
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
Neste exemplo, executa um script que exporta aplicações com segredos a expirar usando o Microsoft Entra PowerShell. Este exemplo assume que o módulo PowerShell Microsoft Entra já está instalado.
O seguinte script de exemplo é o script original do AzureAD PowerShell.
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
Nota: Este excerto de código é encurtado para maior legibilidade. Consulte o exemplo completo para mais detalhes.
Para usar o seu script com o módulo PowerShell Microsoft Entra, substitua o Connect-AzureAD cmdlet pelas três linhas fornecidas no excerto. Não precisas de reescrever o guião todo.
O script seguinte é o script migrado.
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
Nota: Este excerto de código é encurtado para maior legibilidade. Consulte o exemplo completo modificado para detalhes.
Testar compatibilidade com o comando Test-EntraScript
O cmdlet Test-EntraScript verifica se um script com comandos PowerShell do Azure AD funciona com o módulo PowerShell do Microsoft Entra. Se houver problemas de compatibilidade, lista-os, incluindo o número da linha, tipo de emissão, comando incompatível e o excerto de código específico.
Problemas conhecidos
Ao migrar do módulo PowerShell do Azure AD para o Microsoft Entra PowerShell, pode encontrar vários problemas conhecidos.
- O parâmetro
-Filterpode não funcionar corretamente. - O parâmetro
-SearchStringpode não funcionar corretamente. - Os objetos de saída podem diferir ligeiramente dos objetos de saída AzureAD.