کپی کردن سطوح دسترسی یک لیست به لیست دیگر به کمک Power Shell

سطوح دسترسی

فرض کنید گروه های زیادی در یک سایت دارید و همچین یک لیست اصلی دارید و که به چندین لیست دیگر به صورت والد و فرزندی متصل هستند حالا شما یک با مجوز های دسترسی را برای لیست اصلی تنظیم می کنید و می خواهید همین دسترسی ها را برای لیست های وابسته دیگه تنظیم کنید . در مقاله زیر کپی کردن سطوح دسترسی یک لیست به لیست دیگر به کمک Power Shell توضیح داده شده است.

متغییر های مورد نیاز برای کپی کردن سطوح دسترسی که باید در این کد تنظیم کنید عبارتند از:
$WebURL : نام وب سایت که لیست ها در آن جا قرار دارند

$SourceListName : نام لیست منبع که می خواهید سطوح دسترسی آن را کپی کنید

$TargetListName : نام لیست مقصد که مجوز های لیست منبع بر روی آن کپی می شود

قبل از اجرای کد توجه کنید که با اجرای این کد تمامی مجوز های دسترسی لیست مقصد از بین می رود.

 حالا با تنظیم متغییر های فوق در آخرین خط کد مانند مثال  دستور اجرا کنید و نتیجه را چک کنید.

 

Add-PSSnapin Microsoft.SharePoint.PowerShell -erroraction SilentlyContinue

Function Copy-List-Permissions()
{
 param(
     $WebURL,
     $SourceListName,
     $TargetListName
 )

 $Web = Get-SPweb $WebURL
 
 $SourceList = $Web.lists[$SourceListName]
 $TargetList = $Web.lists[$TargetListName]
 

  if($SourceList.Permissions.Inherited)
   {
      $TargetList.ResetRoleInheritance()
   }
  else 
  {
   
     $TargetList.BreakRoleInheritance($false)
     $SourceList.RoleAssignments | foreach-object {
     $targetList.RoleAssignments.Add($_)
      }
  }
 $TargetList.Update()
}

Copy-List-Permissions "http://portal.example.com/sites/HR" "نام لیست مقصد" "نام لیست منبع"


 

 

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *