PowerShell kullanarak SharePoint'teki Liste İzinlerini Kopyalama


Hiç SharePoint listeleri veya Kitaplıklar arasındaki izinleri kopyalamak istediniz mi? İşte SharePoint listeleri arasında izinleri kopyalamak için kullanışlı PowerShell betiği:


Add-PSSnapin Microsoft.SharePoint.PowerShell -erroraction SilentlyContinue

#PowerShell Function to copy permissions between Lists in SharePoint
Function Copy-ListPermissions()
{
 param(
     $WebURL,
     $SourceListName,
     $TargetListName
 )
 #Get the Web
 $Web = Get-SPweb $WebURL

 #Get Source and Target Lists
 $SourceList = $Web.lists[$SourceListName]
 $TargetList = $Web.lists[$TargetListName]

 #if permissions are Inherited in Source, apply it in Target list 
  if($SourceList.Permissions.Inherited)
   {
      $TargetList.ResetRoleInheritance()
   }
  else #Copy permissions from Source to Target List
  {
     #Reset the Inheritence in Target List
     $TargetList.BreakRoleInheritance($false)

     #Copy Source list permissions to Destination List
     $SourceList.RoleAssignments | foreach-object {
     $targetList.RoleAssignments.Add($_)
      }
  }
 $TargetList.Update()
}
#Call the function to copy list permissions 
Copy-ListPermissions "https://sharepoint.crescent.com/sites/operations/us" "Documents" "Invoice"

Bu komut dosyası, tüm kullanıcıları ve grupları kaynak listeden hedef listeye kopyalar. Hedef listede halihazırda uygulanmış tüm özel izinler kaybolacak! Yukarıdaki yöntem, SharePoint liste öğeleri ve siteleri arasındaki izinleri kopyalamak için kullanılabilir.

İlgili makaleler