0
サブサイトの数が多いSharePointサイトがあります。 いくつかのサイトとサブサイトには、 "a-team"と呼ばれるADグループがあります。SharePointグループを別のグループに置き換えます
"a-team"というグループにはアクセスできなくてはなりません。 "c-team"という新しいグループが作成されました。 私の問題は、 "a-team"があるすべてのサイト/サブサイトで "a-team"を "c-team"に置き換えることです。 "a-team"がシャットダウンしていないサイト/サブサイトには "c-team"が追加されていません。
今すぐコードが "c-team"をすべてのサイト/サブサイトに追加するのは間違っています。グループ「a-team」がサイト/サブサイトにある場合にのみ、グループを追加します。 "a-team"が出ていないサブサイトには "c-team"が追加されていません。
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint")
$siteUrl = "http://MyTest.demosite.net/sites/EAL"
$permissionLevel = "Design"
$domainGroup = "c:0+.w|s-1-5-21-3475484702-42583850-3077926241-3108" # a-team
$domainGroupAdd = "c:0+.w|s-1-5-21-3475484702-42583850-3077926241-3110" # c-team
$spSite = new-object Microsoft.SharePoint.SPSite($siteUrl)
$firstTime = "true";
$myRole;
foreach ($web in $spSite.AllWebs){
## Finding role ##
$roles = $Web.RoleDefinitions;
$roleAssignments = $web.RoleAssignments;
if ($firstTime -eq "true")
{
for($k = 0; $k -lt $roles.Count; $k++){
Write-Output $web.Url
$role = $roles[$k]
if($role.Name -eq $permissionLevel)
{
$myRole = $role; # Role fundet
}
}
$firstTime = "false";
}
## Adding group "c-team" to site ##
if($roleAssignment.Member.SystemUserKey -eq $domainGroup){
Write-Host -ForegroundColor White -BackgroundColor Green "Found the right type " $role.Name;
$assignment = New-Object Microsoft.SharePoint.SPRoleAssignment($domainGroupAdd, "", "", "");
$assignment.RoleDefinitionBindings.Add($myRole);
$roleassignments = $web.RoleAssignments;
$roleassignments.Add($assignment);
Write-Output $web.Url;
}
$web.Dispose();
}
$spSite.Dispose();
例
前に:私は解決策を見つけた
http://MyTest.demosite.net/sites/EAL" - Site permissions: "a-team", admin
http://MyTest.demosite.net/sites/EAL/Test1" - Site permissions: "a-team", admin
http://MyTest.demosite.net/sites/EAL/Test2" - Site permissions: admin
http://MyTest.demosite.net/sites/EAL/Test3" - Site permissions: "a-team", admin
http://MyTest.demosite.net/sites/EAL/Test4" - Site permissions: admin
After:
http://MyTest.demosite.net/sites/EAL" - Site permissions: "c-team", admin
http://MyTest.demosite.net/sites/EAL/Test1" - Site permissions: "c-team", admin
http://MyTest.demosite.net/sites/EAL/Test2" - Site permissions: admin
http://MyTest.demosite.net/sites/EAL/Test3" - Site permissions: "c-team", admin
http://MyTest.demosite.net/sites/EAL/Test4" - Site permissions: admin