Azure AD Konuk Hesapları için Fotoğrafları Güncelleştirme
Misafir Hesaplarına Mümkün Olan En İyi Yüzü Koymak
Birkaç yıl önce, kullanıcı fotoğraflarını Azure AD konuk hesaplarına eklemenin neden iyi olduğunu yazmıştım. O zamanlar Teams henüz başlangıç aşamasındaydı ancak Azure B2B İşbirliğinin harici kişilerin kiracı kaynaklarına erişmesine olanak tanıyan önemli bir yöntem olduğu zaten açıktı. Bu harici kişilere konuk hesaplarına fotoğraf ekleyerek bir yüz vermek, uygulamaların kullanıcı fotoğraflarını e-posta başlıklarında veya Teams sohbetlerinde görüntülemek gibi birçok yolla öne çıkardığı bir dünyada anlamlıdır.
Zaman ilerliyor ve 280 küsur milyon Teams kullanıcısının Microsoft 365 ortamına bıraktığı gölge artık çok büyük. Zamanın geçmesi aynı zamanda kullanıcı fotoğraflarını güncellemek için Set-AzureADUserThumbnailPhoto cmdlet'ini içeren Azure AD modülünün kullanımdan kaldırılmasının yakında geçerliliğini yitireceği anlamına da gelir. Özellikle bir grup posta kişisini konuk hesabı haline getirdiyseniz, Microsoft Graph PowerShell SDK ile konuk hesaplarının fotoğraflarını nasıl güncelleyeceğinizi anlamanın zamanı geldi.
Misafirler için Küçük Resimler
Başlamadan önce, misafir hesaplarının yalnızca küçük resim (küçük) fotoğraflara ihtiyaç duyduğunu anlamak önemlidir. Fotoğrafların Teams çevrimiçi toplantılarında göründüğünde iyi görünmesi için kullanıcı hesaplarının daha yüksek çözünürlüklü fotoğraflara ihtiyacı vardır (örgü avatarı kullanmıyorsanız). Bu makalede açıklandığı gibi, kullanıcı hesaplarını güncelleştirmek için Exchange Online Set-UserPhoto cmdlet'ini kullanmak en iyisidir; çünkü posta kutularına Azure AD tarafından kullanılan küçük resimlerden daha yüksek kalitede görüntüler yükler.
Hazırlığın önemli bir kısmı misafir hesaplarına uygun fotoğraflar bulmaktır. Konuklara tercih ettikleri görseli sorabilir veya uygun fotoğrafları bulmak için internette arama yapabilirsiniz. Birinin fotoğrafını ararken ilk başvuracağım adres LinkedIn'dir. İnsanlar genellikle LinkedIn'de küçük resme indirgendiğinde bile güzel görünen güzel bir fotoğraf yayınlarlar. LinkedIn görsellerini kullanmanın bir diğer avantajı da bunların herkese açık profillerde yer almasıdır. Başka bir deyişle, insanlar başkalarının neye benzediklerini görebilmesi için resimlerini yüklüyorlar. Bu nedenle, bu görselleri misafir hesapları için kullanırken herhangi bir telif hakkı sorunuyla karşılaşmanız pek olası değildir.
Paint gibi bir program kullanarak LinkedIn profillerinden fotoğraf kopyalamak ve JPG dosyaları olarak kaydetmek kolaydır. Fotoğrafları orijinal boyutlarını kullanarak kaydediyorum (birçok LinkedIn fotoğrafı 600 x 600 pikseldir) ve hesaplara küçük resim görselleri eklediğinde bunları sıkıştırma işini Azure AD'ye bırakıyorum. Kullandığım en büyük görsel 144 KB; en küçüğü (çok eski bir LinkedIn resmi) 6 KB'dir.
Komut dosyası, görüntülerin adlandırılmış bir konumda bulunmasını bekler. Kullandım c:\UserPhotos\; Komut dosyasını, kullanmayı seçtiğiniz konuma işaret edecek şekilde güncelleyebilirsiniz. Önemli olan, resim dosyalarının konuk hesabının görünen adından sonra adlandırılmasıdır. Örneğin:
Jack Jones.jpg
Jane Smith.jpg
Komut Dosyası İşleme
Senaryo bu adımlardan geçiyor
- User.ReadWrite.All izniyle Microsoft Graph'a bağlanın (Azure AD hesaplarını güncellemek için gereklidir).
- Fotoğrafları bulmak için konumu tanımlayın.
- Konuk hesabı için mevcut olmadığında kullanılacak varsayılan bir fotoğraf tanımlayın. Basit, telifsiz bir kişi simgesi kullanıyorum (tercih ettiğiniz görseli bulmak için internet aramasını kullanın).
- Tüm konuk hesaplarını bulmak için Get-MgUser cmdlet'ini kullanın.
- Bazı kuruluşlar, konuk hesabının çalıştığı şirketin adını görünen adına ekler. Görünen adı normalleştirmek için komut dosyası, açılış parantezini kontrol eder ve bulunursa eklenen metni kaldırır. Örneğin, komut dosyası "Tony Redmond (Practical 365)" ifadesini "Tony Redmond" biçimine dönüştürür. Kuruluşunuz konukların ait olduğu şirketleri vurgulamak için farklı bir yöntem kullanıyorsa bu kodu ayarlamanız gerekir.
- Her misafir hesabı için kütüphanede fotoğraf olup olmadığını kontrol edin. Eğer öyleyse, o anda hesaba uygulanan fotoğraftan daha yeni olup olmadığını kontrol edin. Komut dosyası, bir fotoğrafı uyguladığında zaman damgasını saklamak için özel bir öznitelik kullanır, böylece daha yeni bir fotoğrafın mevcut olup olmadığına karar vermek için bunu (varsa) ve fotoğrafın zaman damgasını kontrol eder. Eğer öyleyse, komut dosyası hesabı Set-MgUserPhotoContent cmdlet'iyle günceller.
- Hesabın hiç fotoğrafı yoksa ve fotoğraf mevcutsa komut dosyası hesabı günceller.
Komut dosyasını GitHub'dan indirebilirsiniz. İyileştirmeler önermekten çekinmeyin.
İşleri Hızlandırmak
Fotoğrafları işlemek için tüm konuk hesaplarını getirmek, başlangıçta küçük resim popülasyonu oluşturmanın iyi bir yolu olabilir. Komut dosyası ayrıca bir hesap için yeni fotoğraflar mevcut olduğunda güncellemeleri de yönetir. Örneğin, varsayılan görüntüyü değiştirecek ve onu özel bir görüntüyle değiştirecektir. Ancak, ilgilenilmesi gereken yalnızca birkaç yüz hesap olmadığı sürece tüm misafir hesaplarını her seferinde işleme koymak, ilerlemenin en akıllıca yolu değildir. Teams'in popülerliği ve SharePoint'in harici kullanıcılarla belge paylaşmak için konuk hesaplarını kullanması göz önüne alındığında, konuk hesaplarının sayısının zaman içinde artması muhtemeldir. Kuruluşlar, Azure AD erişim incelemeleri yoluyla veya etkin olmayan konuk hesaplarını belirlemek için bir PowerShell betiği yazarak bazı konuk hesaplarını kaldırabilir, ancak genel olarak konuk sayılarında istikrarlı bir artış beklenebilir.
İşleri hızlandırmak için Get-MgPhoto cmdlet'ini kullanarak bir hesabın fotoğrafı olup olmadığını veya varsayılan fotoğrafı (yüksekliğine bağlı olarak) kullanıp kullanmadığını tespit ederek hangi konuk hesaplarıyla ilgilenmemiz gerektiğini bulabiliriz. ve piksel cinsinden genişlik). Bu komut dosyası işi yapar ve eksik fotoğraflar ve varsayılan fotoğrafa sahip hesap dizileri oluşturur.
[array]$Guests = Get-MgUser -Filter "Usertype eq 'Guest'" -All | Sort-Object DisplayName
$GuestsNoPhotos = [System.Collections.Generic.List[Object]]::new()
[int]$GuestWithPhotos = 0
ForEach ($Guest in $Guests) {
$Photo = Get-MgUserPhoto -UserId $Guest.Id -ErrorAction SilentlyContinue
If ($Photo) {
If ($Photo.Height -eq 150 -and $Photo.Width -eq 150) {
Write-Host ("Guest account {0} has a default photo" -f $Guest.DisplayName) -foregroundcolor Yellow
$DataLine = [PSCustomObject] @{
Name = $Guest.DisplayName
Id = $Guest.Id
Photo = "Default" }
$GuestsNoPhotos.Add($DataLine)
} Else {
# Write-Host ("Guest account {0} has a personalized photo" -f $Guest.DisplayName)
$GuestsWithPhotos++
}
} Else {
Write-Host ("Guest account {0} has no photo" -f $Guest.DisplayName) -foregroundcolor red
$DataLine = [PSCustomObject] @{
Name = $Guest.DisplayName
Id = $Guest.Id
Photo = "Missing" }
$GuestsNoPhotos.Add($DataLine)
}
}
[array]$MissingPhotos = $GuestsNoPhotos | Where-Object {$_.Photo -eq "Missing"}
[array]$DefaultPhotos = $GuestsNoPhotos | Where-Object {$_.Photo -eq "Default"}
Write-Host " "
Write-Host ("Total guest accounts (0}" -f $Guests.Count)
Write-Host ("Guest accounts with personalized photos {0}" -f $GuestsWithPhotos)
Write-Host ("Guest accounts with the default photo {0}" -f $DefaultPhotos.Count)
Write-Host ("Guest accounts with missing photos {0}" -f $MissingPhotos.Count)
Write-Host ""
Write-Host ("Please find photos for these accounts: {0}" -f ($MissingPhotos.Name -join ", "))
Write-Host ("Consider replacing the default photo with a customized image for these accounts: {0}" -f ($DefaultPhotos.Name -join ", "))
Hangi konuk hesaplarının ilgilenilmesi gerektiğini incelemek için bilgileri bir CSV dosyasına aktarabilir ve bunu fotoğrafların toplanmasını izlemek için kullanabilirsiniz. Her şey hazır olduğunda, komut dosyası CSV dosyasını okuyabilir ve her misafir hesabını alıp mükemmel bir fotoğrafa sahip olanları kontrol etmek zorunda kalmak yerine bu hesapları işleyebilir.
Kullanıcı Hesaplarının da Fotoğrafa İhtiyacı Var
Konuk hesaplarının görünümünü fotoğraflarla geliştirmek iyi olsa da, kullanıcı hesapları için fotoğraf bulundurmak daha da önemlidir. Microsoft 365 uygulamaları kullanıcı fotoğraflarını profil kartlarında, e-postalarda ve diğer yerlerde görüntüler. Burada açıklanan komut dosyaları, kullanıcı hesaplarına yönelik fotoğrafları işlemek üzere kolayca uyarlanabilir. Yukarıda belirtildiği gibi en büyük değişiklik, daha yüksek kalitede bir fotoğraf yüklemek için Set-UserPhoto cmdlet'ini kullanmanız gerektiğidir. Konuk hesapları için fotoğraf aramanın aksine, çalışanların fotoğraflarını bulmak, hatta belki de kuruluşun İK sisteminden gelen bir feed'i kullanmak çok daha kolay olmalı. En azından teori bu.
Active Directory için Siber Güvenlik Risk Yönetimi
Bu Siber Güvenlik Risk Yönetimi Çözümleri aracılığıyla AD saldırılarını nasıl önleyeceğinizi ve bu saldırılardan nasıl kurtulacağınızı keşfedin.
