Yaygınlaştırma projelerinde çok fazla karşılaştığımız bir durum olan kullanıcılara entegrasyonun nasıl yapılacağı konusu IT ekipleri için önem arz etmektedir.
Son zamanlarda bulunduğum Office 365 yaygınlaştırma projelerinde bu işi daha hızı nasıl yapabiliriz , kullanıcıya ve IT ekiplerine nasıl minumum iş yükü ile bu işi tamamlarız konusunda çalışmalar yapıyordum. Ufak olan yapılarda kullanıcılara manuel kurdurmak çözüm olabiliyorken büyük yapılarda bu işlem pek de mümkün olmuyor ki kullanıcıların Local administrator yetkisine sahip olmadığı ortamlarda bu işlem çok daha fazla durumu imkansız kılıyor. Teams yaygınlaştırmalarında öncelikle ürün testlerinde IT ekibi veya pilot kullanıcılar ile çalışarak onların deneyim kazanmasını hedefliyor ve sonrasında tüm organizasyona ürünü yaygınlaştırmamız gerekmektedir.
Teams şuan Office 365 Business ve Office 365 Pro Plus paketleri ile beraber gelmemektedir. Exe ve MSI paketi olmak üzere iki ayrı kurulum dosyası bulunmaktadır bu sebeple deployment için kullanabileceğimiz yöntemler aşağıdaki gibidir.
-SCCM
-Group Policy (Windows)
-MDM çözümleri (Ios + Android + Windows )
-Third-party yazılımlar
Microsoft tarafında yayınlanan güncel Teams MSI paketi ile beraber aslında bu işi Domain ortamlarında basit bir şekilde GPO ile bulk deployment yapabilir hale geldik. Adminler MSI paketleri ile kullanıcılara manuel download ettirmeden bu işi deployment ile otomatik yapabilirler. Bu konu ile ilgili yaptığım son projede uyguladığım adımları ve tecrübeleri sizlerle paylaşmak istedim.
Group policy ile deployment yaparken istediğim computer objelerine deployment yapabileceğim için bu konuda esnekliğimiz bulunmaktadır.
Microsoft Teams MSI paketleri ;
· 32 Bit :
· 64 Bit :
Önerilen Deployment prosedürü ;
· Her zaman en son güncel paketi download ediniz
· MSI paketinde herhangi bir değişiklik yapmayınız.
· Eğer mümkünse computer objesine deployment yapınız.(Makine üzerindeki tüm yeni kullanıcılar teams’den yararlanabiliyor olsunlar)
Microsoft TEAMS MSI paketi nasıl çalışıyor.
Teams MSI paketi , deployment sonrası kurduğunuz versiyona göre “Program Files” veya “Program Files (x86)” klasörü altında yer alacak ve yeni bir kullanıcı ilgili bilgisayarda oturum açtığında bildiğiniz üzere sıfırdan bir “Windows User Profile” oluşturmaktadır.Yeni bir kullanıcı oturum açtığında Teams Installer çalışacak ve application’ı kullanıcının appdata folder’ı altına kopyalıyor olacak. Mevcuttaki bir kullanıcı oturum açtığında ise appdata folder’ı altına daha önce Teams app yüklenmişse bu kullanıcıları otomatik atlıyor olacak ve o kullanıcı için herhangi bir işlem işlem yapmayacak.
Burada MSI paketinin Teams updateleri için kullanılmaması gerekmektedir. Yani hali hazırda Teams deployment yaptınız , yeni versiyon Teams çıktığında tekrar bu paketi deployment yapmamanız gerekir. Çünkü Teams uygulaması yeni bir güncelleme çıktığında bunu otomatik Microsoft sunucularından algılar ve günceller. Eğer eski bir MSI paketi ile deployment yaptıysanızda Teams kullanıcılarda açılmadan önce kendini güncelliyor olacak. Eğer Re-Deployment yapmanız gereken bir durum varsa bunu makalenin en altında nasıl yapabileceğinizi bulabilirsiniz.
Teams MSI paketi ile deployment yapabilmemiz adına kullanıcı tarafında aşağıdaki gereksinimlere ihtiyacımız bulunmaktadır ;
-.NET framework 4.5 sürümü veya sonrası
-Windows 7 veya üstü
-3GB boş disk alanı her bir oturum açacak user profili için (Önerilen)
Group Policy ile nasıl dağıtacağımıza bir göz atalım
Active Directory yapısında Group Policy açıldıktan sonra öncelikle yapmamız gereken deploy etmek istediğimiz MSI paketini indirip sunucu’da client’ların erişebileceği bir alandan share etmeniz gerekmektedir. Burada önemli bir nokta , birden fazla domain controllerınız varsa ve dağıtık bir lokasyon yapısına sahipseniz kesinlikle MSI paketini sunucunun c:\ , d:\ gibi drive diskine atmayınız.
Merkez sunucusunda C:\ altındaki bir klasöre Teams MSI paketini koyar ve eğer group policy ayarlarında bu sunucuyu gösterirseniz bütün bölgelerde oturum açan bilgisayarlar ve kullanıcılarınız bu sunucuya erişmeye çalışacak ve aradaki network bağlantısında ciddi bir yüklenme meydana geliyor olacak.Peki ne yapmamız gerekiyor ?
Bu kısımda SYSVOL klasörü devreye giriyor.Sysvol yalnızca domaindeki her domain controller’da bulunan bir klasördür. İstemciler tarafından erişilmesi gereken ve domain controllerlar arasında senkronize edilen gerekli dosyaları barındırmaktadır.
Ben deploymentlar’da özellikle MSI ve scriptleri aşağıdaki lokasyon’da barındırmaktayım.
Yukarıdaki lokasyona scriptlerinizi veya MSI paketlerinizi atmanız durumunda tüm domain controllerlara bu paket sync oluyor olacak.
Gelelim Group policy kuralımıza…(Temel amacım group policy çalışma mantığını anlatmak olmadığı için basit bir şekilde nasıl yapılandırılır bunu göstereceğim.)
Computer objelerimin olduğu Organization Unit’e geldikten sonra yeni bir policy oluşturuyorum.
Sonrasında izlemem gereken yol ;
Computer Configuration\Policies\Software Settings\Software Installation kısmından yeni paket oluşturuyorum.
Bu bölümde yukarıdaki kısımlarda değindiğim paketin paylaşımda olan lokasyonunu gösteriyoruz. Eğer benim izlediğim yolu izliyorsanız paylaşım ayarlarını yaparken paylaşım path’inin doğru ve clientların erişebiliyor olduğundan emin olunuz.
Ben MSI paketi ile ilgili custom bir ayar yapmıyacağım için default “Assigned” seçeneği ile ilerliyorum.
Assigned seçeneğinden sonra Paketin oluşturulması 10 saniye kadar vakit almaktadır. Ekranda bir şey görmemeniz durumunda panik yapıp tekrar create etmeye çalışmayınız.
İpucu ! : İlk akla gelecek sorulardan biri olan bizim indirdiğimiz MSI paketi ingilizce ama benim kullanıcıların farklı dillerde işletim sistemlerine sahip ayrı ayrı MSI paketi mi indireceğim ?
Hayır! Yaptığım denemelerde client’lara kurulum sonrası Windows dili varsayılan ne ise Teams o dilde kuruluyor. Sonradan da bu dili değiştirmek Teams uygulamasının ayarlarından mümkün.
Server tarafında GPO ayarlarımızı tamamladıktan sonra computer objelerine GPO uyguladığımız için client makinelerinin policy’i almasına adına 1 kere reboot olması gerekmektedir.
İpucu ! : Ufak bir hatırlatma User policy’ler oturum kapatıp açma ile , Computer policy’ler restart ile uygulanır.
İpucu ! : GPO uygulaması sonrası eğer kullanıcılarda Teams kurulmadıysa ilk önce kullanıcı tarafında Windows Event Log’larını ve GPO policy’lerini alıp olmadığını “gpupdate /force” komutu ile kontrol etmenizi öneririm.
Policy sonrası client tarafını reboot edip durumu gözlemliyelim.
Teams kurulumu arka planda başladı ve kurulum tamamlandı.
Aşağıdaki kısımda görüleceği üzere makalenin üst kısımlarında bahsettiğim Teams kurulumu sonrası sunucu tarafını her seferinde kontrol etmekte ve yeni bir güncel versiyon varsa kullanıcının kullanımından önce update geçmektedir.
Login ekranında kullanıcı Office 365 account bilgileri ile login olması durumunda Teams hazır hale gelmiş olacak.
İpucu ! : Kullanıcı deneyimini arttırabilmek adına kullanıcıların her defasında uygulamalarına tekrardan password girmemeleri için ortama ADFS kurulmasını veya ADConnect ile gelen SSO özelliğinin enable edilmesini şiddetle önermekteyim. SSO olan ortamlarda deployment sonrası uygulama direk kullanıcı adı ve şifresi istemeden Teams uygulamasını açmaktadır.
Deployment sonrası masaüstü kısayolu’da kullanıcının masaüstünde gözüküyor olacak.
Deployment yaptığınız client işletim sistemleri eğer bir sanallaştırma platformu altında bulunuyorsa (Think Client , Remote Desktop Server vs) GPO ayarları sonrası Teams uygulaması kurulmayabilir. İlgili Event Log altında aşağıdaki hatayı alıyorsanız eğer GPO tarafına eklemeniz gereken ufak bir ayar bulunmaktadır.
Teams Deployment için hazırlamış olduğum GPO içerisinde
Computer Configuration\Policies\Administrative Templates\System\Logon\ altındaki “Always wait for the network at computer startup and logon” seçeneğini enable ediniz.
Teams’in kalıntılarını temizleme ve yeniden deployment prosedürü
Kullanıcılarınızdan birinin profilin’den Teams uygulamasını uninstall etmesi durumunda GPO ile dağıtılan MSI installer uygulamanın kullanıcı tarafından kaldırıldığını algılayacak ve Teams uygulamasını tekrar o kullanıcı için kurmuyor olacak.Teams uygulamasını o kullanıcı için tekrar deploy edebilmek adına ilgili kullanıcıda aşağıdaki powershell script’inin çalıştırılması gerekmektedir.
Powershell Script
<#
.SYNOPSIS
This script allows you to uninstall the Microsoft Teams app and remove Teams directory for a user.
.DESCRIPTION
Use this script to clear the installed Microsoft Teams application. Run this PowerShell script for each user profile for which the Teams App was installed on a machine. After the PowerShell has executed on all user profiles, Teams can be redeployed.
#>
$TeamsPath = [System.IO.Path]::Combine($env:LOCALAPPDATA, ‘Microsoft’, ‘Teams’)
$TeamsUpdateExePath = [System.IO.Path]::Combine($env:LOCALAPPDATA, ‘Microsoft’, ‘Teams’, ‘Update.exe’)
try
{
if (Test-Path -Path $TeamsUpdateExePath) {
Write-Host "Uninstalling Teams process"
# Uninstall app
$proc = Start-Process -FilePath $TeamsUpdateExePath -ArgumentList "-uninstall -s" -PassThru
$proc.WaitForExit()
}
if (Test-Path -Path $TeamsPath) {
Write-Host "Deleting Teams directory"
Remove-Item –Path $TeamsPath -Recurse
}
}
catch
{
Write-Error -ErrorRecord $_
exit /b 1
}
Umarım faydalı olmuştur , keyifli okumalar.