【SharePoint Online】リストの列情報をエクスポートする【PowerShell】

こんにちは。
今回はリストの列情報をPowerShellでCSVにエクスポートする方法をご紹介します。
取得するのは以下の内容です。

  内部名(InternalName)
  表示名(Title)
  列の種類(TypeDisplayName)
  既定値(DefaultValue)
  選択肢(Choices)
  説明(Description)

それでは行きましょう。

事前準備

もしCSOMをインストールしていない方は以下URLからダウンロードしてインストールしておく必要があります。
https://www.microsoft.com/en-us/download/details.aspx?id=42038

ソース

説明・注意点

パラメータ定義は以下の通りです。
 $WebUrl ⇒ 対象サイトのURL
 $ListTitle ⇒ 対象リストの表示名
 $UserName⇒ 接続するユーザー名
順不同ですが、MandatoryはTrueにしているため、入力必須となります。

コマンドを実行すると、パスワードを入力するポップアップが表示されますので入力してください。

次に処理として対象の列が選択肢の場合、CSVに入れ込むために1つの文字列として並べ替えてあげる必要があります。
それを行っているのが以下のセクションです。
もし”Choices”に値が入っていた場合は、カンマ区切りで”ChoiceList”に並べています。

    foreach($row in $ret) {
        if ($row.Choices -ne $null) {
            foreach($ch in $row.Choices) {
                $row.ChoiceList += $ch + ","
            }
            if ($row.ChoiceList.EndsWith(",")) {
                $row.ChoiceList = $row.ChoiceList.Substring(0, $row.ChoiceList.Length-1)
            }
        }
    }

その他特に説明する点等はなく、通常通りコンテキストを持ってきているだけですね。
何かあればDMやコメントで説明できるかと思います。

終わりに

今回は初心に帰って基礎的な操作を解説してみました。
次回からはもしかしたらSharePoint以外のことを記事にするかもしれません。

それではまた。