Добавить группу участников Пакетный запрос - PullRequest
0 голосов
/ 21 февраля 2019

Я пытаюсь создать пакетный запрос для добавления пользователя в качестве члена нескольких групп O365.Я пытаюсь создать JSON с помощью powershell.И отправьте запрос с помощью модуля PSMSGraph.

foreach($AGM in $GraphUser.AddGuestMember){
    $myRequest = [pscustomobject][ordered]@{ 
        id     = $requestID
        method = "POST"
        url    = "/groups/$AGM/members/`$ref"
        body   = "@odata.idhttps://graph.microsoft.com/v1.0/users/$($GraphUser.GId)"
        }
    $myBatchRequests += $myRequest
    $IDs += $requestID
    $requestID ++
    }      

Я использую следующий цикл для добавления запросов в массив.После заполнения массива я конвертирую его в JSON.

{
"requests":  [
                 {
                     "id":  0,
                     "method":  "POST",
                     "url":  "/groups/be03ed64-639a-4620-b8a4-a025df70d131/members/$ref",
                     "body":  "@odata.id:https://graph.microsoft.com/v1.0/users/c9fc90c3-8eaf-43f2-a27f-d8176e893635"
                 },
                 {
                     "id":  1,
                     "method":  "POST",
                     "url":  "/groups/58389709-0176-4da9-93c9-05eb797fc32a/members/$ref",
                     "body":  "@odata.id:https://graph.microsoft.com/v1.0/users/c9fc90c3-8eaf-43f2-a27f-d8176e893635"
                 }
    ]
}

При отправке запроса у меня возникает следующая ошибка:

Invoke-GraphRequest: Невозможно запросить Uri 'https://graph.microsoft.com/v1.0/$batch': Удаленный сервер возвратил ошибку: (400) Неверный запрос .: {"error": {"code": "BadRequest", "message": "Идентификатор запроса на запись: 0 не содержит Content-Typeheader или body. "," innerError ": {" request-id ":" fdd0362b-c850-4f9f-b1a8-0020f60a1801 "," date ":" 2019-02-21T14: 51: 06 "}}}

Скорее всего, тело деформировано.Любые идеи, как я могу создать тело в правильном формате для запроса BATCH?

Спасибо!

1 Ответ

0 голосов
/ 22 февраля 2019

Не нужно использовать этот способ, есть встроенная команда powershell для добавления участника в группу, команда по сути вызывает API Azure Ad Graph.

См .: https://docs.microsoft.com/en-us/powershell/module/azuread/add-azureadgroupmember?view=azureadps-2.0

Add-AzureADGroupMember -ObjectId "62438306-7c37-4638-a72d-0ee8d9217680" -RefObjectId "0a1068c0-dbb6-4537-9db3-b48f3e31dd76"

Если вы хотите добавить пользователя в несколько групп, просто используйте цикл для этого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...