PowerShell ile Office 365 kullanıcılarının MFA durumunu dışarı aktarma
MFA statüsüne sahip kullanıcıların bir listesini almak istiyoruz. Bunu kontrol ederek kaç kullanıcının MFA'yı etkinleştirdiğinden ve hangi yöntemi kullandıklarından emin oluyoruz. Microsoft 365/Azure kiracınızda henüz MFA'yı etkinleştirmediyseniz bunu hemen yapmalısınız! Bu makalede Office 365 kullanıcılarının MFA durumunu CSV dosyasına nasıl aktaracağınızı öğreneceksiniz.
Microsoft 365 yönetim merkezinde MFA durumunu kontrol edin
Şimdi Microsoft 365’e bakalım ve MFA kullanıcı durumunu kontrol edelim. Microsoft 365 yönetim merkezinde oturum açın. Kullanıcılar > Etkin Kullanıcılar > Çok faktörlü kimlik doğrulama'ya gidin.
Yeni bir sayfa açılacak ve tüm kullanıcıları ve onların çok faktörlü kimlik doğrulama durumlarını gösterecektir. Örneğimizde, MFA'nın etkinleştirildiği ve MFA'nın zorunlu kılındığı birkaç kullanıcımız var. Kullanıcıların çoğunda MFA devre dışı bırakılmıştır.
Bilgi için neden çok faktörlü kimlik doğrulama web sayfasını kullanmanızı önermiyoruz:
Kullanıcıların MFA işlemini tamamlayıp tamamlamadığı gösterilmez
Kullanıcının hangi MFA yetkilendirme seçeneğini etkinleştirdiğini göstermez
CSV dosyasına aktarma şansı yok
Not: MFA'nın etkinleştirildiğini veya zorunlu kılındığını görürseniz bu, MFA'nın yapılandırıldığı anlamına gelmez.
PowerShell betiği, Koşullu Erişim ile etkinleştirildiyse MFA durumunu tanımlayamaz. Çünkü Microsoft bunun için bir yol sağlamadı.
Microsoft 365 sayfası yerine MFA hakkında fikir sahibi olmanın daha iyi bir yolu var mı? Evet var ve işte o zaman PowerShell imdada yetişecek. Bir sonraki adımda MFA raporunun nasıl oluşturulacağını göstereceğiz.
Çok Faktörlü Kimlik Doğrulama durumu
Tüm kullanıcılar Devre Dışı olarak başlar. Kullanıcıları kullanıcı başına Azure AD Multi-Factor Authentication'a kaydettiğinizde durumları Etkin olarak değişir. Etkinleştirilmiş kullanıcılar oturum açıp kayıt işlemini tamamladığında durumları Zorunlu olarak değişir. Yöneticiler, kullanıcıları Zorunlu, Etkin ve Devre Dışı durumları arasında taşıyabilir.
Devre Dışı
Kullanıcı başına Azure AD Multi-Factor Authentication'a kayıtlı olmayan bir kullanıcının varsayılan durumu.
Etkin
Kullanıcı, kullanıcı başına Azure AD Multi-Factor Authentication'a kayıtlıdır ancak eski kimlik doğrulaması için parolasını kullanmaya devam edebilir. Kullanıcı henüz MFA kimlik doğrulama yöntemlerini kaydetmediyse, modern kimlik doğrulamayı kullanarak (örneğin bir web tarayıcısı aracılığıyla) bir sonraki oturum açışında kaydolması için bir istem alır.
Zorunlu
Kullanıcı, Azure AD Multi-Factor Authentication'da kullanıcı başına kayıtlıdır. Kullanıcı henüz kimlik doğrulama yöntemlerini kaydetmediyse, modern kimlik doğrulamayı kullanarak (örneğin bir web tarayıcısı aracılığıyla) bir sonraki oturum açışında kaydolması için bir istem alır. Etkin durumundayken kaydı tamamlayan kullanıcılar otomatik olarak Zorunlu durumuna taşınır.
Azure Active Directory'ye bağlanın
Daha fazla ilerlemeden ve tüm kullanıcılar için MFA durumunu almadan önce, Azure AD'yi PowerShell (MsolService) ile yükleyip bağlanmamız gerekiyor.
Windows PowerShell'i yönetici olarak başlatın ve Connect-MsolService cmdlet'ini çalıştırın.
PS C:> Connect-MsolServiceArtık bağlandığımıza göre bir sonraki adıma geçebiliriz.
Get-MFAReport PowerShell betiğini hazırlayın
(C:) sürücüsünde iki klasör oluşturun:
Sıcaklık
Kodlar
Get-MFAReport.ps1 PowerShell betiğini indirin ve C:\scripts klasörüne yerleştirin. Komut dosyası, CSV dosyasını C:\temp klasörüne aktaracaktır.
Diğer bir seçenek de aşağıdaki kodu kopyalayıp Not Defteri'ne yapıştırmaktır. Ona Get-MFAReport.ps1 adını verin ve C:\scripts klasörüne yerleştirin.
Write-Host "Finding Azure Active Directory Accounts..."
$Users = Get-MsolUser -All | Where-Object { $_.UserType -ne "Guest" }
$Report = [System.Collections.Generic.List[Object]]::new() # Create output file
Write-Host "Processing" $Users.Count "accounts..."
ForEach ($User in $Users) {
$MFADefaultMethod = ($User.StrongAuthenticationMethods | Where-Object { $_.IsDefault -eq "True" }).MethodType
$MFAPhoneNumber = $User.StrongAuthenticationUserDetails.PhoneNumber
$PrimarySMTP = $User.ProxyAddresses | Where-Object { $_ -clike "SMTP*" } | ForEach-Object { $_ -replace "SMTP:", "" }
$Aliases = $User.ProxyAddresses | Where-Object { $_ -clike "smtp*" } | ForEach-Object { $_ -replace "smtp:", "" }
If ($User.StrongAuthenticationRequirements) {
$MFAState = $User.StrongAuthenticationRequirements.State
}
Else {
$MFAState = 'Disabled'
}
If ($MFADefaultMethod) {
Switch ($MFADefaultMethod) {
"OneWaySMS" { $MFADefaultMethod = "Text code authentication phone" }
"TwoWayVoiceMobile" { $MFADefaultMethod = "Call authentication phone" }
"TwoWayVoiceOffice" { $MFADefaultMethod = "Call office phone" }
"PhoneAppOTP" { $MFADefaultMethod = "Authenticator app or hardware token" }
"PhoneAppNotification" { $MFADefaultMethod = "Microsoft authenticator app" }
}
}
Else {
$MFADefaultMethod = "Not enabled"
}
$ReportLine = [PSCustomObject] @{
UserPrincipalName = $User.UserPrincipalName
DisplayName = $User.DisplayName
MFAState = $MFAState
MFADefaultMethod = $MFADefaultMethod
MFAPhoneNumber = $MFAPhoneNumber
PrimarySMTP = ($PrimarySMTP -join ',')
Aliases = ($Aliases -join ',')
}
$Report.Add($ReportLine)
}
Write-Host "Report is in c:\temp\MFAUsers.csv"
$Report | Select-Object UserPrincipalName, DisplayName, MFAState, MFADefaultMethod, MFAPhoneNumber, PrimarySMTP, Aliases | Sort-Object UserPrincipalName | Out-GridView
$Report | Sort-Object UserPrincipalName | Export-CSV -Encoding UTF8 -NoTypeInformation "c:\temp\MFAUsers.csv"Bu şekilde görünüyor.
Get-MFAReport PowerShell betiğini çalıştırın
PowerShell ile tüm kullanıcılar için MFA durumunu alın. Komut dosyaları klasörünün yolunu değiştirin. Bundan sonra Get-MFAReport.ps1 betiğini çalıştırın.
PS C:\> cd c:\scripts\
PS C:\scripts> .\Get-MFAReport.ps1Izgara Dışı Görünüm
Out-GridView, kullanıcıları içeren sütunları ve Microsoft 365 çok faktörlü kimlik doğrulama sayfasındakinden çok daha fazla bilgiyi gösterecektir.
MFA Kullanıcıları raporu CSV dosyasını açın
Get-MFAReport.ps1 PowerShell betiği, Office 365 kullanıcılarının MFA durumunu CSV dosyasına aktaracaktır. C:\temp yolunda MFAUsers.csv dosyasını bulun.
CSV dosyasını favori uygulamanızla açın. Örneğimizde Microsoft Excel var.
MFA durum raporu mükemmel görünüyor.
Önemli: Kiracıdaki tüm kullanıcılar için MFA'yı zorunlu kılmayı unutmayın! Kuruluşu kaba kuvvet saldırılarından ve oturum açmalardan korumak bir zorunluluktur.
Bu, Office 365 kullanıcılarının MFA durumunu CSV dosyasına aktarmanıza yardımcı oldu mu?
Devamını oku: Office 365 Önerilen Yapılandırma Çözümleyicisi »
Çözüm
PowerShell ile Office 365 kullanıcılarının MFA durumunu nasıl dışarı aktaracağınızı öğrendiniz. Get-MFAReport PowerShell betiğiyle MFA durum raporunu alın ve yakından inceleyin. Tüm kullanıcılar için MFA'yı zorunlu kılın ve Microsoft'un önerisi olan Authenticator uygulamasını kullanıp kullanmadıklarını kontrol edin.
Bu makaleyi beğendiniz mi? Ayrıca Exchange Online PowerShell modülünü yüklemeyi de beğenebilirsiniz. Bizi takip etmeyi ve bu yazımızı paylaşmayı unutmayın.





