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

SharePoint Online: ค้นหาถังรีไซเคิลโดยใช้ PowerShell


ข้อกำหนด: ค้นหาถังรีไซเคิลของ SharePoint Online สำหรับไฟล์ทั้งหมดที่ถูกลบโดยผู้ใช้รายใดรายหนึ่ง

จะค้นหาถังรีไซเคิลของ SharePoint Online ได้อย่างไร

คุณรู้หรือไม่ว่าคุณสามารถใช้ PowerShell เพื่อค้นหาถังรีไซเคิลใน SharePoint Online ได้ ในโพสต์บนบล็อกนี้ เราจะสำรวจพื้นฐานของการใช้ PowerShell เพื่อค้นหาถังรีไซเคิลออนไลน์ของ SharePoint

หากต้องการค้นหารายการทั้งหมดที่ถูกลบโดยผู้ใช้รายใดรายหนึ่ง ให้ทำดังต่อไปนี้:

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

อย่างไรก็ตาม การค้นหาถังรีไซเคิลของ SharePoint Online ผ่านทางส่วนติดต่อผู้ใช้แบบเว็บนั้นเป็นเรื่องที่ยุ่งยากเมื่อคุณมีไฟล์ที่ถูกลบจำนวนมาก ลองใช้ PowerShell เพื่อรับไฟล์ที่ถูกลบจากถังรีไซเคิล

สคริปต์ PowerShell เพื่อค้นหาถังรีไซเคิลของ SharePoint Online

นี่คือ SharePoint Online PowerShell เพื่อค้นหาถังรีไซเคิล:


#Load SharePoint Online 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"
   
##Variables for Processing
$SiteUrl = "https://crescent.sharepoint.com/sites/Sales"
$AdminUserName="Salaudeen@crescent.com"
$DeletedByUserAccount="salaudeen.rajack@crescent.com"

#Get the password to connect 
$Password = Read-host -assecurestring "Enter Password for $AdminUserName"
$Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($AdminUserName,$Password)
 
Try {    
    #Setup the context
    $Context = New-Object Microsoft.SharePoint.Client.ClientContext($SiteUrl)
    $Context.Credentials = $Credentials
    
    #Get the site recycle bin
    $Site = $Context.Site
    $RecycleBinItems = $Site.RecycleBin
    $Context.Load($Site)
    $Context.Load($RecycleBinItems)
    $Context.ExecuteQuery()

    #Get all items deleted by particular user in Recycle bin
    $DeletedByUser = $RecycleBinItems | Where {$_.DeletedByEmail -eq $DeletedByUserAccount}
    Write-Host "Total Number of Items deleted by user:" $DeletedByUser.Count
    
    #format output as table and print to console
    $DeletedByUser | Select Title, DeletedByEmail, DeletedDate | Format-Table
}
catch {
    write-host "Error: $($_.Exception.Message)" -foregroundcolor Red
}

PnP PowerShell เพื่อรับรายการถังรีไซเคิลของ SharePoint Online:

การค้นหาถังรีไซเคิลของคุณใน SharePoint Online โดยใช้ PnP PowerShell เป็นเรื่องง่าย ด้วยโค้ดเพียงไม่กี่บรรทัด คุณสามารถค้นหาเนื้อหาของถังรีไซเคิลและค้นหารายการที่คุณกำลังมองหาได้ ในการเริ่มต้น ให้เปิด PowerShell และเชื่อมต่อกับไซต์ SharePoint Online ของคุณ จากนั้น รันสคริปต์ต่อไปนี้:

ต่อไปนี้คือวิธีค้นหาถังรีไซเคิลของ SharePoint Online ด้วย PnP PowerShell cmdlet Get-PnPRecycleBinItem


#Config Variables
$SiteURL = "https://Crescent.sharepoint.com/sites/marketing"

#Connect to PnP Online
Connect-PnPOnline -Url $SiteURL -Interactive

#Get Recycle bin Items
Get-PnPRecycleBinItem -RowLimit 500000 | Select Title, ItemType, Size, ItemState, DirName, DeletedByName, DeletedDate | Format-table -AutoSize

สคริปต์ PowerShell นี้รับรายการทั้งหมดจากถังรีไซเคิลของไซต์คอลเลกชัน SharePoint Online ที่ระบุ:

คุณสามารถส่งออกข้อมูลรายการถังรีไซเคิลเป็นไฟล์ CSV ได้โดย:


#Get Recycle bin Items and Export to CSV
Get-PnPRecycleBinItem -RowLimit 500000 | Select Title, ItemType, Size, ItemState, DirName, DeletedByName, DeletedDate | Export-Csv "C:\Temp\RecycleBin.csv" -NoTypeInformation

สคริปต์นี้ช่วยให้คุณได้รับข้อมูลของรายการที่ถูกลบทั้งหมดจากถังรีไซเคิลขั้นที่หนึ่งและขั้นที่สอง หากต้องการคืนค่ารายการที่ถูกลบจากถังรีไซเคิลให้ใช้: วิธีคืนค่ารายการที่ถูกลบใน SharePoint Online

หากคุณเป็นผู้ดูแลระบบ SharePoint Online คุณสามารถใช้ PowerShell เพื่อจัดการถังรีไซเคิลได้ ตัวอย่างเช่น คุณสามารถใช้ PowerShell เพื่อล้างถังรีไซเคิลหรือกู้คืนรายการจากถังรีไซเคิล เมื่อต้องการเรียนรู้เพิ่มเติมเกี่ยวกับการใช้ PowerShell กับ SharePoint Online ดูบทความต่อไปนี้:

  • วิธีใช้ PowerShell กับ SharePoint Online
  • วิธีล้างถังรีไซเคิลของ SharePoint Online
  • วิธีคืนค่าไซต์จากถังรีไซเคิลของ SharePoint Online

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