SharePoint Online: การเป็นสมาชิกกลุ่มผู้ใช้โคลนโดยใช้ PowerShell
ข้อกำหนด: โคลนสิทธิ์ของกลุ่มผู้ใช้กับผู้ใช้รายอื่นในไซต์ SharePoint Online
PowerShell เพื่อโคลนการเป็นสมาชิกกลุ่มของผู้ใช้ใน SharePoint Online:
เป็นสถานการณ์ทั่วไปในโลกแห่งความเป็นจริงที่เมื่อมีคนออกจากองค์กรและบุคคลอื่นรับบทบาทนั้น พวกเขาต้องการสิทธิ์แบบเดียวกัน! แม้ว่าข้อกำหนดจะดูเรียบง่าย แต่ก็ยุ่งยากในการบรรลุผลสำเร็จผ่านทางอินเทอร์เฟซผู้ใช้บนเว็บ โดยพื้นฐานแล้ว คุณต้องไปที่แต่ละกลุ่มที่ผู้ใช้ต้นทางเป็นสมาชิก และเพิ่มผู้ใช้เป้าหมายเข้าไป เราสามารถทำให้งานนี้เป็นแบบอัตโนมัติได้โดยใช้ PowerShell เพื่อโคลนการเป็นสมาชิกกลุ่มผู้ใช้จากบัญชีหนึ่งไปยังอีกบัญชีหนึ่ง!
#Function to copy group memberships from one user to another
Function Clone-SPOUserGroupPermission($SiteURL, $SourceUserID, $TargetUserID)
{
Try {
#Get the Site collection
$Site = Get-SPOSite $SiteURL
#Get the Source user
$SourceUser = Get-SPOUser -Site $Site -LoginName $SourceUserID
#Get All groups of the source User
$UserGroups = $SourceUser.Groups
If($UserGroups.Count -gt 0)
{
Write-host -f Yellow "Found the User Member of $($UserGroups.Count) Group(s)..."
#Loop through each group of the source user and add target user to that group
ForEach ($Group in $UserGroups)
{
#Add Target User to the Group
Add-SPOUser -Site $Site -LoginName $TargetUserID -Group $Group | out-null
Write-Host -f Green "Added $TargetUserID to Group '$Group'"
}
}
}
Catch {
Write-host $_.Exception.Message -f Red
}
}
#SharePoint Online Admin Center URL
$AdminCenterURL = "https://crescent-admin.sharepoint.com"
$SiteURL = "https://crescent.sharepoint.com/sites/marketing"
$SourceUserID ="John@Crescent.com"
$TargetUserID ="Peter@Crescent.com"
#Connect to SharePoint Online Admin Center
Connect-SPOService -Url $AdminCenterURL -Credential (Get-Credential)
#Call the Function
Clone-SPOUserGroupPermission -SiteURL $SiteURL -SourceUserID $SourceUserID -TargetUserID $TargetUserID
คุณยังสามารถใช้ cmdlet "Get-SPOSite" เพื่อรับไซต์คอลเลกชันทั้งหมด และเรียกใช้ฟังก์ชันเพื่อคัดลอกการเป็นสมาชิกกลุ่มของผู้ใช้ไปยังผู้ใช้รายอื่น
PnP PowerShell เพื่อคัดลอกการอนุญาตกลุ่มของผู้ใช้ไปยังผู้ใช้รายอื่น
ต่อไปนี้เป็นวิธีโคลนการเป็นสมาชิกผู้ใช้ใน SharePoint Online โดยใช้ PnP PowerShell:
#Parameters
$SiteURL = "https://crescent.sharepoint.com/sites/Retail"
$SourceUserLoginID = "steve@crescent.com"
$TargetUserLoginID = "alexw@crescent.com"
Try {
#Connect to the Source Site
Connect-PnPOnline -Url $SiteURL -Interactive
#Get the source User
$User = Get-PnPUser -Identity "i:0#.f|membership|$UserLoginID"
#Get all groups of the user
$UserGroups = $User.Groups | Where {$_.LoginName -notlike "*Limited Access*"}
#Add Target User to the Groups
$UserGroups | ForEach-Object {
Add-PnPGroupMember -LoginName $TargetUserLoginID -Identity $_.LoginName
Write-host -f Green "Added User to the Group:"$_.LoginName
}
}
Catch {
write-host -f Red "Error:" $_.Exception.Message
}
จะเป็นอย่างไรถ้าคุณต้องการคัดลอกสิทธิ์จากผู้ใช้รายหนึ่งไปยังอีกรายหนึ่งโดยสมบูรณ์ แทนที่จะคัดลอกสิทธิ์ของกลุ่มเพียงอย่างเดียว เนื่องจากผู้ใช้ต้นทางอาจมีสิทธิ์ในระดับอื่นด้วย เช่น การอนุญาตอาจได้รับโดยตรง (เช่น “การควบคุมทั้งหมด”) ในฐานะผู้ดูแลไซต์คอลเลกชัน ที่ระดับรายการ/โฟลเดอร์/รายการ! ดังนั้นนี่คือ PowerShell เพื่อโคลนสิทธิ์ของผู้ใช้: วิธีคัดลอกสิทธิ์ของผู้ใช้ใน SharePoint Online โดยใช้ PowerShell
