V tem članku bomo pokazali, kako selektivno onemogočiti UAC za določeno aplikacijo, ne da bi ta storitev nadzora uporabniških računov v celoti onemogočili. Oglejmo si več načinov za izklop nadzora uporabniškega računa za aplikacijo z zastavico združljivosti. RunAsInvoker.
Nadzor uporabniškega računa ali Nadzor uporabniškega računa (UAC) prosi uporabnika za potrditev vsakega dejanja, ki zahteva skrbniške pravice. To je dokaj učinkovit mehanizem za zaščito sistema Windows pred različnimi grožnjami (virusi, trojanci, črvi, rootkiti itd.). Nekatere uporabnike okno UAC nadleguje in popolnoma onemogočijo nadzor uporabniških računov, čeprav Microsoftovi strokovnjaki za varnost informacij ne priporočajo tega..Oznaka RunAsInvoker omogoča zagon aplikacije z označevalcem, podedovanim iz nadrejenega postopka. S tem prekličete obdelavo manifesta aplikacije in odkritje postopkov namestitve. Ta parameter ne zagotavlja skrbniških pravic, ampak le blokira videz okna UAC.
Če program za izvajanje zahteva skrbniške pravice, ker Če spremeni sistemske nastavitve ali sistemske datoteke, se uporabniški privilegiji v aplikaciji, ko je onemogočen UAC zanjo, ne povečajo. Program se bo še vedno izvajal s pravicami trenutnega uporabnika in če teh sprememb ne bo imel, jih program ne bo mogel izvajati. Obstaja tudi majhno število aplikacij, ki se zaženejo samo v načinu »Kot skrbnik« in ne upoštevajo zastavice združljivosti RunAsInvoker..Kot primer bomo onemogočili pojav zahteve za nadzor uporabniškega računa za urejevalnik registra (regedit.exe) Kljub temu, da ima moj račun skrbniške pravice, ob zagonu pripomočka še vedno dobim zahtevo UAC za potrditev zagona.
Vsebina:
- Onemogočanje UAC-a za program z orodjem za združljivost aplikacij
- S pomočjo registra omogočite zastavo RUNASINVOKER za program
- Datoteka Bat za zagon aplikacije v načinu RunAsInvoker
Onemogočanje UAC-a za program z orodjem za združljivost aplikacij
Potrebujemo pripomoček Zbirka orodij za združljivost aplikacij, ki je del sistema Windows ADK. Najnovejšo različico sistema Windows ADK za Windows 10 prenesite tukaj.
Zaženite naloženo datoteko adksetup.exe in med namestitvijo (program potrebuje dostop do interneta) izberite samo Zbirka orodij za združljivost aplikacij.
Opomba. Paket Microsoftov priročnik za združljivost aplikacij - brezplačen nabor pripomočkov, namenjen odpravljanju težav z združljivostjo aplikacij pri nadgradnji na nove različice sistema Windows.V sistemu se bosta pojavili dve različici Administrator združljivosti aplikacij - 32 in 64 bitna različica. Zaženite različico skrbnika združljivosti aplikacij glede na bitno globino aplikacije, za katero želite zatreti zahtevo UAC.
Zaženite pripomoček Združljivi skrbnik (32-bitni) s skrbniškimi pravicami (!). V razdelku Baze podatkov po meri z desno miškino tipko kliknite postavko Nova baza podatkov in izberite Ustvari novo-> popravilo aplikacij.
V oknu, ki se odpre, podajte ime aplikacije (regedit), proizvajalca (Microsoft) in pot do izvršljive datoteke (C: \ Windows \ regedit.exe
).
Preskočite naslednje okno čarovnika za nastavitev (Način združljivosti), s tapkanjem Naprej. V oknu Popravki združljivosti preverite možnost RunAsInvoker.
Če želite, se lahko prepričate, da lahko aplikacija deluje brez UAC-a s klikom na gumb za poskusni zagon (Preskusna vožnja).
V oknu Ujemanje informacij Določite lahko, katere parametre aplikacije preverite (različica, vsota, velikost itd.). Pustil sem čeke COMPANY_NAME, PRODUCT_NAME in ORIGINAL_FILENAME vklopljene, da ne bi ponovno ustvaril datoteke popravka po naslednji posodobitvi sistema Windows 10 in posodobil različice datoteke regedit..
Namig. Za zaščito pred zamenjavo izvršljive datoteke s strani napadalca je zaželeno uporabiti kontrolno vsoto, datotečno_verzijo in velikost kontrolne vsote. Upoštevajte, da bodo dodatni pregledi nekoliko upočasnili zagon aplikacije.Kliknite Dokončaj in določite ime datoteke, kamor želite na primer shraniti ustvarjeni paket popravkov združljivosti regedit.sdb. Ta datoteka vsebuje navodila za zagon aplikacije z določenimi možnostmi združljivosti..
Ostaja, da za svojo aplikacijo uporabite paket popravkov združljivosti. To lahko storite neposredno s konzole skrbnika združljivosti (z izbiro Namestite) ali iz ukazne vrstice.
Če želite to narediti, odprite ukazni poziv s skrbniškimi pravicami in zaženite ukaz:
sdbinst -q c: \ ps \ regedit.sdb
Če je bilo vse opravljeno pravilno, se ob uspešni prijavi paketa pojavi sporočilo..
Namestitev regedita je končana.
Po namestitvi paketa se ustrezni vnos prikaže na seznamu nameščenih programov Windows (Programi in funkcije).
Poskusite zdaj zagnati aplikacijo v uporabniški seji brez lokalnih skrbniških pravic. Zdaj bi se moral začeti brez zahteve za UAC..
Zdaj preverite, s kakšnimi privilegiji se izvaja ta aplikacija. To naredite tako, da v upravitelja opravil na zavihku procesa dodate stolpec »Povišano«. Prepričajte se, da se postopek regedit.exe pri uporabniku zažene v neprivilegiranem načinu (Povišana = Ne
).
V tem postopku urejevalnika registra lahko uporabnik ureja samo svoje veje registra, ko pa poskušate nekaj urediti / ustvariti v sistemu HKLM, napaka "Nimate potrebnih dovoljenj”.
V prihodnosti se lahko ta popravek združljivosti razširi na uporabnikove računalnike z uporabo skupinskih pravilnikov. S tem lahko onemogočite preverjanje UAC za določene aplikacije na več računalnikih v domeni Active Directory.
Če želite odstraniti popravek združljivosti, zaženite ukaz
sdbinst -u c: \ ps \ regedit.sdb
S pomočjo registra omogočite zastavo RUNASINVOKER za program
V sistemu Windows 10 / 8.1 / 7 lahko prek registra omogočite zastavico združljivosti RUNASINVOKER. Oznako združljivosti aplikacij lahko nastavite za enega uporabnika ali za vse uporabnike računalnikov:
Na primer, za regedit morate ustvariti nov niz parametrov v veji registra HKEY_CURRENT_USER \ Software \ Microsoft \ Windows NT \ CurrentVersion \ AppCompatFlags \ Layers (REG_SZ) obrazca:
- Ime vrednosti: C: \ windows \ regedit.exe
- Podatki o vrednosti: RunAsInvoker
Če želite omogočiti način združljivosti aplikacij za vse uporabnike računalnikov, morate ta parameter ustvariti v veji registra: HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ AppCompatFlags \ Layers.
V domeni lahko te nastavitve registra distribuirate uporabnikom prek GPO.
Datoteka Bat za zagon aplikacije v načinu RunAsInvoker
Obstaja še ena možnost za zagon aplikacije brez skrbniških pravic in zatiranje zahteve UAC (glej članek).
Samo ustvarite bat datoteko z naslednjo kodo:
Nastavite ApplicationPath = "C: \ windows \ regedit.exe"
cmd / min / C "nastavi __COMPAT_LAYER = RUNASINVOKER && start" "% ApplicationPath%"
Ko se ta bat datoteka zažene kot uporabnik, se bo podana aplikacija zagnala brez zahteve za UAC.
Torej, pogledali smo, kako onemogočiti UAC za določen program, ne da bi popolnoma onemogočili nadzor uporabniških računov. Tako boste lahko zagnali programe Windows kot redni uporabnik brez poziva UAC in brez skrbniškega gesla..