📅
SharePoint Online で更新日時の表示形式を「標準」にする
上記の記事ではサーバー オブジェクト モデルを使用しているため、SharePoint Online では動作しません。そのため、クライアント オブジェクト モデルを使用して書き直しました。
[void][System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint.Client")
[void][System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint.Client.Runtime")
$url = "{{site-url}}"
$username = "{{user-name}}"
$password = "{{password}}"
$password = ConvertTo-SecureString $password -AsPlainText -Force
$credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($username, $password)
$context = New-Object Microsoft.SharePoint.Client.ClientContext($url)
$context.Credentials = $credentials
$web = $context.Web
$context.Load($web.Lists)
$context.ExecuteQuery()
foreach ($list in $web.Lists) {
$context.Load($list.Fields)
$context.ExecuteQuery()
$field = $list.Fields.GetByInternalNameOrTitle("Created")
$field = New-Object Microsoft.SharePoint.Client.FieldDateTime($context, $field.Path)
$context.Load($field)
$context.ExecuteQuery()
$field.FriendlyDisplayFormat = [Microsoft.SharePoint.Client.DateTimeFieldFriendlyFormatType]::Disabled
$field.Update()
$context.ExecuteQuery()
$field = $list.Fields.GetByInternalNameOrTitle("Modified")
$field = New-Object Microsoft.SharePoint.Client.FieldDateTime($context, $field.Path)
$context.Load($field)
$context.ExecuteQuery()
$field.FriendlyDisplayFormat = [Microsoft.SharePoint.Client.DateTimeFieldFriendlyFormatType]::Disabled
$field.Update()
$context.ExecuteQuery()
}
サーバー オブジェクト モデルに慣れている場合、クライアント オブジェクト モデルは操作方法が異なるため、戸惑うことがあります。しかし、SharePoint Online を利用する場合はクライアント オブジェクト モデルの知識が必要となりますので、ぜひ覚えておくことをおすすめします。
Discussion