Forked from SharePointX/RoleAssignmentManagement.ps1
Created
September 28, 2018 08:02
-
-
Save fasl/7b00e16d6af1718baf16e6e06ab21fe1 to your computer and use it in GitHub Desktop.
PowerShellでSharePointの権限設定
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# サイトURLを指定 | |
$webUrl = "http://yamasp2016/sites/es2_20160726" | |
# ページURLを指定 | |
$pageUrl = "Pages/page1.aspx" | |
Add-PSSnapin "Microsoft.SharePoint.PowerShell" | |
#サイトを取得 | |
$web = Get-SPWeb $webUrl | |
#ページ(SPFile)取得 | |
$page = $web.GetFile($pageUrl) | |
#ページに該当するライブラリのアイテム(SPListItem)取得 | |
$item = $page.Item | |
#既存の権限を(コピーして)残すか? | |
$copyRoleAssignments = $false | |
#権限の継承を中止 | |
$item.BreakRoleInheritance($copyRoleAssignments) | |
#権限を割り当てるグループかユーザーを取得(1件づつ) | |
$ownerGroup = $web.AssociatedOwnerGroup #サイトの所有者グループ | |
#$memberGroup = $web.AssociatedMemberGroup #サイトのメンバーグループ | |
#$visitorGroup = $web.AssociatedVisitorGroup #サイトの閲覧者グループ | |
#$someGroup = $web.Groups.GetByName("任意のグループ名") | |
#$syetemUser = $web.Site.SystemAccount #シスアカ | |
#$someUser = $web.EnsureUser("ログイン名") | |
#権限割り当ての器を生成 | |
$roleAssignment = New-Object Microsoft.SharePoint.SPRoleAssignment($ownerGroup) | |
#割り当てる権限(サイトに定義されたアクセス許可レベル)を取得して割り当て(複数指定可能) | |
#1個目 | |
$roleDefinition1 = $web.RoleDefinitions.GetByType([Microsoft.SharePoint.SPRoleType]::Administrator) #タイプで指定 | |
$roleAssignment.RoleDefinitionBindings.Add($roleDefinition1) #権限を権限割り当ての器に追加 | |
#2個目 | |
$roleDefinition2 = $web.RoleDefinitions["閲覧"] #名前で指定 | |
$roleAssignment.RoleDefinitionBindings.Add($roleDefinition2) #権限を権限割り当ての器に追加 | |
$item.RoleAssignments.Add($roleAssignment) | |
#権限を割り当てるグループかユーザーがほかにもある場合は上記を1件づつ繰り返し |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment