Kuna Microsoft täiustab oma turbehoiakut kõigis toodetes ja teenustes, on API funktsionaalsust muudetud , mis võib mõjutada kliente, kes on varem API-de abil klassimärkmike ja klassimeeskondade ettevalmistamisel tuginenud ainult rakendusepõhistele õigustele.

Märkus.: Enamikul juhtudel soovitame kasutada school Data Synci(SDS) tasuta teenust, mis aitab automatiseerida kasutaja- ja nimestikuandmete sünkroonimist Student Information or Management Systemsist Microsoft 365-ga. SDS aitab teil hallata haridusasutuste, kasutajate, klasside ja rollide haldamist, andmete sünkroonimist Microsoft Entra ID ja Microsoft 365-ga, et saaksite kasutada Microsoft Teamsi, Intune haridusasutustele, Exchange Online, SharePoint Online'i, OneNote'i klassimärkmikke ja lubada kolmanda osapoole rakendused ühekordse sisselogimise rakendus integreerimine.

PowerShelli ja Microsoft Graphi abil saate endiselt klasse ja märkmikke mastaabis ette valmistada, järgides toetatud meetodeid. Selles artiklis kirjeldatakse juhiseid ja esitatakse lingid asjakohasele dokumentatsioonile.

NB!: Kui töötate koos kolmandast osapoolest partneriga klasside kohapealse ettevalmistamise kallal, jagage enne ise toimingute tegemist seda artiklit nendega.

Uute klasside ettevalmistamine

1. võimalus (soovitatav): Teamsi PowerShelli kasutamine

Hoiatus.: Enne 21. augustit 2025 soovitati selle dokumentatsiooni eelmine versioon enne nõutava värskenduse tegemist valmistada ette Teams PowerShelli kaudu. Need värskendused on nüüd lõpule viidud ja saate seda lähenemist praegu jätkata. Tänan teid kannatlikkuse eest.

Teams PowerShelli abil on lihtne ette valmistada uusi klasse, mis sisaldavad klasside ja märkmike jaoks vajalikku häälestust. Kohandage lihtsalt järgmises skriptis soovitud kuvatavat nime ja käivitage see administraatorina.

NB!: Järgmine skript nõuab, et kasutaksite Microsoft Teamsi PowerShelli versiooni 7.3.1 või uuemat versiooni. 

Näidisskript

# Using the Teams PowerShell SDK
Install-Module -MicrosoftTeams -Force -AllowClobber
New-Team -DisplayName 'Test Class 20251208.4' -Template 'EDU_Class'

2. võimalus: Microsoft Graph PowerShelli kasutamine

Kui teil pole juurdepääsu Teamsi PowerShellile, võite Microsoft Graphi abil uurida ettevalmistamise klasse mastaabis. Redigeerige vastavalt vajadusele järgmise skripti ülaosas olevaid parameetreid ja seejärel käivitage skript administraatorina, et valmistada klassid ja märkmikud ette mastaabis:

Näidisskript

# Using the MS Graph API
Install-Module Microsoft.Graph -AllowClobber -Force

# PARAMETERS
$Name = "Test Class 20251208.3"
$Description = "A Test Class"
$Mail =  $Name -replace '[^a-zA-Z0-9\s]|[ ]', '' # Replace this mail alias with a preferred generation method
$OwnerId = "000-000-00000-000000-000" # Replace this with the Owner's GUID
# ------------

# Create a new M365 Group
$CreateGroupBody = @"
{
  "description": "$Name",
  "displayName": "$Description",
  "groupTypes": [
    "Unified"
  ],
  "mailEnabled": false,
  "mailNickname": "$Mail",
  "securityEnabled": false,
  "members@odata.bind": [
    "https://graph.microsoft.com/v1.0/users/$OwnerId"
  ], 
  "owners@odata.bind": [
    "https://graph.microsoft.com/v1.0/users/$OwnerId"
  ],
  "visibility": "HiddenMembership",
  "creationOptions": [
    "ExchangeProvisioningFlags:461",
    "classAssignments"
  ],
  "extension_fe2174665583431c953114ff7268b7b3_Education_ObjectType": "Section",
  "resourceBehaviorOptions": [
    "appRoleForSite:22d27567-b3f0-4dc2-9ec2-46ed368ba538:fullcontrol",
    "appRoleForSite:c9a559d2-7aab-4f13-a6ed-e7e9c52aec87:fullcontrol",
    "appRoleForSite:13291f5a-59ac-4c59-b0fa-d1632e8f3292:fullcontrol",
    "appRoleForSite:2d4d3d8e-2be3-4bef-9f87-7875a61c29de:fullcontrol",
    "appRoleForSite:8f348934-64be-4bb2-bc16-c54c96789f43:fullcontrol"
  ]
}
"@
$NewGroup = Invoke-MgGraphRequest -uri 'https://graph.microsoft.com/v1.0/groups/' -Body $CreateGroupBody -Method POST -ContentType "application/json"

# Create Teams Class Team from group
$CreateTeamBody = @{
    "template@odata.bind" = "https://graph.microsoft.com/v1.0/teamsTemplates('educationClass')"
    "group@odata.bind" = "https://graph.microsoft.com/v1.0/groups('$($NewGroup.Id)')"
}
New-MgTeam -BodyParameter $CreateTeamBody​​​​​​​

Tõrkeotsing: õiguste andmine olemasolevatele klassisaitidele

Märkus.: See lähenemisviis nõuab ka, et skripti käitav isik oleks saidi administraator, nagu siin kirjeldatud. Alltoodud skript sisaldab etappi tõrkeotsingut vajavate saitide praegu sisselogitud kasutaja lisamiseks saidiadministraatorina.

Kui olete klassid juba ette valmistatud ja jälgite klassimärkmiku või Teamsi ülesannetega seotud tõrkeid või õigustega seotud probleeme, saate oma klasside saidiõigusi värskendada järgmise skripti abil, asendades parameetri rawGroups mõjutatud klasside rühma ID-dega:

Näidisskript

#You will need to connect to SharePoint, Exchange Online, and Graph with the following -Scopes Sites.FullControl.All, as well as collect the groupIDs of Class Teams affected
$rawGroups =@("b0a5905d-09ae-4605-8e12-94da93ecbe92","e0eec729-24ef-451e-b079-56d0baf4dfc9")
# Convert to array of objects with .groupid
$groups = $rawGroups | ForEach-Object { Get-UnifiedGroup -Identity $_ }
$step = 0

#get the currently logged in user's account to add as a site admin
$CUA = (get-mgcontext).account


foreach ($group in $groups) {
 $step = $step + 1
 Set-SPOUser -Site $group.SharePointSiteUrl -LoginName $CUA -IsSiteCollectionAdmin $true
 Write-Host "SiteCollectionAdmin added on $step of $($Groups.Count) Class Sites"
}

#Pause for 5 minutes before tiggering the General Folder creation
Write-Host "Pausing for 5 Minutes before adding perms to allow SiteCollectionAdmin to propagate"
Start-Sleep -Seconds 300

Write-Host "Working on $($Groups.Count) Classes"

foreach ($group in $groups) {
 #$step = $step + 1
 $Site = Get-MgGroupSite -GroupId $group.ExternalDirectoryObjectId -SiteId "root"
 $SiteId = $Site.Id
 Write-Host "Processing permissions on $step of $($Groups.Count) Classes"
 # These are the AppIds for common Microsoft EDU Apps
 $AppIds = @{
 "8f348934-64be-4bb2-bc16-c54c96789f43"="EDU Assignments";
 "22d27567-b3f0-4dc2-9ec2-46ed368ba538"="Reading Assignments";
 "2d4d3d8e-2be3-4bef-9f87-7875a61c29de"="OneNote";
 "c9a559d2-7aab-4f13-a6ed-e7e9c52aec87"="Microsoft Forms";
 "13291f5a-59ac-4c59-b0fa-d1632e8f3292"="EDU OneNote";
 }

# Apply the permissions to the group site
$AppIds.Keys | %{
  $AppId = $_
  $Name = $AppIds[$_]

  $Body = @"
  { 
      "roles": ["fullcontrol"], 
      "grantedToIdentities": [{ 
        "application": { 
          "id": "$AppId",
          "displayName": "$Name"
        }
      }] 
  }
"@

  Invoke-MgGraphRequest -Method POST -Uri "https://graph.microsoft.com/v1.0/sites/$SiteId/permissions" -Body $Body -ContentType "application/json"
}
}

Write-Host "Processed $($Groups.Count) Classes, removing sitecollectionadmin"
$step = 0
foreach ($group in $groups) {
 $step = $step + 1
 Set-SPOUser -Site $group.SharePointSiteUrl -LoginName $CUA -IsSiteCollectionAdmin $false
 Write-Host "SiteCollectionAdmin removed on $step of $($Groups.Count) Class Sites"
}

Kas vajate veel abi?

Kas soovite rohkem valikuvariante?

Siin saate tutvuda tellimusega kaasnevate eelistega, sirvida koolituskursusi, õppida seadet kaitsma ja teha veel palju muud.