トップ回答者
ライブラリ、リストの権限をコマンドで行うには

質問
-
サイトやライブラリ、リストの権限をPowershellで
与えたいと思っております。下記コマンドでユーザーにサイトの権限をを与えることができました。
例、ユーザー (Contoso\jdoe) を http://test の投稿者として設定
Set-SPUser -Identity 'Contoso\jdoe' -Web http://test -AddPermissionLevel "Contributor"しかし、上記コマンドだとライブラリ、リストの権限の設定ができませんでした。
(Set-SPUserの-Webオプションはサイトは認識するが、ライブラリ、リストは認識されない?)どなたかライブラリ、リストの権限を設定するコマンドをご存知の方が
いましたらご教授いただきたいと思います。<環境>
SharePoint Server 2010 SP1
回答
-
用意されたPSのコマンドというわけではないのですが、以下の方法で可能です。
//1.ドキュメントライブラリを作成します。
$spWeb = Get-SPWeb -Identity http://spsite //サイトを設定します。
$listTemplate = [Microsoft.SharePoint.SPListTemplateType]::DocumentLibrary
$spWeb.Lists.Add("My Documents","My Doc Library",$listTemplate)
//2.作成したドキュメントライブラリにフォルダを作成します。
$spDocumentLibrary = $spWeb.GetList("My Documents")
$spFolder = $spDocumentLibrary.AddItem("",[Microsoft.SharePoint.SPFileSystemObjectType]::Folder,"フォルダ名") //作成するフォルダを指定します。
$spFolder.Update()
$web.Dispose()
//リスト・ライブラリにアクセス権を設定します。
$web = Get-SPWeb http://spsite //サイトを設定します。
$account = $web.EnsureUser("SHAREPOINT\user1")//ユーザーを指定します。
$role = $web.RoleDefinitions["Contribute"] //権限を設定します。
$list = $web.Lists["Shared Documents"] //リスト・ライブラリを設定します。
$list.BreakRoleInheritance($true)
$assignment = New-Object Microsoft.SharePoint.SPRoleAssignment($account)
$assignment.RoleDefinitionBindings.Add($role)
$list.RoleAssignments.Add($assignment)
$list.Update()
$web.Dispose()- 回答としてマーク kaxhix 2011年9月21日 5:41
すべての返信
-
用意されたPSのコマンドというわけではないのですが、以下の方法で可能です。
//1.ドキュメントライブラリを作成します。
$spWeb = Get-SPWeb -Identity http://spsite //サイトを設定します。
$listTemplate = [Microsoft.SharePoint.SPListTemplateType]::DocumentLibrary
$spWeb.Lists.Add("My Documents","My Doc Library",$listTemplate)
//2.作成したドキュメントライブラリにフォルダを作成します。
$spDocumentLibrary = $spWeb.GetList("My Documents")
$spFolder = $spDocumentLibrary.AddItem("",[Microsoft.SharePoint.SPFileSystemObjectType]::Folder,"フォルダ名") //作成するフォルダを指定します。
$spFolder.Update()
$web.Dispose()
//リスト・ライブラリにアクセス権を設定します。
$web = Get-SPWeb http://spsite //サイトを設定します。
$account = $web.EnsureUser("SHAREPOINT\user1")//ユーザーを指定します。
$role = $web.RoleDefinitions["Contribute"] //権限を設定します。
$list = $web.Lists["Shared Documents"] //リスト・ライブラリを設定します。
$list.BreakRoleInheritance($true)
$assignment = New-Object Microsoft.SharePoint.SPRoleAssignment($account)
$assignment.RoleDefinitionBindings.Add($role)
$list.RoleAssignments.Add($assignment)
$list.Update()
$web.Dispose()- 回答としてマーク kaxhix 2011年9月21日 5:41