前提・実現したいこと
初心者です。初投稿です。
<最終的にやりたいこと>
SharePointOnlineのカスタムリストに
powershellでアイテムを追加したいです。
発生している問題・エラーメッセージ
"0" 個の引数を指定して "ExecuteQuery" を呼び出し中に例外が発生しました: "列 '社員名' が存在しません。他のユーザーが削除した可能性があります。
上記がでるため、
$colItemsの中身を見てみたいと思いますが、
Microsoft.SharePoint.Client.ListItem
とリスト名が表示されてしまいます。
$newItem["○○"]を内部のプロパティ値を知る為にはどの様にするべきでしょうか。
※表示名ではないようです・・・。
ブラウザのsharepointonlineで表示名ではなく、内部プロパティ名をGUIにて知る方法があれば
そちらの方法でも構いません。
該当のソースコード
CSOM ライブラリを読み込む
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint.Client") | Out-Null
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint.Client.Runtime") | Out-Null
コンテキスト作成や初期処理
$siteUrl = "https://<ひみつ>.sharepoint.com/sites/sitetop"
$ctx = New-Object Microsoft.SharePoint.Client.ClientContext($siteUrl)
$accountName = "ひみつ@ひみつ.onmicrosoft.com"
$password = ConvertTo-SecureString -AsPlainText -Force "ひみつ"
$credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($accountName, $password)
$ctx.Credentials = $credentials
リストの取得
$list = $ctx.Web.Lists.GetByTitle("TopList")
リストアイテム取得
$camlQuery = [Microsoft.SharePoint.Client.CamlQuery]::CreateAllItemsQuery(100)
$colItems = $list.GetItems($camlQuery)
$ctx.Load($colItems)
$ctx.ExecuteQuery();
#アイテム表示 ※ここが上手くいかない
write-host $colItems
データCSVの読み込み
$csv = Import-Csv "C:\Users\hhatanaka\Desktop\src\yoko\csv.csv"
アイテム作成処理の予約
foreach($line in $csv){
# アイテム作成の準備 $itemCreateInfo = New-Object Microsoft.SharePoint.Client.ListItemCreationInformation # 作成アイテムの情報設定 $newItem = $list.AddItem($itemCreateInfo) $newItem["社員名"] = $line.社員名 ※ここが上手くいかない、$newItem["社員名"]がない $newItem["順位"] = $line.順位 $newItem["実績"] = $line.実績 $newItem["達成率"] = $line.達成率 $newItem.Update()
}
作成処理の実行
$ctx.ExecuteQuery();
試したこと
よろしくお願いします。
補足情報(FW/ツールのバージョンなど)

あなたの回答
tips
プレビュー