SharePoint オンラインでサイト プロパティ バッグのカスタム プロパティを更新する方法

SharePoint オンラインでサイト プロパティ バッグのカスタム プロパティを更新する方法 [ad_1]

SharePoint のカスタム プロパティを詳しい情報に表示する

私は SharePoint ポータル サーバー 2001 の最初のリリース以来、SharePoint を使用してきましたが、私は自分自身を SharePoint の専門家とは考えることはありません。SharePoint オンライン PowerShell モジュールまたは管理センターを使用してサイト管理を実行することは完全に満足していますが、クライアント側オブジェクト モジュール (CSOM) の細かい点と、 パターンと練習 (PnP)ライブラリは、多くの場合、私の知識の限界を超えています。SharePoint オンラインの使用の多くは、Microsoft 365 のグループとチームによって使用されるサイトによって生成されることを考えると、CSOM または PnP を停止し、汚れる必要性が、SharePoint サーバーの場合よりも少なくなります。

サイトプロパティバッグ

しかし、場合によっては、他のオプションが存在しないが、サイトのプロパティ バッグの件名にきちんと私を持って来る PnP を使用して SharePoint と対話します。これは、サイトにカスタム値を割り当てるための機能です。Exchange の世界から来た場合は、メールボックスのカスタム プロパティを設定できることと似ています。また、カスタム プロパティが特定のメールボックスを識別するフィルタとして Exchange で頻繁に使用されるように、サイト プロパティ バッグはカスタム値を持つサイトをマークすることで検索を絞り込むことができます。

サイト のプロパティ バッグに書き込まれるカスタム値は、単純な名前と値のペアです。たとえば、名前は “テスト" と “Tony" の値です。アイデアは、ユーザーが「テスト」プロパティに"Tony"が存在するものを探すことによってサイトを検索することができるということです。Microsoft 365 のアイテム保持ポリシーのアダプティブ スコープなどの機能では、フィルタを使用してサイトを検索できることは重要です。カスタム値は、SharePoint オンライン検索スキーマでクロールされたプロパティとして終了します。クロールされたプロパティは、絞り込み可能な文字列にリンクして検索可能にすることができ、これは、プロパティ バッグの値をフィルターで使用する方法です。

サイト プロパティ バッグの値の更新

標準 セットスポサイト SharePoint オンライン管理モジュールのコマンドレットはプロパティ バッグを更新しませんが、PnP PowerShell モジュールのコマンドレットは更新します。まず、ダウンロードしてインストールしました V1.8.0 から PowerShell ギャラリー.開発者はモジュールの頻繁な更新を発行するので、最新の (プレビュー以外の) バージョンを使用することを確認してください。

サイトのプロパティ バッグを更新する前に、サイトの ページの追加とカスタマイズ 設定. 既定では、SharePoint Online はカスタム スクリプトをブロックし、プロパティ バッグを更新するには、一時的に制限を解除する必要があります。これを行うには、 セットスポサイト 設定するコマンドレット ページの追加とカスタマイズ 宛先 0 (ゼロ)。 続行する前に、次の値を確認してください。 ページの追加とカスタマイズ です 無効 (デフォルトは有効です)。

$Site = "https://office365itpros.sharepoint.com/sites/BallyconneelyBuglers"
Set-SPOSite -Identity $Site -DenyAddAndCustomizePages 0
Get-SPOSite -Identity $Site | Select DenyAddAndCustomizePages

DenyAddAndCustomizePages
------------------------
                Disabled

更新された設定は直ちに有効になります。次の手順では、 接続-PnP オンライン コマンドレット。アカウントは、サイトにアクセスできる場合にのみサイトに接続できます。この例では、私は、グローバルテナント管理者アカウントを使用しました。

Connect-PnPOnline -Url $Site -Credentials $O365Cred
Set-PnPPropertyBagValue -Key "OrgPrivacy" -Value "Restricted" -Indexed
Set-PnPPropertyBagValue : Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED)) Site might have NoScriptenabled, this prevents setting some property bag values. At line:1 char:1

グローバルテナント管理者は、サイトのプロパティを更新できると考えます。結局のところ、同じアカウントを使用してサイトのカスタマイズ設定を セットスポサイト コマンドレット。ただし、PnP モジュールには独自の規則が適用されます。すべてが良く見えましたが、サイトのプロパティバッグに新しい値を書き込もうとするたびにエラーが発生しました。

いくつかのデバッグの後、サイト管理者アカウントで接続した場合にのみサイトのプロパティ バッグを更新することが可能であることを発見しました。サイト管理者として全体管理者アカウントを追加した後、 を設定します。 コマンドレットは問題なく実行されました。サイトプロパティバッグの内容を調べる場合は、 を取得-PnP プロパティ バッグ コマンドレットにカスタム値が存在します。

Get-PnpPropertyBag

Key                              Value
---                              -----
GroupId                          ff168380-8f71-4419-980c-7f1e8e6ea83a
vti_sitemasterid                 e2ea95e2-b7be-484f-bb63-e2b0fd4b38b6
vti_categories                   Travel Expense Report Business Competition Goals/Objectives Ideas Miscellaneous Waiting VIP In...
vti_createdassociategroups       3;4;5
vti_defaultlanguage              en-us
HomepageProvisioned              1
contenttypessynctimestampversion 1
vti_approvallevels               Approved Rejected Pending Review
taxonomyhiddenlist               73396654-2d02-47d9-a078-6f0ffe401097
vti_associategroups              5;4;3
profileschemaversion             6
GroupDocumentsListId             2825b7cc-43f3-4eef-b970-f9789082f70d
disabledhelpcollections
SiteNotebookGuid                 ddb569bc-70b8-4eae-8e02-cd221f11d5d2
GroupType                        Public
contenttypesusagebackfillversion 3
vti_associatevisitorgroup        4
vti_extenderversion              16.0.0.21409
OrgPrivacy                       Restricted
GroupAlias                       BallyconneelyBuglers
LastGroupSitePrivacyUpdated      637612064800877337
vti_associateownergroup          3
enabledhelpcollections           VGSEndUser
ProvCorrelationId                9462025b-ebf9-468c-bbde-3729d938bdbf
FollowLinkEnabled                TRUE
vti_associatemembergroup         5
GroupDocumentsUrl                Shared Documents
vti_indexedpropertykeys          TwByAGcAUAByAGkAdgBhAGMAeQA=|

サイトのプロパティ バッグにカスタム値を書き込んだ後、サイトのカスタム スクリプトのブロックを置き換えることを確認します。

Set-SPOSite -Identity $Site -DenyAddAndCustomizePages 1
Get-SPOSite -Identity $Site | Select DenyAddAndCustomizePages

DenyAddAndCustomizePages
------------------------
                Enabled

サイトのカスタム スクリプトステータスの確認

いくつかのブログは、次の ページの追加とカスタマイズ 設定は、ピリオド後のデフォルト設定に戻ります。私はこれが起こるのを見ていないが、これは単にSharePointオンラインの背景のために十分な長さを待っていない場合かもしれない ページの追加とカスタマイズ 設定は、ピリオド後のデフォルト設定に戻ります。私はこれが起こるのを見たことがないが、は、SharePoint Online バックグラウンド プロセスが機能するために十分な時間待っていない場合です。いずれの場合も、予防的にサイトを正しい状態にしておくのが最善です。PowerShell を使用したクイック チェックでは、更新が必要なサイトが表示され、状況を修正する必要があります。この例では、グループ対応サイトのみを確認します。

$ScriptingSites = 0
[array]$Sites = Get-SpoSite -Limit All -Template Group#0 | Sort Url
ForEach ($Site in $Sites)  {
   If ($Site.DenyAddAndCustomizePages -ne "Enabled") {
      $ScriptingSites++
      Write-Host ("Site {0} has scripting enabled, so now disabling scripting..." -f $Site.Url)
      Set-SPOSite -Identity $Site.Url -DenyAddAndCustomizePages 1 }
}
If ($ScriptingSites -gt 0) { Write-Host ("{0} sites found with scripting enabled - now disabled." -f $ScriptingSites) }

サイト管理者としてテナント管理者アカウントを追加してプロパティ バッグを更新した場合は、その後アカウントを削除してください。これが意図されていない限り、テナント管理者アカウントへのサイトコンテンツへのアクセスを許可することは良いものではありません。

前進

結局のところ、SharePoint オンライン サイトのプロパティ バッグを更新することは難しいことではありません。つまり、すべての要件を満たしている場合です。この場合、サイト管理者アカウントを使用することが重要なポイントです。これは、プロパティバッグを更新する方法を説明するブログのいずれにも記載されていませんでした(これはどこかで文書化されていると確信しています)。SharePoint サイトにカスタム値を割り当てる方法がわかったので、これらのプロパティを使用する道は明らかです。 適応範囲.


Office 365 が実際にどのように機能するかについては、サブスクリプションを作成してください。 IT 担当者向け Office 365 電子書籍。毎月の更新プログラムでは、Office 365 エコシステム全体で重要な情報を購読者に通知します。

[ad_2]

未分類

Posted by admin