BestillingsportalenBestillingsportalen

Øvrig dokumentasjon

Språk på gruppeområder

Vis på GitHub

Siden mai 2026 ignorerer Microsoft Graph det bestilte språket (SPSiteLanguage i creationOptions) når en Microsoft 365-gruppe opprettes. Gruppeområdet får da ofte rotområdets språk i stedet for det bestilte. Kallet lykkes uten feil eller advarsel. Feilen er bekreftet av Microsoft (sp-dev-docs #10875), men rettelsen har ikke nådd alle tenanter. Bakgrunn og vurderte alternativer: Bakgrunnsutredning.

Feilen er tilfeldig per opprettelse. I test fikk ca. 28 % av gruppene riktig språk (12 av 43), både med managed identity og delegert. Bestillingsportalen har derfor en valgfri workaround: opprett flere kandidater samtidig, behold den som fikk riktig språk, og slett resten.

Når er dette aktuelt?

Bare når både:

  • tenanten har feilen, og
  • brukerne bestiller et annet språk enn rotområdets.

Har rotområdet samme språk som bestillingen, gir feilen riktig språk uansett. Runbooken oppdager det og oppretter da bare én kandidat.

Workaround-en gjelder områdetyper som oppretter en Microsoft 365-gruppe: Prosjektområde, Microsoft 365-gruppe og Microsoft Teams Team (også med Teams-mal fra Admin Center). Den gjelder ikke kloning av et eksisterende team (TeamsTemplate som ikke er standard), som oppretter sin egen gruppe.

Slik slår du den på

Rediger radene i listen Provisioning Request Settings på bestillingsområdet:

InnstillingStandardBetydning
EnableGroupLanguageRetryfalsetrue slår på workaround-en
GroupLanguageRetryParallel3Antall kandidater som opprettes samtidig per runde (1–10)
GroupLanguageRetryMaxRounds3Maks antall runder før bestillingen feiler

Med ca. 28 % treff gir 3 kandidater per runde minst ett treff i omtrent 3 av 4 runder, og 3 runder gir treff i over 95 % av bestillingene. Hver runde tar under ett minutt. Øk GroupLanguageRetryParallel hvis bestillinger feiler fordi ingen kandidat traff.

Radene opprettes av installasjonen. Mangler de i en eksisterende installasjon, kjør deploy.ps1 -Upgrade og svar ja på malspørsmålet, eller opprett radene manuelt.

Hva skjer når den er på

ProcessProvisionRequest kaller runbooken CreateGroupWithLanguage i stedet for sin egen POST /groups. Runbooken får nøyaktig den samme gruppe-bodyen. Per runde:

  1. Oppretter kandidatene: den første med bestilt alias, resten med alias-xxxxx (5 tegn fra en GUID). Kandidatene opprettes uten medlemmer.
  2. Venter til områdene finnes (ca. 20 sekunder) og leser språket via SharePoints admin-API.
  3. Beholder første treff. Bestilt alias foretrekkes hvis det traff.
  4. Sletter de andre kandidatene permanent: gruppen slettes og tømmes fra papirkurven i Entra, og området slettes.
  5. Legger til medlemmene på gruppen som ble beholdt.

Deretter fortsetter provisjoneringen som vanlig (Teams, mal, ConfigureSpace osv.) mot området som ble beholdt.

Konsekvenser:

  • URL og alias kan få suffiks, for eksempel /sites/prosjekt-x-3f2a1. Bestillingen oppdateres med faktisk SiteURL, SiteAlias og MailboxAlias, og e-poster og varsler bruker faktisk URL.
  • Kortlevde ekstra grupper: hver bom er en ekte gruppe med postboks i noen sekunder før den slettes. Eierne kan se dem kort. Medlemmer legges først til på gruppen som beholdes, så de får ingen e-post fra kandidatene.
  • Bom slettes permanent. Områdene ligger i SharePoints papirkurv til den tømmes, men sperrer ingenting.

Når bestillingen feiler

Får ingen kandidat riktig språk etter GroupLanguageRetryMaxRounds runder, sletter runbooken alle kandidatene, og bestillingen får status Space Creation Failed med årsaken i StatusReason. Bestill på nytt, eller øk antall kandidater eller runder.

Detaljer om hver runde står i jobbloggen til CreateGroupWithLanguage i Automation-kontoen (Jobs).

Tillatelser

Ingen nye. Runbooken bruker Automation-kontoens managed identity med tillatelsene den allerede har: Graph Group.ReadWrite.All og SharePoint Sites.FullControl.All.

Hvorfor slettingen er tungvint: SharePoints admin-API nekter å slette et gruppeområde, også etter at gruppen er slettet, og GroupSiteManager/Delete avviser app-only. Runbooken sletter derfor gruppen permanent, fjerner koblingen til gruppen på området (ClearGroupId) og sletter området via tenant-CSOM.

Tenanter uten Bestillingsportalen

New-PPSiteWithLanguageRetry.ps1 gjør det samme som et frittstående skript, lokalt eller som runbook. Test-GroupSiteLanguageRetry.ps1 måler treffraten i en tenant uten å beholde noe.

Når Microsoft retter feilen

Sett EnableGroupLanguageRetry til false. Om feilen er borte i en tenant, kan du sjekke med testskriptet: treffraten blir da 100 %.