Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Из этой статьи вы узнаете, как запускать устаревшие скрипты Azure AD PowerShell в Microsoft Entra PowerShell с помощью режима совместимости, что позволяет легко перенести скрипты с минимальными изменениями. Этот процесс позволяет плавно переходить на новый модуль при сохранении существующих рабочих процессов автоматизации, обеспечивая постоянную эффективность и соответствие обновленным средствам.
Microsoft Entra PowerShell имеет более 98% совместимость с модулем AZURE AD PowerShell. В режиме совместимости вы можете запускать существующие скрипты AZURE AD PowerShell с минимальными изменениями с помощью Microsoft Entra PowerShell с помощью Enable-EntraAzureADAlias команды. Чтобы найти эквиваленты командлетов Azure AD PowerShell и MSOnline в Microsoft Entra PowerShell, используйте сопоставление командлетов Azure AD PowerShell и Microsoft Entra PowerShell.
Использование режима совместимости с Enable-EntraAzureADAlias
Командлет Enable-EntraAzureADAlias включает режим совместимости с помощью псевдонимов. По умолчанию Enable-EntraAzureADAlias включает только псевдонимы совместимости для текущего сеанса PowerShell Microsoft Entra. Дополнительные сведения см. в справочной документации для Enable-EntraAzureADAlias.
Чтобы использовать Microsoft Entra PowerShell с существующими скриптами AzureAD PowerShell, замените Connect-AzureAD команду тремя предоставленными строками. Эти три строки являются началом перенесенного скрипта AzureAD PowerShell.
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
В этом примере вы запускаете скрипт, который экспортирует приложения с истекающим сроком действия секретов с помощью Microsoft Entra PowerShell. В этом примере предполагается, что модуль PowerShell Microsoft Entra уже установлен.
В следующем примере скрипта используется исходный скрипт 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
Примечание: Этот фрагмент кода сокращен для удобства чтения. Подробные сведения см. в полном примере.
Чтобы использовать скрипт с модулем Microsoft Entra PowerShell, замените командлет Connect-AzureAD тремя строками, указанными в фрагменте кода. Вам не нужно переписать весь скрипт.
Следующий скрипт — это перенесенный скрипт.
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
Примечание: Этот фрагмент кода сокращен для удобства чтения. Подробные сведения см. в полном измененном примере.
Проверка совместимости с командой Test-EntraScript
Командлет Test-EntraScript проверяет, работает ли скрипт, содержащий команды Azure AD PowerShell, с модулем Microsoft Entra PowerShell. Если возникают проблемы совместимости, он перечисляет их, включая номер строки, тип проблемы, несовместимую команду и конкретный фрагмент кода.
Известные проблемы
При миграции из модуля Azure AD PowerShell в Microsoft Entra PowerShell могут возникнуть некоторые известные проблемы.
- Параметр
-Filterможет работать неправильно. - Параметр
-SearchStringможет работать неправильно. - Выходные объекты могут немного отличаться от выходных объектов AzureAD.