技術情報ブログ
Power Platform
2025.01.22

【小ネタ】Power Automate×SharePoint:登録者・更新者・登録日・更新日列を変更する方法

【小ネタ】Power Automate×SharePoint:登録者・更新者・登録日・更新日列を変更する方法
小刀稱知哉

こんにちは。アーティサン株式会社の小刀稱(ことね)です。

今回は自分の備忘録として、Power AutomateでSharePointの登録者・更新者・登録日・更新日列を変更する方法について調査したので、紹介します。

普段はあまり使うことはないですが、データ移行などを行った場合に本内容が活用できるかと思います。

前提:やりたいこと

SharePointリストやドキュメントライブラリを作成した場合には、以下の列が自動的に作成されます。

  • 登録者 (Author): アイテムを新規追加したユーザー
  • 更新者 (Editor) : アイテムを最終更新したユーザー
  • 登録日時 (Created) : アイテムを新規追加した日時
  • 更新日時 (Modified): アイテムを最終更新した日時

上記列に関しては、SharePoint側が自動的に値を付与する仕様のため、Power Automateの標準アクション(例:項目の更新や項目の作成)では、値の編集ができません。

そこで今回は、「SharePoint に HTTP 要求を送信します」アクションを利用します。

登録者・更新者を変更する方法

最初は登録者・更新者を変更する方法です。

アクションの詳細は以下となります。

※以下は登録者列を変更する際のスクリーンショットです。

項目
方法POST
URI_api/web/lists/GetByTitle(‘<リスト名>’)/items(<ID>)/validateUpdateListItem
ボディ下記参照
{
  "formValues":[
    {
      "FieldName":"Author",
      "FieldValue":"[{'Key':'i:0#.f|membership|<メールアドレス>'}]"
    }
  ],
  "bNewDocumentUpdate":true
}

ポイントとしては、以下となります。

  • FieldName : 変更する列を指定します。
  • 登録者列の場合は「Author」、更新者列の場合は「Editor」を指定します。

  • FieldValue : 変更するユーザーを指定します。
  • |membership| の後続に、メールアドレスを指定します。

  • bNewDocumentUpdate : バージョン履歴に残すのか、残さないのかを指定します。
  • trueの場合は、バージョン履歴に残りません。 一方falseの場合は、バージョン履歴に残ります。

登録日・更新日を変更する方法

続いて、登録日・更新日を変更する方法です。

アクションの詳細は以下となります。

※以下は登録日列を変更する際のスクリーンショットです。

項目
方法POST
URI_api/web/lists/GetByTitle(‘<リスト名>’)/items(<ID>)/validateUpdateListItem
ボディ下記参照
{
  "formValues":[
    {
      "FieldName":"Author",
      "FieldValue":"2112/09/03 12:00:00"
    }
  ],
  "bNewDocumentUpdate":false
}

ポイントとしては、以下となります。

  • FieldName : 変更する列を指定します。
  • 登録日列の場合は「Created」、更新日列の場合は「Modified」を指定します。

  • FieldValue : 変更する日時を指定します。
  • フォーマット: yyyy/MM/dd hh:mm:ss  ※ローカル時間での登録となります。
    例:SharePointサイトのタイムゾーンがJST(UTC+09:00)、かつ設定値が”2112/09/03 12:00:00″の場合は、2112/09/03 12:00:00(JST)( = 2112/09/03 3:00:00(UTC))にて登録される。

  • bNewDocumentUpdate : バージョン履歴に残すのか、残さないのかを指定します。
  • trueの場合は、バージョン履歴に残りません。 一方falseの場合は、バージョン履歴に残ります。

 

参考:複数列を一括更新

上記にて、登録者・更新者・登録日・更新日の各列を更新する方法をお伝えしましたが、複数列を一括で変更することも可能です。

 

参考:PnP PowerShellでも登録者・更新者・登録日・更新日列を変更することが可能

Power Automateだけではなく、PnP PowerShellでも対応は可能です。

PnP PowerShellの詳細については、以下URLをご参照ください。
PnP PowerShell の概要

以下はサンプルプログラムです。

# サイト名
$siteUrl = "https://your-tenant.sharepoint.com/sites/your-site"

# リスト名
$listName = "sampleList"

# SPOへログイン
Connect-PnPOnline -Url $siteUrl -UseWebLogin

# 更新する値
$newAuthor   = "<メールアドレス>"
$newEditor   = "<メールアドレス>"
$newCreated  = "2024/10/25 09:00:00"
$newModified = "2024/11/28 10:00:00"

# 値の更新
$itemId = 1
Set-PnPListItem -List $listName -Identity $itemId -Values @{
    "Author" = $newAuthor
    "Editor" = $newEditor
    "Created" = $newCreated
    "Modified" = $newModified
}

おわりに

今回は自分の備忘録として、Power AutomateでSharePointの登録者・更新者・登録日・更新日列を変更する方法について紹介しました。

簡単に行うのであれば、Power Automateで対応することをおすすめしますが、 大量データを更新したい場合は、PowerShellで行う方が効率的かと思います。

最後まで読んでいただき、ありがとうございました!

Power Platform(SharePoint・Power Apps・Power Automate)に関する営業活動や設計、開発などを担当:小刀稱知哉

小刀稱知哉

大分県出身(温泉大好き)、現在は東京都在住

1990年生まれ

30才でメーカーの技術営業からIT業界にジョブチェンジ!!!

趣味は読書

主にMicrosoftのローコード(SharePoint・Power Platform)に関するに関する営業活動や設計、開発などを担当しております!

(最近はCopilot Studioについても勉強中)

持ってる資格はPL-200/PL-300/PL-400/PL-600/MS-700/AZ-104/AZ-305/SC-200/SC-100

シェアする
記事カテゴリ
最新記事
2025.02.05

【Power Apps】添付ファイルコントロールにアップしたファイルのサイズを取得する方法

2025.01.29

はじめてのMicrosoft Copilot Studio(1) Copilotサービスの整理、使用するサービスの最適解とは?

2025.01.22

【小ネタ】Power Automate×SharePoint:登録者・更新者・登録日・更新日列を変更する方法

2025.01.15

SharePointのデザインをもっとおしゃれに!(X-SP Style | SharePoint デザイン拡張サービスのご紹介)(3) サンプルの紹介

2025.01.08

Power Apps モデル駆動型アプリ:項目の表示・非表示を切り替える方法

モデル駆動型アプリPower AppsPower PlatformSharePointExcelPower AutomateC#attributevalidationローコードAngularAccessInfoPathMatTableAngular Materialデータ構造SortByColumns関数TypeScriptHTMLEF CoreマイグレーションFramework CoreAttribute directivesO/Rマッパーazure sql databaseCase式HTTP RequestCSSxUnit.Net Core 3.1VSCode.Net Core Test ExplorerDataverse for Teamsitem関数Google MapsMarker ClustererRANK()関数Dynamics 365 SalesMicrosoft TranslatorマーカークラスタリングライブラリtailwindcssマルチテナントドロップダウンメニューBreakpointObserverメディアクエリスマホPCレスポンシブ入門初心者中級者キャンバスアプリDatePickerDropdownviewビューアクセス制限承認リマインドSetForAllUpdateContextロードマップ技術It情報技術メッセージIDメールfirst()関数nest入れ子動的リストcollectionコレクション複数の添付ファイル承認フローformエクスポートインポートカスタマイズcomponentダイアログコンポーネントdialogTips新機能変数検索Microsoft 365グループセキュリティグループ送信元メールの送信差出人インスタントクラウドフロー自動化したクラウドフロー委任VBAエラーエクセルerror復元restorePower BI個人列ユーザー列SharePoint Onlineリスト非表示アプリ[市民開発者構築自動化したクラウド フローフローの種類インスタント クラウド フロースケジュール済みクラウド フローレスポンシブ レイアウトresponsive layoutデータ行の制限引き継ぎ退職所有者を変更異動LoopMicrosoftdesignJSONデザイン運用選択肢列参照列ChatGPTOpenAIオープンAIチャットGPTgalleryギャラリースクロールコンテナショートカットキーshortcut keyconcat関数文字制限フロー実行開発環境環境本番環境ライセンス環境構築手順pipelineCI/CDパイプラインDevOpsMicrosoft 365簡易在庫管理時間外通知ファイルフィルター クエリドキュメント ライブラリfilter querysortソートmultiple item複数項目シェアポイント便利機能カレンダーCalendarTeamsローコード開発非エンジニア体験談勉強内製化市民開発管理ガバナンスerror notificationエラー通知削除フォルダゴミ箱完全削除モデル駆動型セキュリティロールビジネスルールDataverseJavaScript表示切替登録者システム列登録日更新者更新日変更SharePoint FrameworkSPFxサンプルsampleX-SPStyleStudioAI生成系AICopilotlicense添付ファイルコントロールファイルサイズ
PageTop
ページトップに戻る