Bu makalemde Microsoft 365 e powershell ile nasıl bağlanabileceğinizi anlatıyor olacağım.
Merhaba Arkadaşlar, yeni bir makalede yine birlikteyiz. Bu makalemde yeni adı ile Microsoft 365 servislerine nasıl bağlanacağımız ile ilgili temel bir kılavuz hazırlıyor olacağız. Makalemde gereksiz detaylarla sizi boğmayacağım genel hatları ile servislere nasıl bağlanırsınız konusunu işliyor olacağım. Detay bilgiye microsoftun dökümanlarından çok rahat ulaşabileceğinizi düşünüyorum. Önemli olan temel mantığı alabilmek sonrasını dizayn etmek ekstra bir çaba gerektiriyor. Son söz olarakta işinize yaramayan hiçbir detayın içine girmeyin derim.
ilk olarak install-module komutu ile msonline, azuread ve msonline modüllerini yüklüyoruz. Bu yüklemeleri client işletim sistemi olan bir makinada yapabildiğiniz gibi server işletim sistemi olan bir makinadada yapabilirsiniz.
Install-Module -Name MSOnline
Install-Module -Name AzureAD
Install-Module -Name AzureAD
Kurulumlar esnasında böyle bir uyarı alırsanız. Evet seçeneği ile devam edebildiğiniz gibi bu repository yi güvenilir olarak işaretleyip bundan sonraki psgallery repositoryden yükleyeceğimiz modüller için uyarının gelmemesini sağlayabiliriz. Bunun için

Set-PSRepository -Name PSGallery -InstallationPolicy Trusted
komut setini çalıştırabiliriz.
Credential Nesnesi Oluşturma
Gerekli modülleri yükleme işlemleri tamamlandıktan sonra. Artık servislere nasıl bağlanabileceğimize gelebiliriz. Bunun için öncesinde bir credential nesnesi oluşturmamız gerekiyor. Bu nesnede kullanıcı adı ve şifremizi saklıyor olacağız sonrasında servislere bağlanırken sürekli şifre girmek zorunda kalmayacağız.
C:\> $MyCredential=get-credential
bu komut sonrası sistem bize microsoft 365 üzerinde tanımlı olan kullanıcı adı ve şifremizi girmemizi isteyecektir. Sonrasında bu bilgileri $MyCredential nesne değişkeninde saklayacaktır. Artık servislere bağlanabiliriz. En temel iki servis için ;
MSOnline Servisine Bağlanma
Connect-MsolService -Credential $Mycredentials
AzureAD Servisine Bağlanma
Connect-AzureAD -Credential $Mycredentials
Bağlantıyı Kontrol Etme
Modülleri yükleyip ilgili servislere bağlandıktan sonra modüllere ait olan komutları kullanabilir hala geliriz. Aşağıdaki komut ile Microsoft 365 de tanımlı şirket bilgilerini görebiliyor olacağız.
Get-MsolCompanyInformation
Diğer Microsoft 365 Servislerine Bağlanma
MSOnline ve AzureAD servislerinin dışında olan diğer servislerede klasik olarak önce modulü yükle, bağlan ve komutları çalıştır mantığında yaklaşabiliriz.
Install-Module -Name ExchangeOnlineManagement Connect-ExchangeOnline -Credential $Mycredentials
SharePoint Servisine Bağlanma
Install-Module -Name Microsoft.Online.SharePoint.PowerShell $orgName = “mycompany” Connect-SPOService -Url “https://$orgName-admin.sharepoint.com” -Credential $MyCredentials
Get-SPOTenant | Select-Object LegacyAuthProtocolsEnabled, RequireAcceptingAccountMatchInvitedAccount
Microsoft Teams Servisine Bağlanma
Install-Module -Name MicrosoftTeams Connect-MicrosoftTeams -Credential $Mycredentials
Skype for Business Servisine Bağlanma
$skypeSession = New-CsOnlineSession -Credential $Mycredentials Import-PSSession -Session $skypeSession
Ek-Açıklama
Hesabınızda çift faktör doğrulama varsa $Mycredentials değişkeni yani credential bilgisini depolayıp kullanma yöntemi işe yaramayacaktır. Burda yapmanız gereken -credential parametresini kullanmadan servise bağlanmak olacaktır. Bu parametre olmadığında sistem size bir pencere açıp kullanıcı adı şifre ve token bilgisini sırasıyla sizden isteyecektir. Bilgilerin doğru olması durumunda bağlantı gerçekleşecektir.
Bağlantı başarılı bir şekilde kurulduktan sonra ilgili modüle ait komutları kullanabiliyor olacaksınız. Bu komutların neler olduğunu keşfetmek için, örneğin teams komutları;
get-command -module microsoftteams
Son söz
Evet arkadaşlar bir makalemizin daha sonuna geldik. Makalemizi özetlemek durumunda olursak. Microsoft 365 servislerini komut satırından diğer bir ifade ile terminalden yönetmek için önce ilgili modülü yükleriz sonrasında bu modüle bağlanırız, son olarakta bu modüldeki komutları komut seti mantığında yada script mantığında kullanarak servisimizi yönetiriz.
Kürşat ARI / System Engineer & PowerShell Developer