Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu makalede, uyumluluk modunu kullanarak Microsoft Entra PowerShell'de eski Azure AD PowerShell betiklerini çalıştırmayı ve en az değişiklikle sorunsuz betik geçişine olanak sağlamayı öğreneceksiniz. Bu işlem, mevcut otomasyon iş akışlarını korurken yeni modüle sorunsuz bir şekilde geçiş yaparak güncelleştirilmiş araçlarla sürekli verimlilik ve uyumluluk sağlamanızı sağlar.
Microsoft Entra PowerShell, Azure AD PowerShell modülüyle 98'den fazla% uyumluluğuna sahiptir. Uyumluluk modunda, komutunu kullanarak Enable-EntraAzureADAlias Microsoft Entra PowerShell kullanarak mevcut Azure AD PowerShell betiklerinizi en az değişiklikle çalıştırabilirsiniz. Microsoft Entra PowerShell’de Azure AD PowerShell ve MSOnline cmdlet eşdeğerlerini bulmak için Azure AD PowerShell to Microsoft Entra PowerShell cmdlet map öğesini kullanın.
Enable-EntraAzureADAlias ile uyumluluk modunu kullanma
Enable-EntraAzureADAlias cmdlet'i, takma adlar aracılığıyla uyumluluk modunu etkinleştirir. Varsayılan olarak, Enable-EntraAzureADAlias yalnızca geçerli Microsoft Entra PowerShell oturumu için uyumluluk takma adlarını etkinleştirir. Daha fazla bilgi için Enable-EntraAzureADAlias başvuru belgelerine bakın.
Microsoft Entra PowerShell'i mevcut AzureAD PowerShell betiklerinizle kullanmak için Connect-AzureAD komutunu sağlanan üç satırla değiştirin. Bu üç satır, taşınmış AzureAD PowerShell betiğinizin başlangıcını oluşturur.
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
Bu örnekte, Microsoft Entra PowerShell kullanarak süresi dolan gizli anahtarlara sahip uygulamaları dışa aktaran bir betik çalıştıracaksınız. Bu örnekte, Microsoft Entra PowerShell modülünün zaten yüklü olduğu varsayılır.
Aşağıdaki örnek betik, özgün AzureAD PowerShell betiğidir.
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
Not: Bu kod parçacığı okunabilirlik için kısaltılır. Ayrıntılar için tüm örneğe bakın.
Betiğinizi Microsoft Entra PowerShell modülüyle kullanmak için Connect-AzureAD cmdlet'ini parçacıkta verilen üç satırla değiştirin. Betiğin tamamını yeniden yazmanız gerekmez.
Aşağıdaki betik taşınmış betiktir.
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
Not: Bu kod parçacığı okunabilirlik için kısaltılır. Ayrıntılar için değiştirilen örneğin tamamına bakın.
Test-EntraScript komutuyla uyumluluğu test edin
Test-EntraScript cmdlet'i, Azure AD PowerShell komutlarına sahip bir betiğin Microsoft Entra PowerShell modülüyle çalışıp çalışmadığını doğrular. Uyumluluk sorunları varsa satır numarası, sorun türü, uyumsuz komut ve belirli kod parçacığı dahil olmak üzere bunları listeler.
Bilinen sorunlar
Azure AD PowerShell modülünden Microsoft Entra PowerShell'e geçiş yaparken, bilinen çeşitli sorunlarla karşılaşabilirsiniz.
- Parametre
-Filterdüzgün çalışmayabilir. - Parametre
-SearchStringdüzgün çalışmayabilir. - Çıkış nesneleri AzureAD çıkış nesneleriyle biraz farklılık gösterebilir.