SharePoint Online: เปิดใช้งานการตรวจสอบโดยใช้ PowerShell
ความต้องการ: เปิดใช้งานการตรวจสอบใน SharePoint Online โดยใช้ PowerShell
การตรวจสอบใน SharePoint Online ช่วยในการติดตามการกระทำของผู้ใช้ในไซต์คอลเลกชัน โดยทั่วไปเราใช้การตรวจสอบเพื่อติดตามวิธีใช้ไซต์ ประเภทเนื้อหา รายการ ไลบรารี และรายการ และเป็นส่วนหนึ่งของนโยบายการจัดการข้อมูล - ความสม่ำเสมอด้านความปลอดภัยและการปฏิบัติตามกฎหมาย การรู้ว่าใครทำอะไรโดยใช้ข้อมูลใดถือเป็นสิ่งสำคัญในสถานการณ์ทางธุรกิจต่างๆ เมื่อเปิดใช้งานคุณลักษณะการตรวจสอบ สามารถตรวจสอบเหตุการณ์ต่อไปนี้รวมกันได้:
- การแก้ไขรายการ
- การเช็คเอาท์หรือเช็คอินรายการ
- การย้ายหรือคัดลอกรายการไปยังตำแหน่งอื่นบนเว็บไซต์
- การลบหรือกู้คืนรายการ
- การแก้ไขประเภทเนื้อหาและคอลัมน์
- ค้นหาเนื้อหาไซต์
- การแก้ไขผู้ใช้และการอนุญาต
เมื่อเปรียบเทียบกับ SharePoint On-premises ใน SharePoint Online การดูรายการในรายการและการดูคุณสมบัติของรายการ การเปิดหรือดาวน์โหลดเอกสารจะไม่พร้อมใช้งานเนื่องจากข้อกังวลด้านพื้นที่จัดเก็บและประสิทธิภาพ
จะเปิดใช้งานการตรวจสอบใน SharePoint Online ได้อย่างไร
การตรวจสอบไม่ได้เปิดใช้งานตามค่าเริ่มต้น การตั้งค่าการตรวจสอบได้รับการกำหนดค่าที่ระดับไซต์คอลเลกชันใน SharePoint Online หากต้องการเปิดใช้งานการตรวจสอบใน SharePoint Online
- ไปที่คอลเลกชันไซต์ระดับบนสุดของ SharePoint Online
- คลิกที่เฟืองการตั้งค่าแล้วคลิกการตั้งค่าไซต์
- ในหน้าการตั้งค่าไซต์ คลิกที่ "การตั้งค่าการตรวจสอบไซต์คอลเลกชัน" ใต้การดูแลไซต์คอลเลกชัน
ระบุเหตุการณ์การตรวจสอบสำหรับ “เอกสารและรายการ” และ “รายการ ไลบรารี และไซต์” โดยเปิดใช้งานกล่องกาเครื่องหมายเพื่อตรวจสอบเหตุการณ์ เช่น “การแก้ไขรายการ” “การลบหรือการกู้คืนรายการ” ฯลฯ
- คลิก "ตกลง" เพื่อบันทึกการเปลี่ยนแปลงของคุณ ซึ่งเปิดใช้งานการตรวจสอบสำหรับคอลเลกชันไซต์ SharePoint Online
รายงานการตรวจสอบ SharePoint Online
เมื่อเปิดใช้งานการตรวจสอบแล้ว คุณจะได้รับรายงานการตรวจสอบผ่านลิงก์ "รายงานบันทึกการตรวจสอบ" ในหน้าการตั้งค่าไซต์คอลเลกชัน
SharePoint Online: เปิดใช้งานการตรวจสอบโดยใช้ PowerShell
นี่คือ PowerShell เพื่อเปิดใช้งานการตรวจสอบใน SharePoint Online:
#Load SharePoint CSOM Assemblies
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.dll"
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
#Site collection URL
$SiteURL = "https://crescent.sharepoint.com/"
#Get Credentials to connect
$Cred= Get-Credential
$Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Cred.Username, $Cred.Password)
Try {
#Setup the context
$Context = New-Object Microsoft.SharePoint.Client.ClientContext($SiteURL)
$Context.Credentials = $credentials
#Get the Site Collection and Audit Objects
$Site = $Context.Site
$Context.Load($Site)
$Audit = $Site.Audit
$Context.Load($Audit)
$Context.ExecuteQuery()
#Define Audit Flag
$AuditFlag = [Microsoft.SharePoint.Client.AuditMaskType]::None
#Set Audit Settings for the Site collection
$Audit.AuditFlags = $AuditFlag
$Audit.Update()
#Set Autdit Log Trimming Options
$Site.TrimAuditLog = $True
$Site.AuditLogTrimmingRetention = 90
$Audit.Update()
#Set Audit Log location
$Site.RootWeb.AllProperties["_auditlogreportstoragelocation"] = $SiteURL+"AuditDocuments"
$Site.RootWeb.Update()
$Context.ExecuteQuery()
Write-host "Audit Settings Configured for the Site Collection!" -ForegroundColor Green
}
catch {
write-host "Error Enabling Audit for Site Collection $($_.Exception.Message)" -Foregroundcolor Red
}
นี่คือรายการมาสก์การตรวจสอบที่มีอยู่ทั้งหมดตามhttps://msdn.microsoft.com/en-us/library/microsoft.sharepoint.client.auditmasktype.aspx
- ทั้งหมด
- ไม่มี
- เช็คเอาท์
- เช็คอิน
- ดู
- วัตถุลบ
- อัปเดต
- การเปลี่ยนแปลงโปรไฟล์
- เด็กลบ
- SchemaChange
- ความปลอดภัยเปลี่ยนแปลง
- ยกเลิกการลบ
- ขั้นตอนการทำงาน
- สำเนา
- เคลื่อนไหว
- ค้นหา
SharePoint Online: ตั้งค่าการตรวจสอบโดยใช้ PowerShell สำหรับไซต์คอลเลกชันทั้งหมด
การตรวจสอบได้รับการกำหนดค่าที่ระดับไซต์คอลเลกชัน เมื่อคุณมีไซต์คอลเลกชันจำนวนมาก การเปิดใช้งานการตรวจสอบผ่าน UI ของเว็บโดยไปที่แต่ละไซต์คอลเลกชันจะเป็นงานที่น่าเบื่อ ดังนั้น ลองใช้ PowerShell เพื่อเปิดใช้งานการตรวจสอบใน SharePoint Online สำหรับไซต์คอลเลกชันทั้งหมด
#Load SharePoint CSOM Assemblies
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.dll"
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
Function Set-SPOSiteAudit($SiteURL, $AuditFlags)
{
#Setup Credentials to connect
$Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($AdminCred.Username, $AdminCred.Password)
Try {
#Setup the context
$Context = New-Object Microsoft.SharePoint.Client.ClientContext($SiteURL)
$Context.Credentials = $credentials
#Get the Site Collection and Audit Objects
$Site = $Context.Site
$Context.Load($Site)
$Audit = $Site.Audit
$Context.Load($Audit)
$Context.ExecuteQuery()
#sharepoint online audit settings powershell
$Audit.AuditFlags = $AuditFlags
$Audit.Update()
$Context.ExecuteQuery()
Write-host -ForegroundColor Green "Audit Settings Configured for the Site Collection:" $SiteURL
}
catch {
write-host -Foregroundcolor Red "Error Enabling Audit for Site Collection $($_.Exception.Message)"
}
}
#Set parameter values
$AdminSiteURL = "https://crescent-Admin.sharepoint.com/"
$AuditFlags="ChildDelete, ObjectDelete, Undelete, Update, Move, SecurityChange"
#Get Credentials to Connect
$AdminCred = Get-Credential
#Connect to SharePoint Online Tenant Admin
Connect-SPOService -URL $AdminSiteURL -Credential $AdminCred
#Get all Site Collections
$SitesCollection = Get-SPOSite -Limit ALL
#Iterate through each site collection
ForEach($Site in $SitesCollection)
{
Write-host -f Yellow "Applying Audit Settings for Site Collection:"$Site.URL
#Call the function to set auditing for site collection
Set-SPOSiteAudit -SiteURL $Site.URL -AuditFlags $AuditFlags
}
