Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
V tomto článku se dozvíte, jak spouštět starší verze skriptů Azure AD PowerShellu v Microsoft Entra PowerShellu pomocí režimu kompatibility, což umožňuje bezproblémovou migraci skriptů s minimálními změnami. Tento proces umožňuje bezproblémově přejít na nový modul a současně udržovat stávající pracovní postupy automatizace a zajistit trvalou efektivitu a dodržování předpisů s aktualizovanými nástroji.
Microsoft Entra PowerShell je z více než 98 % kompatibilní s modulem Azure AD PowerShell. V režimu kompatibility můžete pomocí příkazu spustit existující skripty Azure AD PowerShellu s minimálními úpravami pomocí Microsoft Entra PowerShelluEnable-EntraAzureADAlias. Pokud chcete najít ekvivalenty rutin cmdlet Azure AD PowerShellu a MSOnline v Microsoft Entra PowerShellu, použijte mapování rutin cmdlet z Azure AD PowerShellu na Microsoft Entra PowerShell.
Použití režimu kompatibility s Enable-EntraAzureADAlias
Rutina Enable-EntraAzureADAlias umožňuje režim kompatibility prostřednictvím aliasů. Ve výchozím nastavení Enable-EntraAzureADAlias povoluje aliasy kompatibility pouze pro aktuální relaci Microsoft Entra PowerShellu. Další informace naleznete v referenční dokumentaci Enable-EntraAzureADAlias .
Pokud chcete používat Microsoft Entra PowerShell se svými stávajícími skripty AzureAD PowerShellu, nahraďte příkaz Connect-AzureAD třemi uvedenými řádky. Tyto tři řádky představují začátek migrovaného skriptu AzureAD PowerShellu.
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
V tomto příkladu spustíte skript, který exportuje aplikace s tajnými kódy, jejichž platnost vyprší, pomocí Microsoft Entra PowerShellu. Tento příklad předpokládá, že modul Microsoft Entra PowerShellu je již nainstalovaný.
Následující ukázkový skript je původní skript AzureAD PowerShellu.
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
Poznámka: Tento fragment kódu je zkrácen pro čitelnost. Podrobnosti najdete v úplné ukázce.
Pokud chcete svůj skript používat s modulem Microsoft Entra PowerShell, nahraďte rutinu cmdlet Connect-AzureAD třemi řádky uvedenými v tomto fragmentu kódu. Nemusíte přepisovat celý skript.
Následující skript je migrovaný 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
Poznámka: Tento fragment kódu je zkrácen pro čitelnost. Podrobnosti najdete v úplné upravené ukázce.
Test kompatibility pomocí příkazu Test-EntraScript
Rutina Test-EntraScript ověří, jestli skript s příkazy Azure AD PowerShellu funguje s modulem Microsoft Entra PowerShellu. Pokud dojde k problémům s kompatibilitou, zobrazí je seznam, včetně čísla řádku, typu problému, nekompatibilního příkazu a konkrétního fragmentu kódu.
Známé problémy
Při migraci z modulu Azure AD PowerShell na Microsoft Entra PowerShellu se může vyskytnout několik známých problémů.
- Parametr
-Filternemusí správně fungovat. - Parametr
-SearchStringnemusí správně fungovat. - Výstupní objekty se u výstupních objektů AzureAD můžou mírně lišit.