สร้างรายงานการใช้งานไซต์ SharePoint Online โดยใช้ Graph API และ PowerShell
ความต้องการ: สร้างรายงานการใช้งานสำหรับไซต์ SharePoint Online
จะสร้างรายงานการใช้งานสำหรับไซต์ SharePoint Online ทั้งหมดในผู้เช่าได้อย่างไร
ถ้าคุณเป็นผู้ดูแลระบบ SharePoint คุณอาจพบว่าการสร้างรายงานเกี่ยวกับวิธีที่ผู้ใช้ของคุณใช้ไซต์และเนื้อหามีประโยชน์ Microsoft ช่วยให้คุณสร้างรายงานการใช้งานที่มีสถิติต่างๆ เช่น ไฟล์ทั้งหมด พื้นที่เก็บข้อมูลที่ใช้ มุมมองหน้า ฯลฯ ได้อย่างง่ายดาย โพสต์ในบล็อกนี้จะแสดงวิธีสร้างรายงานการใช้งานสำหรับไซต์ SharePoint Online ทั้งหมดในผู้เช่าของคุณ รายงานเหล่านี้สามารถใช้เพื่อช่วยคุณติดตามและตรวจสอบกิจกรรมของผู้ใช้บนไซต์ SharePoint ของคุณ
จากพอร์ทัลผู้ดูแลระบบ Microsoft 365 คุณสามารถส่งออกข้อมูลการใช้งานในรูปแบบ CSV ได้ เมื่อต้องการรับรายงานการใช้งานและกิจกรรมสำหรับไซต์ SharePoint Online ทั้งหมด ให้ทำตามขั้นตอนเหล่านี้:
- ไปที่ศูนย์การจัดการ Microsoft 365 ที่ https://admin.microsoft.com/
- คลิกที่รายงาน >> การใช้งานในการนำทางด้านซ้าย
- เลือกรายงานที่ต้องการ เช่น. การใช้งานไซต์ SharePoint
รายงานการใช้งานไซต์ SharePoint จะพร้อมใช้งานในช่วง 7 วัน, 30 วัน, 90 วัน และ 180 วันที่ผ่านมา คุณยังสามารถส่งออกข้อมูลรายงานเป็นไฟล์ CSV ได้โดยเลือกลิงก์ส่งออก
จะสร้างรายงานการใช้งานโดยใช้กราฟ API และ PowerShell ได้อย่างไร
Microsoft Graph API เป็นบริการสื่อสารที่เชื่อมต่อและจัดการข้อมูลระหว่างบริการ Azure และ Microsoft 365 หากต้องการเรียกใช้เมธอด Microsoft Graph API เราจำเป็นต้องมีแอป ทำตามขั้นตอนเหล่านี้เพื่อเพิ่มแอปใหม่
ขั้นตอนที่ 1: สร้างการลงทะเบียนแอปใหม่ใน Azure AD
หากต้องการใช้ Microsoft Graph API คุณต้องลงทะเบียนแอปพลิเคชันก่อน
- เข้าสู่ระบบ Azure Active Directory ที่ https://portal.azure.com >> เปิด “Azure Active Directory” >> คลิกที่ “การลงทะเบียนแอป” จากการนำทางด้านซ้าย
คลิกที่ “การลงทะเบียนใหม่” >> ระบุชื่อแอปพลิเคชันของคุณ เลือก “ใครสามารถใช้แอปพลิเคชันนี้หรือเข้าถึง API นี้ได้บ้าง” คลิกที่ปุ่ม “ลงทะเบียน” ที่ด้านล่างเพื่อเพิ่มแอปใหม่
ขั้นตอนที่ 2: ให้สิทธิ์แก่แอป
เมื่อสร้างแอปแล้ว ขั้นตอนต่อไปคือการให้สิทธิ์ที่จำเป็นในการอ่านรายงานการใช้งาน
- จากหน้าการลงทะเบียนแอป ให้เปิดแอปที่คุณเพิ่งสร้างขึ้น >> คลิกที่ "สิทธิ์ API"
คลิกที่ “เพิ่มสิทธิ์” >> เลือก “Microsoft Graph” >> เลือก “สิทธิ์ของแอปพลิเคชัน” >> ใต้รายงาน เลือก “รายงานอ่านทั้งหมด”>> คลิกที่ “เพิ่มสิทธิ์”
คุณอาจต้องเลือกการอนุญาตที่แตกต่างกันขึ้นอยู่กับสิ่งที่คุณต้องการเข้าถึง Microsoft Graph API สามารถสืบค้นรายละเอียดเกือบทั้งหมดจาก Azure AD หรือบริการ Office 365 อื่นๆ
ความยินยอมในการสมัคร
การอนุญาตแอปพลิเคชันต้องได้รับความยินยอมจากผู้ดูแลระบบในผู้เช่าก่อนจึงจะสามารถใช้งานได้ สร้าง URL คำยินยอมดังต่อไปนี้:
- เลือก “รายงานอ่านทั้งหมด” และคลิกที่ปุ่ม “ให้สิทธิ์ผู้ดูแลระบบยินยอมสำหรับ <ผู้เช่าของคุณ>” หนึ่งครั้ง
ขั้นตอนที่ 3: เพิ่มความลับของลูกค้า
ในขั้นตอนสุดท้าย เราจำเป็นต้องมีรหัสลับไคลเอ็นต์ที่เชื่อมโยงกับแอป
จากหน้าแอป คลิกลิงก์ "ใบรับรองและความลับ" ในการนำทางด้านซ้าย คลิกที่ปุ่ม "ความลับของลูกค้าใหม่" เลือกระยะเวลาที่ถูกต้องสำหรับแอปและสร้างรหัสลับไคลเอ็นต์
วิธี PowerShell to Call Graph API เพื่อรับรายงานการใช้งาน
เมื่อเราเตรียมแอปให้พร้อมแล้ว ให้คัดลอกและวางรหัสลูกค้า ข้อมูลลับ และพารามิเตอร์อื่นๆ ลงในสคริปต์นี้แล้วดำเนินการ มาสร้างรายงานการใช้งานสำหรับไซต์ SharePoint Online ของคุณโดยใช้ Graph API และ PowerShell:
#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
สคริปต์ PowerShell นี้สร้างรายงาน CSV เป็น:
การอ้างอิง Microsoft Graph REST API https://docs.microsoft.com/en-us/graph/api/resources/sharepoint-activity-reports?view=graph-rest-1.0




