Ker Microsoft izboljšuje svojo varnostno držo v vseh izdelkih in storitvah, so se spremenile funkcije API-ja, ki lahko vplivajo na uporabnike, ki so se prej zanašali na dovoljenja samo za aplikacije za omogočanje uporabe zvezkov za predavanja in ekipe za predavanja z uporabo API-jev.
Opomba
V večini primerov priporočamo uporabo storitve sinhronizacije šolskih podatkov ( SDS), brezplačne storitve, ki pomaga avtomatizirati postopek sinhronizacije podatkov uporabnika in seznama podatkov iz sistemov za upravljanje informacij o študentih ali sistemov za upravljanje s storitvijo Microsoft 365. SDS vam pomaga upravljati izobraževalno organizacijo, uporabnike, predavanja in vloge, sinhronizirati podatke s storitvijo Microsoft Entra ID in storitvijo Microsoft 365, tako da lahko uporabljate Microsoft Teams, Intune za izobraževanje, Exchange Online, SharePoint Online, OneNotove zvezke za predavanja in omogočite aplikacije drugih ponudnikov z integracijo storitve Enotna prijava.
S storitvijo PowerShell in Microsoft Graph lahko še vedno omogočite uporabo razredov in zvezkov v merilu tako, da sledite podprtim načinom. V tem članku so opisani koraki in povezave do ustrezne dokumentacije.
Pomembno
Če sodelujete s partnerjem drugega ponudnika pri omogočanju uporabe razredov na ravni velikosti, dajte ta članek v skupno rabo z njim, preden sami izvedete korake.
Omogočanje uporabe novih razredov
1. možnost (priporočeno): uporaba modula Teams PowerShell
Opozorilo
Pred 21. avgustom 2025 je starejša različica te dokumentacije priporočena omogočanje uporabe prek storitve Teams PowerShell, preden je bila opravljena zahtevana posodobitev. Te posodobitve so zdaj dokončane in trenutno lahko nadaljujete s tem pristopom. Hvala za potrpežljivost.
Z ogrodjem Teams PowerShell lahko preprosto nastavite nova predavanja, kar vključuje vse potrebne nastavitve za predavanja in zvezke. Preprosto prilagodite želeno prikazano ime v tem skriptu in ga zaženite kot skrbnik.
Pomembno
Ta skript zahteva, da uporabite Microsoft Teams PowerShell različica 7.3.1 ali novejšo.
Vzorčni skript
| # Using the Teams PowerShell SDK Install-Module -MicrosoftTeams -Force -AllowClobber New-Team -DisplayName 'Test Class 20251208.4' -Template 'EDU_Class' |
|---|
2. možnost: Uporaba modula Microsoft Graph PowerShell
Če nimate dostopa do orodja Teams PowerShell, boste morda želeli raziskati omogočanje uporabe razredov na lestvici z orodjem Microsoft Graph. Ustrezno uredite parametre na vrhu tega skripta in nato zaženite skript kot skrbnik, da boste lahko nastavili razrede in zvezke v merilu:
Vzorčni skript
| # 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]|[ ]', '' # Ta poštni vzdevek zamenjajte z metodo prednostne generacije $OwnerId = "000-000-00000-00000-00000-000" # To zamenjajte z LASTNIKOM GUID # ------------ # Ustvari novo skupino M365 $CreateGroupBody = @" { "opis": "$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 |
|---|
Odpravljanje težav: dodeljevanje dovoljenj obstoječim mestom razreda
Opomba
Ta pristop bo zahteval tudi, da je oseba, ki izvaja skript, skrbnik mesta, kot je opisano tukaj. Spodnji skript vključuje korak za dodajanje trenutno prijavljenega uporabnika kot skrbnika mesta za mesta, ki jih je treba odpraviti.
Če ste že omogočali predavanja in spremljate napake ali težave z dovoljenji v zvezku za predavanja ali dodelitvami v aplikaciji Teams, lahko posodobite dovoljenja mesta za predavanja s tem skriptom in parameter rawGroups zamenjate z ID-ji skupin za razrede, na katere to vpliva:
Vzorčni skript
| #You boste morali vzpostaviti povezavo s SharePointom, Exchange Online, in Graph s temi -Obsegi Sites.FullControl.All, kot tudi zbiranje groupIDs razreda Teams vpliva $rawGroups =@("b0a5905d-09ae-4605-8e12-94da93ecbe92","e0eec729-24ef-451e-b079-56d0baf4dfc9« # Pretvori v matriko predmetov z .groupid $groups = $rawGroups | ForEach-Object { Get-UnifiedGroup -Identity $_ } $step = 0 #get trenutno prijavljenim v uporabnikov račun, da dodate kot skrbnika mesta $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" # To so Id-ji aplikacij za pogoste aplikacije Microsoft EDU $AppIds = @{ "8f348934-64be-4bb2-bc16-c54c96789f43"="EDU Dodelitve"; "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"; } # Uporabite dovoljenja za spletno mesto skupine $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" } |
|---|