📅
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