En Kullanışlı On Office 365 PowerShell Komutu
Office 365'i yönetmek için Windows PowerShell'i kullanmak ilk başta tuhaf görünebilir. Sonuçta bulut çözümleri, Windows PowerShell ile bağlantılı olarak nadiren kullanılan sıfatlar olan basitlik ve kullanım kolaylığı vaat ediyor. Ama benimle kal. Bu makalede size sistem yöneticileri için en kullanışlı on Office 365 PowerShell cmdlet'ini göstereceğim. Belki bu talimatları okuduktan sonra PowerShell'in bulut tabanlı sistemler için bile değerli bir araç olabileceğini kabul edeceksiniz.
1. PowerShell ile Office 365 örneğine bağlanma
Öncelikle Windows PowerShell için Office 365 modülünü kurup Office 365 örneğine bağlanmamız gerekiyor. Aşağıdaki adımları izleyin:
1. BT Uzmanları RTW için Microsoft Çevrimiçi Hizmetler Oturum Açma Asistanını indirip yükleyin.
2. Microsoft Azure Active Directory ve Office 365 için Çevrimiçi Hizmetler PowerShell modülünü içe aktarın:
Install-Module -Name AzureAD
Install-Module -Name MSOnline3. Office 365 yönetici kimlik bilgilerinizi girin:
$Cred = Get-Credential
4. Uzak bir PowerShell oturumu oluşturun:
$O365 = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $Cred -Authentication Basic -AllowRedirection5. Oturum komutlarını yerel Windows PowerShell oturumuna aktarın:
Import-PSSession $O3656. Tüm Office 365 hizmetlerine bağlanın:
Connect-MsolService –Credential $O365Windows PowerShell modüllerini içe aktardıktan sonra Office 365 örneğimizi yönetmeye hazırız.
2. PowerShell ile Exchange Online ve SharePoint Online'a bağlanma
Ayrıca Microsoft Exchange Online ve Microsoft SharePoint Online'a ayrı ayrı da bağlanabiliyoruz. PowerShell ile Exchange Online'a bağlanmak temelde Office 365'e bağlanmakla aynıdır:
$Cred = Get-Credential
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $Cred -Authentication Basic –AllowRedirectionSharePoint Online'a bağlanmak biraz farklıdır. SharePoint Online kiracınızı yönetmek için öncelikle SharePoint Online Yönetim Kabuğu özelliğini indirip yüklemeniz gerekir. Ardından aşağıdaki PowerShell betiğini çalıştırın:
$admin="Admin@enterprise.onmicrosoft.com"
$orgname="enterprise"
$userCred = Get-Credential -UserName $admin -Message "Type the password."
Connect-SPOService -Url https://$orgname-admin.sharepoint.com -Credential $userCred3. Kullanılabilir Office 365 PowerShell cmdlet'lerinin listesini alma
Kullanılabilir tüm Office 365 PowerShell komutlarının bir listesini almak için Get-Command cmdlet'ini çalıştırmamız gerekir:
Get-Command -module MSOnlineAzure Active Directory için cmdlet'lerin listesini de alabiliriz:
Get-Command -module AzureAD4. PowerShell ile tüm Office 365 kullanıcılarının listesini alma
Office 365 kullanıcılarının ve lisanslarının bir listesini sağlamanız gerekiyorsa Get-MsolUser cmdlet'ini kullanın. Office 365 kiracısındaki geçerli bir lisansa sahip tüm kullanıcıları DisplayName, City, Departman ve ObjectID parametreleriyle birlikte alır.
Get-MsolUser | Select DisplayName, City, Department, ObjectID
Hesap lisanslarının sayısını görmek için aşağıdaki cmdlet'i çalıştırmanız gerekir:
Get-MsolAccountSkuKullanılabilir hizmetleri listelemek için aşağıdaki komut dosyasını çalıştırın:
Get-MsolAccountSku | select -ExpandProperty ServiceStatus5. Office 365'te PowerShell ile yeni kullanıcı oluşturma
Yeni bir kullanıcı oluşturmak için Yeni-MsolUser komutunu kullanırız:
New-MsolUser -UserPrincipalName JSmith@enterprise.onmicrosoft.com -DisplayName "John Smith" -FirstName “John” -LastName “Smith”Sistem kullanıcının şifresini ve lisans durumu verilerini verecektir.
6. PowerShell ile kullanıcıyı tüm sitelerden kaldırmak
Bir kullanıcıyı tüm sitelerden aynı anda kaldırmak için aşağıdaki komutu kullanırız:
Get-SPOSite | ForEach {Remove-SPOUser -Site $_.Url -LoginName " JSmith@enterprise.onmicrosoft.com"}7. Office 365'te PowerShell ile parola değiştirme
Bir hesabın şifresini değiştirmeniz gerekiyorsa Set-MsolUserPassword cmdlet'ini kullanın. Aşağıdaki örnekte olduğu gibi yeni bir şifre belirtebilir veya sistemin otomatik olarak rastgele bir şifre oluşturmasını sağlamak için -NewPassword parametresini atlayabilirsiniz.
Set-MsolUserPassword -UserPrincipalName JSmith@Netwrixqcspa.onmicrosoft.com -NewPassword P@SSw0rd!8. Office 365'te grup üyeliğini PowerShell ile yönetme
Ayrıca PowerShell cmdlet'lerini kullanarak Office 365 gruplarını da yönetebiliriz. Office 365'teki tüm grupların listesini almak için Get-MsolGroup komutunu kullanmanız yeterlidir. Bir gruba kullanıcı eklemek için Add-MsolGroupMember komutunu kullanın:
Add-MsolGroupMember -GroupObjectId 5b61d9e1-a13f-4a2d-b5ba-773cebc08eec -GroupMemberObjectId a56cae92-a8b9-4fd0-acfc-6773a5c1c767 -GroupMembertype userGroupObjectId, Get-MsolGroup komutundan alabileceğiniz grubun onaltılı kimliğidir. GroupMemberObejctId, bu komutu çalıştırarak bulabileceğiniz kullanıcı nesne kimliğidir:
Get-MsolUser | Select ObjectID.Bir kullanıcıyı gruptan kaldırmak için Remove-MsoGroupMember cmdlet'ini kullanın.
9. PowerShell ile SharePoint site koleksiyonu oluşturma
PowerShell'i kullanarak da bir SharePoint site koleksiyonu oluşturabiliriz:
New-SPOSite -Url "https://enterprise.sharepoint.com/sites/NewSite" -Owner "JSmith@enterprise.onmicrosoft.com" -StorageQuota "100" -Title "New Site"10. Office 365'te PowerShell ile rapor oluşturma
PowerShell farklı raporlar oluşturmak için harika bir araçtır. PowerShell aracılığıyla hazırlanan bazı yararlı Office 365 raporları şunlardır:
- Tüm posta kutularına ilişkin ayrıntılar:
Get-mailbox | get-MailboxStatistics- Son 30 gün içinde oturum açılmamış tüm posta kutularının listesi:
Get-Mailbox –RecipientType 'UserMailbox' | Get-MailboxStatistics | Sort-Object LastLogonTime | Where {$_.LastLogonTime –lt ([DateTime]::Now).AddDays(-30) } | Format-Table DisplayName, LastLogonTime- En yüksek hacimli gönderenler ve alıcılar hakkında bir rapor:
Get-MailTrafficTopReport- Tüm gruplar ve üyeleri hakkında bir rapor:
function Get-AllO365Members
{
Try
{
$O365Groups=Get-UnifiedGroup
foreach ($O365Group in $O365Groups)
{
Write-Host "Group Membership: " $O365Group.DisplayName -ForegroundColor Green
Get-UnifiedGroupLinks –Identity $O365Group.Identity –LinkType Members
Write-Host
}
}
catch [System.Exception]
{
Write-Host -ForegroundColor Red $_.Exception.ToString()
}
}
Get-AllO365MembersRaporlama cmdlet'lerinin çoğunun Ocak 2018'de kullanımdan kaldırıldığını ve bunların yerini yeni MS Graph Reporting API'nin aldığını unutmayın. Bu nedenle bazı raporlar artık yalnızca Office 365 Güvenlik ve Uyumluluk Merkezi'nde mevcuttur.
Gördüğünüz gibi PowerShell ile Office 365 yönetimi Microsoft Windows Server'da olduğu gibi hızlı ve kolaydır. Office 365 ortamınızda yaptığınız tüm değişiklikleri denetlemeyi unutmayın; sorunları daha hızlı gidermenize ve sorunlardan kurtulmanıza yardımcı olacaktır. Office 365 ortamınızda yerel denetimi nasıl yapılandıracağınızı öğrenmek için Exchange Çevrimiçi Denetim Hızlı Başvuru Kılavuzu'na ve Exchange Çevrimiçi Posta Kutusu Denetimi Hızlı Başvuru Kılavuzu'na göz atın. Office 365 ortamınızda olup bitenler hakkında eyleme dönüştürülebilir istihbaratın yanı sıra esnek raporlama, proaktif uyarı veren Google benzeri arama ve çok daha fazlasını istiyorsanız, Office 365 için Netwrix Auditor'ın ücretsiz deneme sürümünü talep edin.

