SharePoint Online: PowerShell เพื่อรับสิทธิ์ของรายการ
ความต้องการ: รับสิทธิ์ของรายการใน SharePoint Online โดยใช้ PowerShell
จะรับสิทธิ์ของรายการใน SharePoint Online ได้อย่างไร
ถ้าคุณเป็นผู้ดูแลระบบ SharePoint คุณจะต้องได้รับสิทธิ์ของรายการใน SharePoint Online ไม่ช้าก็เร็ว กระบวนการนี้ไม่ซับซ้อน แต่มีขั้นตอนที่คุณต้องปฏิบัติตาม ในโพสต์บล็อกนี้ ฉันจะแนะนำคุณตลอดกระบวนการทีละขั้นตอนในการดึงและแสดงระดับสิทธิ์ของผู้ใช้ในรายการหรือไลบรารี นอกจากนี้เรายังจะดูวิธีการรับสิทธิ์รายการใน SharePoint Online โดยใช้ PowerShell มาเริ่มกันเลย!
เมื่อต้องการดูสิทธิ์ที่ใช้กับรายการ SharePoint Online ให้ทำตามขั้นตอนเหล่านี้:
- นำทางไปยังรายการ SharePoint Online ของคุณ >> คลิกที่เฟืองการตั้งค่า >> การตั้งค่ารายการ
- คลิกลิงก์ "สิทธิ์ในรายการนี้" ในหน้าการตั้งค่ารายการ
หน้านี้ทำให้คุณได้รับสิทธิ์ทั้งหมดในรายการใดรายการหนึ่ง
อย่างไรก็ตาม การส่งออกสิทธิ์จากรายการและไลบรารีในส่วนติดต่อผู้ใช้ของ SharePoint Online อาจเป็นกระบวนการที่ซับซ้อนและใช้เวลานาน ดังนั้น มาทำให้งานนี้ง่ายขึ้นโดยใช้ PowerShell เพื่อรับสิทธิ์รายการใน SharePoint Online
SharePoint Online PowerShell เพื่อรับสิทธิ์ในรายการ
โชคดีที่เรามี PowerShell เพื่อสร้างรายงานสิทธิ์ใน SharePoint Online ในระดับต่างๆ: รายงานสิทธิ์ใน SharePoint Online โดยใช้ PowerShell นี่คือ PowerShell เพื่อรับสิทธิ์ในรายการและส่งออกเป็น CSV ใน 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 to Get List Permissions
Function Get-SPOListPermission([String]$SiteURL, [String]$ListName)
{
Try{
#Setup the context
$Ctx = New-Object Microsoft.SharePoint.Client.ClientContext($SiteURL)
$Ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Cred.Username, $Cred.Password)
#Get the List
$List = $Ctx.Web.Lists.GetByTitle($ListName)
$Ctx.Load($List)
$Ctx.ExecuteQuery()
#Get permissions assigned to the List
$RoleAssignments = $List.RoleAssignments
$Ctx.Load($RoleAssignments)
$Ctx.ExecuteQuery()
#Loop through each permission assigned and extract details
$PermissionCollection = @()
Foreach($RoleAssignment in $RoleAssignments)
{
$Ctx.Load($RoleAssignment.Member)
$Ctx.executeQuery()
#Get the User Type
$PermissionType = $RoleAssignment.Member.PrincipalType
#Get the Permission Levels assigned
$Ctx.Load($RoleAssignment.RoleDefinitionBindings)
$Ctx.ExecuteQuery()
$PermissionLevels = ($RoleAssignment.RoleDefinitionBindings | Select -ExpandProperty Name) -join ","
#Get the User/Group Name
$Name = $RoleAssignment.Member.Title # $RoleAssignment.Member.LoginName
#Add the Data to Object
$Permissions = New-Object PSObject
$Permissions | Add-Member NoteProperty Name($Name)
$Permissions | Add-Member NoteProperty Type($PermissionType)
$Permissions | Add-Member NoteProperty PermissionLevels($PermissionLevels)
$PermissionCollection += $Permissions
}
Return $PermissionCollection
}
Catch {
write-host -f Red "Error Getting List Permissions!" $_.Exception.Message
}
}
#Set Config Parameters
$SiteURL="https://crescent.sharepoint.com/sites/Marketing"
$ListName="Documents"
$ReportFile = "C:\Temp\ListPermissions.csv"
#Get Credentials to connect
$Cred= Get-Credential
#Call the function to Get List Permissions
$ListPermissions = Get-SPOListPermission $SiteURL $ListName
#Get List Permissions
$ListPermissions
#Export List Permissions to CSV File
$ListPermissions | Export-CSV $ReportFile -NoTypeInformation
และไฟล์ CSV ที่ส่งออกจะมีลักษณะดังนี้:
โดยสรุป การใช้ PowerShell เพื่อรับสิทธิ์รายการใน SharePoint Online สามารถเป็นเครื่องมือที่มีประสิทธิภาพสำหรับการจัดการสภาพแวดล้อม SharePoint ของคุณ ด้วยการใช้สคริปต์ที่ให้ไว้ในบทความนี้ คุณสามารถส่งออกสิทธิ์จากรายการ SharePoint ของคุณได้อย่างรวดเร็วและง่ายดาย ซึ่งช่วยให้คุณรักษาสภาพแวดล้อมที่ปลอดภัยและเป็นระเบียบได้
นอกจากนี้เรายังสามารถส่งออกรายการหรือสิทธิ์ไลบรารีเอกสารไปยังรายงาน CSV ด้วย PnP PowerShell: รับสิทธิ์ไลบรารีเอกสาร SharePoint Online และส่งออกเป็น CSV โดยใช้ PnP PowerShell

