Özellikle Hybrid yapı ile yönetilen ortamlarda Active Directory üzerinde şifre politikası belirtilse bile kullanıcılar Azure kaynaklarına erişebilmekte ve bütün microsoft hesaplarını kullanabilmektedirler. Bunun sebebi azure üzerindeki şifre süresi dolma özelliğinin kapalı olarak gelmesidir. Politika 90 gün olarak belirtilse bile kullanıcılar 90 gün dolduğunda şifrelerini kullanmaya devam ederler. Bu sorunu powershell ile Azure ortamına bağlanarak çözmek mümkündür. Aşağıdaki belirtilen adımları sırasıyla uygulayın.
Powershell'i yönetici olarak çalıştırın ve aşağıdaki komutu girerek AzureAD modülünü yükleyin
Install-Module -Name AzureAD
import edin;
Import-Module AzureAD
2. Daha sonra aşağıdaki komut ile AzureAD'ye bağlanın. Bağlantı ekranından sizden oturum açma bilgileri isteyecektir. Burada Global Admin hesap bilgilerini veya yapmak istediğiniz işlem için Azure üzerinde yetkilendirilmiş bir hesap bilgisi girmeniz gerekmektedir
Connect-AzureAD
3. Aşağıdaki komut ile bütün kullanıcı bilgilerini çekebilirsiniz.
$users = Get-AzureADUser -All $true
4. Kullanıcı profillerinde yer alan "password policy" alanını kontrol edin. Burada "DisablePasswordExpiration" ifadesi yer alıyor olabilir. Bu durumda hesaplarınızın şifre süreleri dolsa bile kullanıcılar oturum açmaya devam edebilirler. Aşağıdaki komutu kullanarak bu alanı güncelliyoruz ve "None" olarak değiştiriyoruz.
foreach ($user in $users) {
# Kullanıcının ObjectId'sini alın
$userObjectId = $user.ObjectId
# Kullanıcının PasswordPolicies alanını kontrol edin
$userDetails = Get-AzureADUser -ObjectId $userObjectId
# Kullanıcı PasswordPolicies'de DisablePasswordExpiration varsa bunu değiştirin
if ($userDetails.PasswordPolicies -contains "DisablePasswordExpiration") {
# PasswordPolicies'yi güncelle
Set-AzureADUser -ObjectId $userObjectId -PasswordPolicies "None"
# Parola süresini 90 gün olarak ayarla
Set-MsolUser -UserPrincipalName $userDetails.UserPrincipalName -PasswordNeverExpires $false
# Kullanıcıya şifre sıfırlama zorunluluğu
Set-AzureADUserPassword -ObjectId $userObjectId -ForceChangePasswordNextLogin $true
}
}
Script'i uyguladıktan sonra kullanıcıların profillerini kontrol edin ve password policy alanının "None" olarak değiştiğinden emin olun. Organizasyon içinde şifre durumları "Never Expire" olarak işaretlenmiş kullanıcıların da şifre sürelerinin dolmadığını ve bu script'ten etkilenmediklerini test edin. Servis hesaplarınız bu çalışmadan etkilenirse başınıza iş açabilir. Gerekirse bir grup oluşturup sadece aktif kullanıcılar için bu değişiklikleri uygulayın.
Comments