Graph API ve PowerShell'i kullanarak SharePoint Çevrimiçi Site Kullanım Raporları oluşturun
Gereksinim: SharePoint Online siteleri için kullanım raporları oluşturun.
Kiracıdaki Tüm SharePoint Çevrimiçi Siteleri için Kullanım Raporları Nasıl Oluşturulur?
SharePoint yöneticisiyseniz kullanıcılarınızın siteleri ve içeriği nasıl kullandıklarına ilişkin raporlar oluşturmayı yararlı bulabilirsiniz. Microsoft, Toplam Dosya Sayısı, Kullanılan Depolama Alanı, Sayfa Görünümleri vb. istatistikleri içeren bir kullanım raporu oluşturmanızı kolaylaştırdı. Bu blog gönderisi, kiracınızdaki tüm SharePoint Online siteleri için kullanım raporlarını nasıl oluşturacağınızı gösterecektir. Bu raporlar, SharePoint sitelerinizdeki kullanıcı etkinliğini izlemenize ve izlemenize yardımcı olmak için kullanılabilir.
Microsoft 365 yönetici portalından kullanım verilerini CSV formatında dışarı aktarabilirsiniz. Tüm SharePoint Online sitelerine ilişkin kullanım ve etkinlik raporlarını almak için şu adımları izleyin:
- https://admin.microsoft.com/ adresinde Microsoft 365 Yönetim Merkezi'ne gidin
- Sol gezinme bölmesinde Raporlar >> Kullanım'a tıklayın.
- Gerekli raporu seçin. Örneğin. SharePoint Sitesi Kullanımı.
SharePoint Sitesi kullanım raporları son 7 gün, 30 gün, 90 gün ve 180 gün için mevcuttur. Ayrıca Dışa Aktar bağlantısını seçerek rapor verilerini bir CSV dosyasına da aktarabilirsiniz.
Graph API ve PowerShell Kullanılarak Kullanım Raporları Nasıl Oluşturulur?
Microsoft Graph API, Azure ile Microsoft 365 hizmetleri arasındaki verileri bağlayan ve işleyen bir iletişim hizmetidir. Microsoft Graph API yöntemlerini çağırmak için bir Uygulamaya ihtiyacımız var. Yeni bir Uygulama eklemek için bu adımları izleyin.
Adım 1: Azure AD'de Yeni Uygulama Kaydı Oluşturun
Microsoft Graph API'lerini kullanmak için öncelikle bir uygulamayı kaydetmeniz gerekir.
- https://portal.azure.com adresinden Azure Active Directory'de oturum açın >> "Azure Active Directory"yi açın >> Sol gezinme bölümünden "Uygulama Kayıtları"na tıklayın
“Yeni Kayıt”a tıklayın >> Uygulamanız için bir Ad girin, “Bu uygulamayı kimler kullanabilir veya bu API'ye erişebilir?” seçeneğini seçin, yeni bir uygulama eklemek için alttaki “Kayıt Ol” butonuna tıklayın.
2. Adım: Uygulamaya İzin Verin
Uygulama oluşturulduktan sonraki adım, kullanım raporlarını okumak için gerekli izinleri sağlamaktır.
- Uygulama Kayıtları sayfasından yeni oluşturduğunuz Uygulamayı açın >> “API İzinleri”ne tıklayın
"İzin Ekle"yi tıklayın >> "Microsoft Graph"ı seçin >> "Uygulama İzinleri"ni seçin >> Raporlar altında, "Raporlar.Tümünü Oku"yu seçin>> "İzin Ekle"yi tıklayın.
Neye erişmek istediğinize bağlı olarak farklı izinler seçmeniz gerekebilir. Microsoft Graph API, Azure AD veya diğer Office 365 hizmetlerinden neredeyse tüm ayrıntıları sorgulayabilir.
Başvuruya onay
Uygulama izninin kullanılabilmesi için kiracıda yönetici onayı gerekir. Aşağıdakine benzer bir izin URL'si oluşturun:
- “Reports.Read.All” seçeneğini seçin ve “
için yönetici onayı verin” düğmesine bir kez tıklayın.
3. Adım: İstemci Sırrını Ekleyin
Son adım olarak Uygulamayla ilişkili bir istemci gizli anahtarına ihtiyacımız var.
Uygulama sayfasında sol gezinme bölmesindeki "Sertifikalar ve sırlar" bağlantısını tıklayın. “Yeni müşteri sırrı” butonuna tıklayın. Uygulamanın geçerlilik süresini seçin ve bir istemci gizli anahtarı oluşturun.
Kullanım Raporlarını almak için PowerShell'den Arama Grafiği API'si yöntemi
Uygulamayı hazır hale getirdiğimizde, İstemci Kimliğini, Sırrı ve Diğer Parametreleri kopyalayıp bu betiğe yapıştırın ve çalıştırın. Graph API ve PowerShell'i kullanarak SharePoint Online siteleriniz için kullanım raporları oluşturalım:
#Function to Call Graph API
Function Get-UsageReport {
param (
[parameter(Mandatory = $true)] [string]$ClientID,
[parameter(Mandatory = $true)] [string]$ClientSecret,
[parameter(Mandatory = $true)] [string]$TenantName,
[parameter(Mandatory=$true)] [string]$GraphUrl
)
Try {
#Graph API URLs
$LoginUrl = "https://login.microsoft.com"
$ResourceUrl = "https://graph.microsoft.com"
#Compose REST request
$Body = @{ grant_type = "client_credentials"; resource = $ResourceUrl; client_id = $ClientID; client_secret = $ClientSecret }
$OAuth = Invoke-RestMethod -Method Post -Uri $LoginUrl/$TenantName/oauth2/token?api-version=1.0 -Body $Body
#Perform REST call
$HeaderParams = @{ 'Authorization' = "$($OAuth.token_type) $($OAuth.access_token)" }
$Result = (Invoke-WebRequest -UseBasicParsing -Headers $HeaderParams -Uri $GraphUrl)
#Format Microsoft Graph Output
(($Result).RawContent -Split "\?\?\?")[1] | ConvertFrom-Csv
}
Catch {
Write-host "Error: $($_.Exception.Message)" -foregroundcolor Red
}
}
#Parameters
$ClientID = "98ax2c6d2-264c-424e-b911-c33x547de5211"
$ClientSecret = "T1ZP3-a_NIoA4cej2xky.2xaDcF..6E5"
$TenantName = "crescentintranet.onmicrosoft.com"
$GraphUrl = "https://graph.microsoft.com/v1.0/reports/getSharePointSiteUsageDetail(period='D30')"
#Call the function to get usage data
$UsageData = Get-UsageReport -ClientID $ClientID -ClientSecret $ClientSecret -TenantName $TenantName -GraphUrl $GraphUrl
$UsageData
$UsageData | Export-Csv "C:\Temp\siteusage.csv" -NoTypeInformation
Bu PowerShell betiği şu şekilde bir CSV raporu oluşturur:
Microsoft Graph REST API Referansı https://docs.microsoft.com/en-us/graph/api/resources/sharepoint-activity-reports?view=graph-rest-1.0




