Kullanıcı Hesaplarına Atanan Ekip İlkeleri Hakkında Rapor Oluşturmak için PowerShell'i Kullanma


Bana sık sık Microsoft 365 yönetici konsollarının neden yazdırma seçeneğini atladığı soruluyor. Örneğin, Microsoft 365 yönetim merkezinin Etkin kullanıcılar bölümüne gidin ve kullanıcı listesini yazdırmanın bir yolunu arayın. Bir tane yok. Genellikle mevcut olan, verileri (bu durumda kullanıcılar) bir CSV dosyasına aktarma seçeneğidir.

Microsoft'un yönetici konsollarında bu yaklaşımı benimsemesinin birkaç nedeni olduğunu düşünüyorum. İlk olarak, görüntülenecek konsol sayfası bilgileri. Listenin en altına doğru ilerledikçe, tüm set mevcut olana kadar daha fazla veri görünür (Bunu 50.000 kullanıcılı bir kiracıyla hiç denemedim, ancak teori bu). Bu uygulama, Grafik API'lerinin veri getirme biçimiyle tutarlıdır. Daha büyük kiracılarda, sayfalama, tüm verilerin kullanılabilir olmasını beklemek zorunda kalmanızdan daha iyi çalışır. İkincisi, tüm yönetici konsollarında yazdırma seçeneklerini uygulamaya ve desteklemeye yönelik mühendislik çabaları, Microsoft'un kaçınmak istediği bir maliyet olabilir. Üçüncüsü, dışa aktarma seçeneği kiracıların bilgileri indirmelerine ve kendi gereksinimlerine göre biçimlendirmelerine olanak tanır (tüm kuruluşların kendi biçimleri vardır). Son olarak, verilere programlı erişim genellikle PowerShell veya Graph API aracılığıyla sağlanır. Genel olarak Microsoft 365 yönetici konsollarındaki yazdırma desteğinin eksikliğinden çok fazla şikayet etmek zordur.

Ekip Politikaları

Bu da beni Teams'e ve kullanıcı hesaplarına atanan politikaların bir raporunu oluşturma isteğine getiriyor. Bildiğiniz gibi Teams politikalara olağanüstü düşkündür. Yakın zamanda yapılan bir kontrol, bir hesaba atanabilecek 40 ayrı Teams politikasını ortaya çıkardı (on altı politika Teams yönetim merkezi aracılığıyla düzenlenebilir). Ortalama bir Teams yöneticisi, (birçok politikayı kullanan) Teams Phone sistemine dahil olmadıkları sürece aşağıdaki grupla etkileşimde bulunabilir:

  • Toplantı İlkesi: Teams toplantılarında kullanılabilen özellikleri kontrol eder.
  • Mesajlaşma Politikası: Teams sohbet ve kanal mesajlarındaki yetenekleri kontrol eder.
  • Uygulama Kurulum Politikası: Uygulama gezinme çubuğuna sabitlenen uygulamaları ve kullanıcıların yükleyebileceği uygulamaları kontrol eder.
  • Uygulama İzin Politikası: Teams kullanıcılarının kullanımına sunulan uygulama grubunu kontrol eder.
  • Gelişmiş Şifreleme İlkesi: 1:1 aramalarda Teams uçtan uca şifrelemenin kullanılabilirliğini kontrol eder.
  • Güncelleme Yönetimi Politikası: Kullanıcıların önizleme özelliklerine erişip erişemeyeceğini kontrol eder.
  • Kanal Politikası: Kullanıcıların yeni özel ve paylaşılan kanallar oluşturup oluşturamayacağını kontrol eder.
  • Geri Bildirim Politikası: Kullanıcılardan Microsoft'a geri bildirim anketleri göndermelerinin istenip istenmeyeceğini kontrol eder.
  • Canlı Etkinlik Politikası: Kullanıcının nasıl canlı etkinlik oluşturabileceğini kontrol eder.

Bu politika kümesini göz önünde bulundurarak, Teams politika atamalarının bir raporunu oluşturmak için bazı PowerShell yazabiliriz.

Raporun Kodlanması

Rapor komut dosyası çok basittir.

  • Kullanıcılara atanan ilkeler hakkında bilgi almak için Microsoft Teams PowerShell modülüne bağlanın.
  • Exchange Online yönetimi PowerShell modülüne bağlanın. Bu, Get-OrganizationConfig cmdlet'ini kullanarak raporun kiracı adını almak için kullandığım isteğe bağlı bir bağlantıdır. Azure AD modülündeki Get-AzureADTenantDetail cmdlet'ini de kullanabilirsiniz.
  • Her kullanıcı için ilke atamalarını çıkarın ve bir PowerShell liste nesnesini güncelleyin. Çıktıyı özelleştirmek için ilke atamalarını eklemek veya çıkarmak kolaydır. Varsayılan politika kullanılıyorsa, “Kiracı Varsayılanı” çıktısını alırız (isterseniz farklı bir ad seçebilirsiniz), aksi takdirde komut dosyası, atanan politikanın adını ekler.
  • Tüm kullanıcılar işlendiğinde, bir HTML dosyası oluşturmak için liste verilerini ve bazı HTML kodlarını kullanın.
  • Atamaları analiz etmeyi kolaylaştırmak için rapor verilerini kullanarak bir CSV dosyası oluşturun.
  • Başarıyı ve oluşturulan dosyaların adlarını bildirerek işlemi tamamlayın.

Şekil 1 raporun bir örneğini göstermektedir. Gördüğünüz gibi rapor, her kullanıcı için hedeflenen dokuz politikanın her birinin atamasını listeliyor.

Komut dosyasını GitHub'dan indirebilirsiniz. Kiracınızın gereksinimlerine uyacak şekilde kodu değiştirmekten çekinmeyin. Temel bilgiler aynı kalacak, ancak bazı ekstra politikalar eklemek veya raporun biçimlendirmesini geliştirmek isteyebilirsiniz.

Kabuğun Gücü

Komut dosyasının yazılması uzun sürmedi (itiraf etmek gerekirse HTML parçaları elimdeydi). Bu, Microsoft'un bıraktığı boşlukları doldurma açısından PowerShell'in Microsoft 365 kiracı yöneticileri için ne kadar yararlı olduğunun bir başka kanıtıdır. Veya başka bir deyişle, Microsoft'un gitmemeyi seçtiği yere gitmek. Eğlence!

İlgili makaleler