• Sub. srp 25th, 2026

Oblak Znanja

informatička edukacija i vijesti

Tužno stanje API-ja upravljanja za Copilot i Agent 365

ByTomšić Damjan

srp 25, 2026

Microsoftov marketinški stroj nastavlja bombardirati kupce paušalnim tekstovima o veličini umjetne inteligencije i uzaludnosti opiranja prelasku na E7. Ipak, kada je riječ o stvarnoj isporuci obećanih značajki i proizvoda koji razbijaju stvarnost, to je druga priča. A što se tiče upravljanja stvarima, pokrivenost je još uvijek… u najboljem slučaju oportunistička, ali čak se i to može smatrati pričom o uspjehu, u usporedbi s ledenim tempom kojemu svjedočimo na fronti API-ja.

API-ji Agent 365 su GA

Prošlo je četvrt od našeg početni izgled na Agent 365 API-jima, au međuvremenu je Microsoft proglasio Agent 365 API općenito dostupnim. Ako su sve do čega vam je stalo metode samo za čitanje, to jest. Jesu samo metode GET i LIST /v1.0 trenutačno vrijedan, s dostupnošću i metodama dodjele dostupnim samo pod /beta.

Nije se mnogo promijenilo ni za metode koje su prešle na /v1.0. Još uvijek nema podrške za $odaberi operatera, tako da ste prisiljeni dobiti potpuni odgovor, uvijek. Ali postoje neke pozitivne strane o kojima treba razgovarati. Prvo, “obični” paketi se više ne vraćaju u izlazu, tako da zapravo ne morate dodati $filter=supportedHosts/any(x:x eq ‘Kopilot’) parametar upita kako biste dobili samo objekte agenta.

Osim toga, sada su podržane dozvole za aplikacije, što konačno omogućuje dobivanje inventara vaših agenata na neinteraktivan način. Potrebna je odgovarajuća dozvola CopilotPackages.Read.All. Uveden je i okus “pisati”, CopilotPackages.ReadWrite.Alliako trenutno nema smisla koristiti ga jer nijedna od metoda pisanja trenutno ne podržava dopuštenja aplikacija.

Imajući gore navedeno na umu, evo kratkog primjera kako iskoristiti dopuštenja aplikacije za dohvaćanje skupa agenata unutar vašeg stanara:

#Fetch an access token via client credentials
Add-Type -Path "C:\Program Files\WindowsPowerShell\Modules\MSAL\Microsoft.Identity.Client.dll"
$app = [Microsoft.Identity.Client.ConfidentialClientApplicationBuilder]::Create("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx").WithClientSecret("blablabla").WithTenantId("tenant.onmicrosoft.com").Build()

$Scopes = New-Object System.Collections.Generic.List[string]
$Scope = "https://graph.microsoft.com/.default"
$Scopes.Add($Scope)

$token = $app.AcquireTokenForClient($Scopes).ExecuteAsync().Result
$authHeader1 = @{
   'Content-Type'='application/json'
   'Authorization'="Bearer $($token.AccessToken)"
}

#Fetch all agents
$uri = "https://graph.microsoft.com/v1.0/copilot/admin/catalog/packages"
$response = Invoke-RestMethod -Method GET -Uri $uri -Headers $AuthHeader1

$response.'@odata.count'
251
$response.value

Koliko ja mogu reći, ništa se drugo nije promijenilo prelaskom na /v1.0, a stvarno upravljanje agentima još uvijek je moguće samo korištenjem /beta metoda. Dakle, ako trebate upravljati velikim brojem agenata, morate koristiti nepodržani API ili možda stvoriti agent koji koristi računalo koji može izvršiti odgovarajuće radnje unutar portala. Zabava.

Još jedna posljednja naklapanja – Agent (upravljanje paketima) API nastavlja provoditi uvjete licenciranja Agent 365 nakon GA. Ovdje nema nikakvog iznenađenja jer je Microsoft vrlo jasno izrazio svoje namjere po tom pitanju. Dakle, dok svaki kupac dobiva pristup “osnovnoj” funkcionalnosti Agent 365 unutar M365 Admin centra, korisnici koji traže automatizirana rješenja imat će privilegiju potrošiti dodatnih $$$ na API koji čak ne odgovara onome što je moguće (besplatno) u korisničkom sučelju. Neka ima smisla.

Postavke pravila Copilot

Što nas dovodi do sljedećeg scenarija: konfiguriranje bilo koje od nekoliko desetaka postavki izloženih na stranicama Copilot i/ili Agent 365 unutar portala Microsoft 365. One se kreću od “pričvršćivanja” Copilot chata za vaše korisnike do omogućavanja Frontier pristupa dopuštenim vrstama agenata i tko može dijeliti agenta. Možete li pogoditi koliko se tih kontrola trenutno može konfigurirati putem API-ja ili općenito izvan portala?

Odgovor je 5 (pet). Ovo je proširenje na copilotPolicySetting API je razvijen. Evo popisa ID-ova postavki:

ID postavke Naziv postavke
microsoft.copilot.copilotchatpinning Pin Microsoft 365 Copilot Chat
microsoft.copilot.blockaccesstoopenfiles Blokiraj pristup kopilota otvorenom sadržaju
microsoft.copilot.imagegeneration Upravljajte pristupom Designer Image Generation
microsoft.copilot.allowwebsearch Dopusti pretraživanje weba u Copilotu
microsoft.copilot.allowinadmincenters Kontrolirajte dostupnost Admin Copilot-a u Microsoft 365 Admin Centeru

CopilotPolicySetting API je u pretpregledu od travnja i još je jedan primjer tužnog stanja upravljačkih API-ja za Copilot i Agent 365. Trenutačno nije dostupna čak ni metoda LIST, tako da morate znati vrijednost ID-a postavke, prije nego što uopće možete postaviti upit (pojedinačno). I pogađate, API je dostupan samo pod krajnjom točkom /beta i trenutno podržava samo dopuštenja delegata. Točnije, trebat će vam CopilotPolicySettings.Read dopuštenje za dohvaćanje trenutno konfiguriranih vrijednosti za odgovarajuće pravilo i CopilotPolicySettings.ReadWrite kako bi ga modificirali. Ne spominje se koja je administratorska uloga potrebna, pa se primjeri u nastavku izvode s Globalnim administratorom.

Kao usputna napomena, varijante dopuštenja aplikacije za dva gore navedena opsega zapravo su dostupne i mogu se dodijeliti aplikaciji. Međutim, metode API-ja trenutno ne prepoznaju takve opsege i svaki upit u kontekstu aplikacije rezultirat će a 403 Zabranjeno greška.

S dodijeljenim dopuštenjima, možemo koristiti alat kao što je Graph explorer za rad s nekoliko podržanih postavki. Jednostavan GET zahtjev protiv /beta/copilot/admin/policySettings/{id} krajnja točka će dohvatiti objekt politike, kao i pridruženu vrijednost postavke, gdje je konfigurirana. Na primjer, zahtjev u nastavku dobiva vrijednost za Pin Microsoft 365 Copilot Chat politika/postavka:

GET https://graph.microsoft.com/beta/copilot/admin/policySettings/microsoft.copilot.copilotchatpinning

The vrijednost svojstvo iz izlaza nam govori stanje odgovarajuće postavke, s vrijednošću 0 signalizirajući da je u ovom zakupcu postavka u onemogućenom stanju (“Ne prikvači Copilot Chat i ne traži od korisnika da ga prikvače”). Vrijednost null nam govori da odgovarajuća postavka nije konfigurirana (“vrijednost”: nula). Ako samo pravilo nije konfigurirano za stanara, vidjet ćete a “policyId”: nula vrijednost umjesto toga, što je zadana vrijednost za nove stanare. Odnosi se na službena dokumentacija za dodatne detalje i primjere.

Da biste ažurirali bilo koju od podržanih postavki, možete upotrijebiti zahtjev PATCH protiv /beta/copilot/admin/policySettings/{id} krajnja točka. U donjem primjeru mijenjamo vrijednost na “0”. Dovoljno smiješno, za microsoft.copilot.imagegeneration postavka, vrijednost od 1 prevodi da je onesposobljen, i 0 je omogućeno.

PATCH https://graph.microsoft.com/beta/copilot/admin/policySettings/microsoft.copilot.imagegeneration

{
  "value": "0"
}

Politika kopilota1Naravno, ne može se svaka postavka predstaviti binarnim (ili cjelobrojnim) vrijednostima, a kako se podrška za različita pravila Copilot bude širila, bit će potrebno podržavati više vrsta. Zapravo, dokumentacija se poziva na tu činjenicu, ali trenutno ne daje konkretne primjere takvih vrijednosti postavki. Osim toga, trenutačno ne postoji podrška za definiranje Copilot pravila za podskup vaših korisnika putem grupa ili bilo kojeg drugog mehanizma, ali dokumentacija priznaje takve scenarije.

Prije nego što zatvorimo ovaj odjeljak, valja spomenuti jednu zanimljivost. Naime, policyId vrijednost ima format Exchangea StoreIdšto ukazuje da se odgovarajući objekt politike vjerojatno nalazi unutar sistemskog/arbitražnog poštanskog sandučića. Točnije, Organizacijska particija_PolicyService_c2ada927-a9e2-4564-aae2-70775a2fa0af arbitražnog poštanskog sandučića, ili upućene putem njegovog PolicyService_c2ada927-a9e2-4564-aae2-70775a2fa0af ime/pseudonim.

Koristeći alat kao što je MFCMAPI, zatim možete dobiti odgovarajuće stavke pod ApplicationDataRoot podstablo i njegovo c2ada927-a9e2-4564-aae2-70775a2fa0af podmapa. Čini se da svako (konfigurirano) pravilo Copilot ima svoju stavku pod a4900027-b443-4789-aade-1180a176b8d0 podmapa s klasom SDS.c2ada927-a9e2-4564-aae2-70775a2fa0af.Postavke. Na primjer, ovako je microsoft.copilot.imagegeneration postavka je predstavljena:

Politika kopilota2Uzgred, ovo također objašnjava činjenicu zašto isto policyId vrijednost se vraća za sve podržane postavke.

Završne riječi

Dakle, krajem srpnja 2026., mjesec dana nakon GA agenta 365 i nekoliko godina u Microsoftovom AI putovanju, stanje API-ja koji se koriste za izvješćivanje ili upravljanje agentima, postavke kopilota i srodne konfiguracije i dalje su razočaravajuće. Stalno slušamo kako će umjetna inteligencija potaknuti 5x, 10x, koliko god već povećanje produktivnosti, ali kada je riječ o isporuci prvih primjera ove revolucije, čini se da stvarnost otkriva drugačiju priču. Drugi način gledanja na to je da Microsoft ne vidi API-je kao bilo kakvu vrstu prioriteta i rado ograničava svoje klijente na korištenje UI alata, gdje su dostupni.

Nekoliko metoda koje su trenutačno dostupne uglavnom su ograničene na interaktivne scenarije ili ne pokrivaju operacije pisanja, što ih čini korisnima samo za scenarije izvješćivanja. Zapravo, bilo koja organizacija koja želi upravljati stvarima u velikom obimu ili uskladiti njihovu implementaciju s industrijskim standardima ili najboljom praksom može to učiniti samo starom dobrom “ručnom” metodom, jednim bolnim klikom odjednom. S druge strane, možda su agenti koji koriste računala rješenje koje smo trebali pronaći? 🙂

Da završimo stvari na blago pozitivnoj noti, postoji malo svjetla u tunelu u obliku novog privatnog pregleda koji će se usredotočiti na upravljanje više stanara za Copilot i agente. Nakon što dođe do faze javnog pregleda, nastavit ću s još jednom objavom o “stanju unije”, nadam se jednom manje naklapanja od sadašnje.

Web izvor

By Tomšić Damjan

Pozdrav, ja sam Damjan Tomšić, osnivatelj i urednik informatičko edukativnog bloga Oblak Znanja. Za Vas ću se potruditi da dobijete edukativne članke, savjete i recenzije vezane uz osnovno i napredno korištenje računala i interneta. Kontak: Google+, Gmail.