Blog

主に Steps Recorder を使ってKnowledgeを記録するブログです。間違いや分かりにく部分があったらコメントください。

SharePoint Online PowerShell 列情報(外部名、内部名)取得


 列の外部名と内部名に何が設定されているかブラウザで確認するのは結構時間が掛かる大変な作業ですよね。

今回は、リストの外部名と内部名を一覧表示するサンプルプログラムを紹介します。


サンプルプログラムの紹介
下記はリストの列情報(外部名、内部名)取得を一覧表示するコマンドです。

 

# Read CSOM
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint.Client")
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint.Client.Runtime")


#サイトURL
$siteUrl ="サイトURLを記載"


#リスト名
$listName = "リスト名を記載"


#ユーザー
$username = "ユーザー名を記載"
$password = Read-Host -Prompt "パスワード:" -AsSecureString


#インスタンス生成
$context = New-Object Microsoft.SharePoint.Client.ClientContext($siteUrl)


#認証情報
$credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($username, $password)
$context.Credentials = $credentials


#対象のリストの列を取得
$list = $Context.Web.Lists.GetByTitle($listName)
$Context.Load($list)
$Context.Load($list.Fields)
$Context.ExecuteQuery()


foreach($field in $list.Fields){
    $context.Load($field)
    $context.ExecuteQuery();

    Write-Host $field.Title " : " $field.InternalName
}


今回のサンプルでは触れていませんが、応用してCSV等に出力すると設計書やテスト時には便利ですね。

 

その他、Fieldsプロパティについては下記を参考にしてください。
https://msdn.microsoft.com/ja-jp/library/office/aa979575.aspx