1

シェアポイント 2010

フォルダーに整理された多数のドキュメントを含む 3 セットのドキュメント ライブラリがあります。アイデアは、コレクション内の任意のサイトに対して、これら 3 つのドキュメント ライブラリのいずれかをインスタンス化できるようにすることです。そのため、作成時に構造が複製されます。

問題は、ライブラリには、親とは異なる制限付きのアクセス許可のセットがあることです (アクセス許可の継承を停止するオプション)。しかし、ライブラリ テンプレートのいずれかをインスタンス化すると、アクセス許可が保持されないことに気付きました。

テンプレート自体に特定のアクセス許可のセットを保存する方法はありますか?

たとえば、これはドキュメント ライブラリの 1 つの構造である可能性があります。

  • ドキュメント 1 (全員がアクセス可能)
  • ドキュメント 2 (誰でもアクセス可能)
  • フォルダ 1 (全員がアクセス可能)
  • >>資料3
  • >>資料4
  • >>資料5
  • フォルダー 2 (管理グループのみがアクセス可能)
  • >>資料6
  • >>資料7

- - - -編集 - - - - -

Powershellコマンドレットで試しました

以下を使用してライブラリをエクスポートしました。

Export-SPWeb -Identity http://server/sites/site1/SampleLibrary -path "sampleLibraryExport.cmp" -IncludeUserSecurity -ItemUrl "3rd Party Engagements" 

ライブラリを削除し、次を使用して再度インポートしました。

Import-SPWeb -Identity http://server/sites/site1/SampleLibrary -path "sampleLibraryExport.cmp" -IncludeUserSecurity

ただし、カスタム アクセス許可はなくなり、現在は farm-admin アカウントに設定され、ファイル間で継承されています。

ありがとう、

ジャウメ

4

2 に答える 2

1

アクセス許可を使用してライブラリを転送し、ユーザー ID を保存するには、SharePoint 展開を使用してみてください。内部的に Import-SPWeb も SharePoint 展開を使用していますが、十分にサポートされていません。SharePoint オブジェクト モデルを直接操作し、C# または PowerShell を記述する場合は、アクセス許可を使用してリストを転送することができます。ここでは、spweb を転送するためのサンプルをいくつか見つけることができますが、リストのコードもいくつか見つけることができます。メソッド GetExportList を参照してください。準備ができているソリューションを装っているわけではありませんが、SharePoint コンテンツの展開で問題を確認する場合は、これが役立つ可能性があります。

于 2012-11-08T17:00:18.963 に答える
0

最後に使用したソリューションは次のとおりです。これには、ファイルとフォルダーをループ処理し、個別に定義されたアクセス許可を設定するカスタム PowerShell スクリプトが含まれます。

http://codebroth.com/blog/2012/10/copying-sharepoint-2010-document-libraries-wit-powershell/

于 2012-11-10T14:48:13.193 に答える