Originalni datum objavljivanja: 9. decembar 2025.
KB ID: 5074596
Rezime
Windows PowerShell 5.1 sada prikazuje odziv za bezbednosnu potvrdu kada koristite komandu Invoke-WebRequest za dobavljanje veb stranica bez posebnih parametara. Ovaj odziv upozorava da bi skripte na stranici mogle da se pokreću tokom raščlanjivanja i savetuje korišćenje bezbednijeg parametra -UseBasicParsing radi izbegavanja izvršavanja skripte. Korisnici moraju da odaberu da nastave ili otkaže operaciju. Ova promena pomaže u zaštiti od zlonamernog veb sadržaja tako što zahteva saglasnost korisnika pre potencijalno rizičnih radnji.
Ova promena prvenstveno utiče na poslovna ili IT okruženja u kojima se PowerShell skripte koriste za automatizaciju i preuzimanje veb sadržaja. Osobe uređaje u ličnim ili kućnim postavkama obično ne moraju da preduzimaju nikakve radnje jer su ovi scenariji neuobičajeni izvan IT kontrolisanih primena.
Šta se promenilo?
-
Prethodno ponašanje
-
Kompletno raščlanjivanje objektnog modela dokumenta (DOM) pomoću komponenti programa Internet Explorer (HTMLDocument Interface (mshtml)), koje mogu da izvrše skripte iz preuzetog sadržaja.
-
-
Novo ponašanje
-
Odziv za potvrdu bezbednosti: Nakon instaliranja Windows ispravki objavljenih 9. decembra 2025. ili posle toga, pokretanje komande Invoke-WebRequest (poznato i kao zakrivljena) u programu PowerShell 5.1 aktiviraće bezbednosni odziv (kada se ne koristi nijedan specijalni parametar). Odziv se pojavljuje na PowerShell konzoli sa upozorenjem o riziku izvršavanja skripte. To znači da PowerShell pauzira da bi vas upozorio da bi, bez predostražnosti, sadržaj skripte veb stranice mogao da se izvrši u sistemu kada se on obradi. Operacija će biti podrazumevano otkazana radi bezbednosti ako pritisnete taster Enter (ili kliknete na dugme Ne). PowerShell će prikazati poruku da je otkazan zbog bezbednosnih problema i predlaže ponovno pokretanje komande pomoću parametra -UseBasicParsing za bezbednu obradu. Ako odaberete da, PowerShell će nastaviti sa raščlanjivanjem stranice pomoću starijeg metoda (kompletnog HTML raščlanjivanja), što znači da će učitati sadržaj i sve ugrađene skripte kao što je ranije koristio. U suštini, ako kliknete na dugme Da, prihvatate rizik i dozvoljavate komandi da se pokreće kao što je ranije, dok izbor stavke Ne (podrazumevano) zaustavlja radnju kako bi vas zaštitila.
-
Interaktivno naspram skripti: Uvod ovog odziva prvenstveno utiče na interaktivnu upotrebu. U interaktivnim sesijama ćete videti upozorenje i morate da odgovorite. Za automatizovane skripte (ne interaktivne scenarije kao što su planirani zadaci ili CI kanali), ovaj odziv može dovesti do toga da skripta ne preza od čekanja na unos. Da biste to izbegli, preporučujemo da ažurirate takve skripte da biste izričito koristili bezbedne parametre (pogledajte ispod) da ne bi zahtevali ručnu potvrdu.
-
Preduzimanje radnje
Većina PowerShell skripti i komandi koje koriste komandu Invoke-WebRequest nastaviće da radi sa malo izmena ili bez izmene. Na primer, skripte koje preuzimaju sadržaj ili rade sa telom odgovora kao tekstom ili podacima ne utiču i ne zahtevaju promene.
Ako imate skripte na koje ova promena utiče, koristite jedan od sledećih pristupa.
Nikakva radnja nije potrebna ako je tipična upotreba komande Invoke-WebRequest za dobavljanje sadržaja (kao što je preuzimanje datoteka ili čitanje statičkog teksta) i ne oslanjate se na naprednu interakciju sa lokacijama ili raščlanjivanje HTML DOM-a. Novo podrazumevano ponašanje je bezbednije – skripte ugrađene u veb sadržaj neće se pokrenuti bez vaše dozvole – a ovo je preporučena konfiguracija za većinu scenarija.
Za interaktivnu upotrebu, jednostavno odgovorite "Ne" na novi bezbednosni odziv (ili pritisnite taster Enter da biste prihvatili podrazumevanu vrednost) i ponovo pokrenite komandu pomoću parametra -UseBasicParsing da biste bezbedno preuzeli sadržaj. Ovo će izbeći izvršavanje bilo kog koda skripte na prenetoj stranici. Ako često interaktivno dobavljate veb sadržaj, razmotrite podrazumevano korišćenje parametra -UseBasicParsing u komandama da biste potpuno preskočili odziv i obezbedili maksimalnu bezbednost.
Za automatizovane skripte ili planirane zadatke, ažurirajte ih tako da uključe parametar -UseBasicParsing u Invoke-WebRequest pozive. Ovim se unapred bira bezbedno ponašanje tako da se odziv ne pojavljuje i skripta nastavlja da radi bez prekida. Na taj način osiguravate da se automatizacija neometano pokreće nakon ažuriranja, a da i dalje koristi prednosti poboljšane bezbednosti.
Razmotrite refaktorisanje ili ažuriranje skripti ili automatizacije koje se obrađuju sa nepouzdanim ili javnim veb sadržajem i zahtevaju obradu HTML struktura ili obrazaca. Umesto da se oslanjate na PowerShell za raščlanjivanje i pokretanje potencijalno opasnih skripti veb stranica, možete da:
-
Koristite alternativne metode raščlanjivanja ili biblioteke (na primer, tretirajte sadržaj veb stranice kao čisti tekst ili XML, koristeći regex ili XML/HTML biblioteke raščlanjivanja koje ne izvršavaju skripte).
-
Modernizujte pristup veb interakcijama, možda korišćenjem novije verzije PowerShell Core (verzije 7.x ili novije) koja ne zavisi od mašine programa Internet Explorer i izbegava pokretanje skripti ili korišćenjem specijalizovanih alatki za grebanje na vebu koje bezbednije rukuju sadržajem.
-
Ograničite oslanjanje na funkcije specifične za Internet Explorer, pošto je Internet Explorer zastareo. Planirajte da ponovo napišete delove skripti koji zavise od tih funkcija kako bi mogli da rade u okruženju u kojem se veb sadržaj bezbedno rukuje.
-
Cilj refaktorisanja je postići vašu potrebnu funkcionalnost bez izlaženja bezbednosnim rizicima i na taj način prihvatiti bezbednije podrazumevane vrednosti koje je ova promena uvela.
Ako imate određenu potrebu da koristite komande Invoke-WebRequest u punoj MOGUĆNOSTI HTML raščlanjivanja (kao što je interakcija sa poljima obrasca ili isecanje strukturiranih podataka) i imate poverenja u izvor veb sadržaja, i dalje možete da nastavite sa zastarelim ponašanjem raščlanjivanja od slučaja do slučaja. U interaktivnim sesijama to jednostavno znači da kliknete na dugme Da u odzivu za potvrdu da biste omogućili nastavak operacije. Svaki put kada to uradite dobićete podsetnik o bezbednosnom riziku. Nastavak bez -UseBasicParsing parametra treba da bude ograničen na scenarije u kojima u potpunosti verujete veb sadržaju (na primer, interne veb aplikacije pod vašom kontrolom ili poznate bezbedne veb lokacije).
Važno: Ovaj pristup se ne preporučuje za skripte pokrenute protiv nepouzdanog ili javnog veb sadržaja, jer uvodi rizik od tihog izvršavanja skripte za koje je namenjeno da se umanji. Takođe, za neaktivnu automatizaciju ne postoji ugrađeni mehanizam za automatsko pristajanje na odziv, tako da oslanjanje na potpuno raščlanjivanje u skripti nije savetodavno (pored toga što je rizično). Koristite ovu opciju umerajno i samo kao privremenu meru.
Najčešća pitanja
U većini slučajeva, skripte koje preuzimaju datoteke ili dobavljaju veb sadržaj kao tekst i dalje će funkcionisati; dodajte -UseBasicParsing parametar da biste izbegli upite. Skripte koje koriste napredno HTML raščlanjivanje (kao što su obrasci ili DOM) mogu da zakače ili izveste osnovne podatke umesto strukturiranih objekata; moraćete da se prebacite na osnovno raščlanjivanje ili izmenite skriptu da biste drugačije rukovali sadržajem.
Uvek koristite parametar -UseBasicParsing sa komandom Invoke-WebRequest u PowerShell skriptima da biste obezbedili bezbedno, neinaktivno izvršavanje.
Da. Skripte u zavisnosti od zastarelog raščlanjivanja moraju da se ažuriraju da bi dale saglasnost ili refaktor.
Promena u programu PowerShell može da se primeni i na standardne ispravke i na hotpatch ispravke, što je dovelo do iste promene u ponašanju.
Da. PowerShell 7 već podrazumevano koristi bezbedno raščlanjivanje.
Obratite se vlasnicima modula za planove podrške. Privremeno koristite davanje saglasosti za pouzdani sadržaj prilikom migracije.
Da biste se pripremili za ovu promenu i proverili valjanost, preporučujemo da:
-
Identifikujte skripte pomoću DOM funkcija.
-
Testirajte automatizaciju sa novom podrazumevanom postavkom.
-
Ograničite zastarele davanje saglasnosti na pouzdane izvore.
-
Planirajte refaktorisanje nepouzdanog sadržaja.