ค้นหาเว็บไซต์

SharePoint Online: เปิดใช้งานการตรวจสอบโดยใช้ PowerShell


ความต้องการ: เปิดใช้งานการตรวจสอบใน SharePoint Online โดยใช้ PowerShell

อัปเดต: บันทึกการตรวจสอบ SharePoint Online Site Collection ถูกปิดใช้งานและไม่สามารถเข้าถึงได้จากทั้งวิธี Web UI และ CSOM! คุณต้องใช้บันทึกการตรวจสอบแบบรวมจากศูนย์การปฏิบัติตามกฎระเบียบแทน: วิธีดูบันทึกการตรวจสอบของ SharePoint Online จากศูนย์ความปลอดภัยและการปฏิบัติตามกฎระเบียบแทน

การตรวจสอบใน SharePoint Online ช่วยในการติดตามการกระทำของผู้ใช้ในไซต์คอลเลกชัน โดยทั่วไปเราใช้การตรวจสอบเพื่อติดตามวิธีใช้ไซต์ ประเภทเนื้อหา รายการ ไลบรารี และรายการ และเป็นส่วนหนึ่งของนโยบายการจัดการข้อมูล - ความสม่ำเสมอด้านความปลอดภัยและการปฏิบัติตามกฎหมาย การรู้ว่าใครทำอะไรโดยใช้ข้อมูลใดถือเป็นสิ่งสำคัญในสถานการณ์ทางธุรกิจต่างๆ เมื่อเปิดใช้งานคุณลักษณะการตรวจสอบ สามารถตรวจสอบเหตุการณ์ต่อไปนี้รวมกันได้:

  • การแก้ไขรายการ
  • การเช็คเอาท์หรือเช็คอินรายการ
  • การย้ายหรือคัดลอกรายการไปยังตำแหน่งอื่นบนเว็บไซต์
  • การลบหรือกู้คืนรายการ
  • การแก้ไขประเภทเนื้อหาและคอลัมน์
  • ค้นหาเนื้อหาไซต์
  • การแก้ไขผู้ใช้และการอนุญาต

เมื่อเปรียบเทียบกับ SharePoint On-premises ใน SharePoint Online การดูรายการในรายการและการดูคุณสมบัติของรายการ การเปิดหรือดาวน์โหลดเอกสารจะไม่พร้อมใช้งานเนื่องจากข้อกังวลด้านพื้นที่จัดเก็บและประสิทธิภาพ

จะเปิดใช้งานการตรวจสอบใน SharePoint Online ได้อย่างไร

การตรวจสอบไม่ได้เปิดใช้งานตามค่าเริ่มต้น การตั้งค่าการตรวจสอบได้รับการกำหนดค่าที่ระดับไซต์คอลเลกชันใน SharePoint Online หากต้องการเปิดใช้งานการตรวจสอบใน SharePoint Online

  1. ไปที่คอลเลกชันไซต์ระดับบนสุดของ SharePoint Online
  2. คลิกที่เฟืองการตั้งค่าแล้วคลิกการตั้งค่าไซต์
  3. ในหน้าการตั้งค่าไซต์ คลิกที่ "การตั้งค่าการตรวจสอบไซต์คอลเลกชัน" ใต้การดูแลไซต์คอลเลกชัน
  4. ระบุเหตุการณ์การตรวจสอบสำหรับ “เอกสารและรายการ” และ “รายการ ไลบรารี และไซต์” โดยเปิดใช้งานกล่องกาเครื่องหมายเพื่อตรวจสอบเหตุการณ์ เช่น “การแก้ไขรายการ” “การลบหรือการกู้คืนรายการ” ฯลฯ

  5. คลิก "ตกลง" เพื่อบันทึกการเปลี่ยนแปลงของคุณ ซึ่งเปิดใช้งานการตรวจสอบสำหรับคอลเลกชันไซต์ 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

  1. ทั้งหมด
  2. ไม่มี
  3. เช็คเอาท์
  4. เช็คอิน
  5. ดู
  6. วัตถุลบ
  7. อัปเดต
  8. การเปลี่ยนแปลงโปรไฟล์
  9. เด็กลบ
  10. SchemaChange
  11. ความปลอดภัยเปลี่ยนแปลง
  12. ยกเลิกการลบ
  13. ขั้นตอนการทำงาน
  14. สำเนา
  15. เคลื่อนไหว
  16. ค้นหา

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
}

บทความที่เกี่ยวข้อง