やりたいこと
タイトル通りです。前回の記事ではPnP PowerShellでしたが、今回の記事はGraph PowerShell版の備忘録として記事に残します。
事前準備
ClientリストとProductリストを用意しておきます。Productリストの「RefClientName」列を参照列として、Clientリストの「ClientName」列でリレーションシップを設定しています。
PowerShellの実行コマンド
結論、実行コマンドは以下です。
「LookupId」を参照列名に付与することが動作の鍵となります。
Connect-MgGraph -Scopes "User.Read.All", "Group.ReadWrite.All"
$clientName = "テスト株式会社"
$productName = "テスト製品"
$clientListName = "Client"
$productListName = "Product"
$siteName = "{サイト名}"
$siteId = Get-MgSite -Search "$siteName"
$productListId = Get-MgSiteList -SiteId $siteId.Id -Filter "DisplayName eq '$clientListName'"
$clientListId = Get-MgSiteList -SiteId $siteId.Id -Filter "DisplayName eq '$productListName'"
$clientListItem = Get-MgSiteListItem -SiteId $siteId.Id -ListId $clientListId -Filter "fields/ClientName eq '$clientName'"
$params = @{
fields = @{
ProductName = $productName
RefClientNameLookupId = $clientListItem.Id
}
}
New-MgSiteListItem -SiteId $siteId.Id -ListId $productListId -BodyParameter $params