En Sık Kullanılan 10 Office 365 PowerShell Komutu
PowerShell, Office 365 yöneticileri için hâlâ değerli bir araçtır. Bulut çözümleri, Windows PowerShell'in genel olarak tanımlandığı gibi basitlik ve kullanım kolaylığı anlamına gelse de, sistem yöneticileri için bazı yararlı Office 365 PowerShell cmdlet'leri vardır. Ayrıca, yöneticiler bazen Office 365 portalındaki birçok seçenek arasında arama yapmak yerine, ihtiyaç duydukları şeyi elde etmek için birkaç satır kod yazmayı daha kolay buluyorlar. Bu komutlara baktığınızda PowerShell'in kullanımı kolay olmasa da bulut tabanlı sistemler için bile değerli bir araç olabileceğini göreceksiniz.
Office 365 raporlaması için PowerShell kullanımına alternatif, daha basit bir çözüm, bu makalenin sonunda ele alacağımız Office 365 için Lepide Auditor'ı kullanmaktır.
En İyi 10 Office 365 PowerShell Komutu
Aşağıda Office 365'te en sık kullanılan on PowerShell cmdlet'inin listesi bulunmaktadır.
1. PowerShell ile Office 365 Örneğine Bağlanma
İlk adım, Windows PowerShell için Office 365 modülünü yüklemek ve Office 365 örneğine bağlanmaktır:
- BT Uzmanları RTW için Microsoft Çevrimiçi Hizmetler Oturum Açma Asistanını indirip yükleyin
-
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 MSOnline - Office 365 yönetici kimlik bilgilerinizi girin:
$Cred=Kimlik Bilgisi Al - Tüm Office 365 hizmetlerine bağlanın:
Connect-MsolService - Kimlik Bilgisi $O365
Windows PowerShell modülleri içe aktarıldıktan sonra Office 365 örneğimizi yönetebiliriz.
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 aslında Office 365'e bağlanmakla aynıdır:
$Cred = Get-Credential
Connect-ExchangeOnline -Credential $Credential -ShowBanner:$FalseSharePoint 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="username@lepidesoftware.onmicrosoft.com"
$orgname="lepidesoftware"
$userCred = Get-Credential -UserName $admin -Message "Type the password."
Connect-SPOService -Url https://lepidesoftware-admin.sharepoint.com -Credential $userCred3. Kullanılabilir Office 365 PowerShell cmdlet'lerinin listesini alın
Kullanılabilir tüm Office 365 PowerShell komutlarının bir listesini almak için Get-Command cmdlet'ini çalıştırın:
Get-Command -module MSOnline
Azure Active Directory için cmdlet'lerin listesini de alabiliriz:
Get-Command -modül AzureAD
4. PowerShell ile tüm Office 365 Kullanıcılarının bir listesini alın
Office 365 kullanıcılarının ve lisanslarının bir listesini oluşturmanız gerekiyorsa Get-MsolUser cmdlet'ini kullanın. Bu, Office 365 kiracısındaki geçerli bir lisansa sahip tüm kullanıcıları DisplayName, City, Departman ve ObjectID parametreleriyle birlikte alacaktır.
Get-MsolUser -maxresults 100 | Select DisplayName, Department, ObjectID
Get-MsolUser -EnabledFilter EnabledOnly -MaxResults 100 Hesap lisanslarının sayısını görmek için aşağıdaki cmdlet'i çalıştırmanız gerekir:
Get-MsolAccountSku
Kullanılabilir hizmetleri listelemek için aşağıdaki komut dosyasını çalıştırın:
Get-MsolAccountSku | -ExpandProperty ServiceStatus'u seçin
5. Office 365'te PowerShell ile Yeni Kullanıcı Oluşturma
Yeni bir kullanıcı oluşturmak için New-MsolUser komutunu kullanıyoruz:
Yeni-MsolKullanıcı -KullanıcıPrincipalName JSmith@lepidesoftware.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 kullanabiliriz:
$AdminSiteURL="https://lepidesoftware-admin.sharepoint.com"
$UserAccount = "username@lepidesoftware.onmicrosoft.com"
Connect-SPOService -URL $AdminSiteURL -Credential (Get-Credential)
$SitesCollections = Get-SPOSite -Limit ALL
ForEach($Site in $SitesCollections)
{
Write-host -f Yellow "Checking Site Collection:"$Site.URL
$User = Get-SPOUser -Limit All -Site $Site.URL | Where {$_.LoginName -eq $UserAccount}
If($User)
{
Remove-SPOUser -Site $Site.URL -LoginName $UserAccount
Write-host -f Green "`tUser $($UserAccount) has been removed from Site collection!"
}
}
7. PowerShell ile Office 365’te Parola Değiştirme
Bir hesabın parolasını değiştirmeniz gerekiyorsa Set-MsolUserPassword cmdlet'ini kullanın.
Aşağıdaki örnekte olduğu gibi yeni bir şifre belirleyebilir veya -NewPassword parametresini çıkararak sistemin otomatik olarak rastgele bir şifre oluşturmasını sağlayabilirsiniz.
Set-MsolUserPassword -UserPrincipalName JSmith@lepidesoftware.onmicrosoft.com -NewPassword 2wsx@WSX@128. Office 365'te Grup Üyeliğini PowerShell ile Yönetme
Office 365 grupları PowerShell cmdlet'leri kullanılarak yönetilebilir. 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:
Bu komut Kiracıdaki tüm Kullanıcı gruplarını verir:
Connect-MsolService
Get-MsolGroup
Office 365 gruplarına üye eklemek için:
$Credential = Get-Credential
Connect-ExchangeOnline -Credential $Credential -ShowBanner:$False
Add-UnifiedGroupLinks -Identity "Groupemail@lepidesoftware.onmicrosoft.com" -LinkType "Members" -Links "membername@lepidesoftware.onmicrosoft.com"GroupObjectId, Get-MsolGroup komutundan alabileceğiniz grubun onaltılık kimliğidir. GroupMemberObejctId, bu komutu çalıştırarak bulabileceğiniz kullanıcı nesne kimliğidir:
Get-MsolUser | NesneKimliği'ni seçin.
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:
Connect-SPOService -url https://lepidesoftware-admin.sharepoint.com
New-SPOSite -Url "https://lepidesoftware.sharepoint.com/sites/PowershellSite1" -Owner "ownername@lepidesoftware.onmicrosoft.com" -StorageQuota "100" -Title "Powershell Site1"10. PowerShell ile Office 365'te Rapor Oluşturma
PowerShell farklı raporlar oluşturmak için kullanılabilir. PowerShell aracılığıyla hazırlanan bazı yararlı Office 365 raporları şunlardır:
Tüm posta kutularına ilişkin ayrıntılar:
Posta kutusu al | get-MailboxStatistics
Son 30 gün içinde oturum açılmamış tüm posta kutularının listesi:
get-mailbox -resultsize unlimited |Get-MailboxStatistics | where {$_.LastLogonTime -lt (get-date).AddDays(-7)} | ft displayName,lastlogontime,lastloggedonuseraccount,servernameEn yüksek hacimli gönderenler ve alıcılar hakkında bir rapor:
Get-MailTrafficSummaryReport -Category TopSpamRecipient
Raporlama 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ı lütfen unutmayın. Bu nedenle bazı raporlar artık yalnızca Office 365 Güvenlik ve Uyumluluk Merkezi'nde mevcuttur.

