Powershell — Создание группы Microsoft Online 365 с участниками и владельцами

#powershell #microsoft-graph-api #sharepoint-online

Вопрос:

Ради вопроса я опустил несколько шагов в надежде, что это будет достаточно ясно. Это powershell 5.1 в среде RunBook.

Единственный способ, которым я могу создать группу,-это когда все останется как есть. Однако я хотел бы раскомментировать цикл «владельцы/участники», чтобы добавить их во время создания группы, а не позже в сценарии.

ТИА

 <#foreach ($userEMAIL in $ownerLIST) {
    $EMAIL = $userEMAIL "@" $DATA[1]
    $URL = $graphURL "/users/" $EMAIL
    $USERS = invoke-restmethod -head $a_HEAD -uri $URL -method get
    $createdOWNERS  = $graphURL "/users/" $USERS.id ", "
}
foreach ($userEMAIL in $memberLIST) {
    $EMAIL = $userEMAIL "@" $DATA[1]
    $URL = $graphURL "/users/" $EMAIL
    $USERS = invoke-restmethod -head $a_HEAD -uri $URL -method get
    $createdMEMBERS  = $graphURL "/users/" $USERS.id ", "
}#>
$URL = $graphURL "/users?`$filter=userprincipalname eq '" $CREDS.getnetworkcredential().username "'"
$ST = invoke-restmethod -head $a_HEAD -uri $URL -method get
$stID = $ST.value.id
$createdOWNERS  = $graphURL "/users/$stID"
$createdMEMBERS  = $graphURL "/users/$stID"
$CREATE = @{ "displayName" = $siteTITLE; "mailEnabled" = $true; "groupTypes" = @("Unified"); "securityEnabled" = $true; "mailNickname" = $siteNAME; "owners@odata.bind" = @($createdOWNERS); "members@odata.bind" = @($createdMEMBERS) }
write-output ($CREATE | convertto-json )
$URL = "https://graph.microsoft.com/v1.0/groups"
$SITE = invoke-restmethod -method post -head $a_HEAD -uri $URL -body ($CREATE | convertto-json)