none
SharePointOnline PowerShell にて リスト列「ユーザまたはグループ」にグループを登録 RRS feed

  • 質問

  • SharePointOnline PowerShell にて CSVファイルに登録された「グループ名」を、
    カスタムリスト内のリスト列「ユーザまたはグループ」にアップロードする処理がうまく作成できません。

    EnsureUserにてユーザ情報を取得して、その中のIDを使用して登録する事で実現出来ましたが、グループ名だとエラーとなります。

    グループ名の場合は、違うメソッドを呼び出すのでしょうか?

    ※$CSVの中身は、メールアドレス、又は、在籍するグループ名が格納。


    以下コードの抜粋
    $user = $ctx.web.EnsureUser($CSVの中身)
    $ctx.Load($user)
    $ctx.ExecuteQuery()

    $newItem = $list.AddItem($itemCreateInfo)
    $newItem["text1"] = $user.Id
    $newItem.Update()
    $ctx.Load($newItem)
    $ctx.ExecuteQuery()


    尚、画面からリストに$CSVの中身の値を入力すると、既にサイトグループに登録済なので、
    補完されて入力が可能、保存時も正常に登録されます。

    2018年2月19日 6:11

回答

  • なるほど、SharePoint の中で作成したものは、SharePoint だけで利用できる「SharePoint グループ」ですね。
    Office 365 では、セキュリティ グループとした場合、Azure AD 上にあるセキュリティ グループを指します。

    本題ですが、SharePoint グループを格納するのであれば、下記のように書けると思います。

    $newItem = $list.AddItem($itemCreateInfo)
    $newItem["text1"] = $ctx.web.SiteGroups.GetByName("チーム サイト メンバー")
    $newItem.Update()
    $ctx.Load($newItem)
    $ctx.ExecuteQuery()
    どうでしょうか??
    2018年2月19日 8:37

すべての返信

  • グループ名というのは、セキュリティグループの表示名ですか??
    2018年2月19日 7:12
  • otaさん

    はい、そうです。

    サイト管理者にて、サイトの設定→ユーザとグループ

    にて作成した、該当サイトコレクション内で有効なセキュリティグループとなります。

    そのセキュリティグループ名を、別途PowerSellにてカスタムリスト内の「ユーザとグループ」列に、格納したいのです。


    2018年2月19日 7:33
  • なるほど、SharePoint の中で作成したものは、SharePoint だけで利用できる「SharePoint グループ」ですね。
    Office 365 では、セキュリティ グループとした場合、Azure AD 上にあるセキュリティ グループを指します。

    本題ですが、SharePoint グループを格納するのであれば、下記のように書けると思います。

    $newItem = $list.AddItem($itemCreateInfo)
    $newItem["text1"] = $ctx.web.SiteGroups.GetByName("チーム サイト メンバー")
    $newItem.Update()
    $ctx.Load($newItem)
    $ctx.ExecuteQuery()
    どうでしょうか??
    2018年2月19日 8:37
  • OTAさん

    回答の内容で、動作が正常に行えました。

    とても助かりました。ありがとうございました。

    2018年2月19日 9:48