Jak zakázat UAC pro konkrétní program v systému Windows 10?

V tomto článku si ukážeme, jak selektivně zakázat UAC pro konkrétní aplikaci bez úplného vypnutí této služby Řízení uživatelských účtů. Pojďme se podívat na několik způsobů, jak vypnout řízení uživatelských účtů pro aplikaci pomocí příznaku kompatibility. RunAsInvoker.

Řízení uživatelských účtů nebo řízení uživatelských účtů (UAC) požádá uživatele o potvrzení jakékoli akce, která vyžaduje práva správce. Jedná se o poměrně účinný mechanismus ochrany systému Windows před různými hrozbami (viry, trojské koně, červy, rootkity atd.). Někteří uživatelé jsou naštvaní oknem UAC a zcela deaktivují řízení uživatelských účtů, přestože odborníci společnosti Microsoft a zabezpečení informací důrazně nedoporučují..

Příznak RunAsInvoker umožňuje spustit aplikaci se značkou zděděnou z nadřazeného procesu. Tím se ruší zpracování manifestu aplikace a objevování instalačních procesů. Tento parametr neposkytuje administrátorská práva, ale pouze blokuje vzhled okna UAC.

Pokud program vyžaduje oprávnění správce ke spuštění, protože Pokud změní nastavení systému nebo systémové soubory, pak, když je pro něj zakázáno UAC, uživatelská oprávnění v aplikaci se nezvyšují. Program bude stále spuštěn s právy aktuálního uživatele, a pokud nemá oprávnění k provádění těchto změn, program je nebude moci provést. Existuje také malý počet aplikací, které běží pouze v režimu „Jako správce“, ignorujíc příznak kompatibility RunAsInvoker..

Jako příklad zakážeme vzhled požadavku Řízení uživatelských účtů pro editor registru (regedit.exe) Navzdory skutečnosti, že můj účet má administrátorská práva, i když spustím obslužný program, stále dostávám UAC požadavek na potvrzení spuštění.

Obsah:

  • Zakázání UAC pro program pomocí sady Application Compatibility Toolkit
  • Povolte příznak RUNASINVOKER pro program prostřednictvím registru
  • Soubor Bat pro spuštění aplikace v režimu RunAsInvoker

Zakázání UAC pro program pomocí sady Application Compatibility Toolkit

Potřebujeme nástroj Sada nástrojů pro kompatibilitu aplikací, který je součástí Windows ADK. Stáhněte si nejnovější verzi Windows ADK pro Windows 10 zde.

Spusťte stažený soubor adksetup.exe a během instalace (program vyžaduje přístup k internetu) vyberte pouze Sada nástrojů pro kompatibilitu aplikací.

Poznámka:. Balíček Sada Microsoft Application Compatibility Toolkit - bezplatná sada nástrojů určených k opravě problémů s kompatibilitou aplikací při upgradu na nové verze systému Windows.

V systému se objeví dvě verze Správce kompatibility aplikací - 32 a 64 bitová verze. Spusťte verzi Správce kompatibility aplikací v závislosti na bitové hloubce aplikace, pro kterou chcete potlačit požadavek UAC..

Spusťte obslužný program Správce kompatibility (32bitový) s právy správce (!). V části Uživatelské databáze klepněte pravým tlačítkem myši na položku Nová databáze a vyberte možnost Vytvořit nový-> Oprava aplikace.

V okně, které se otevře, zadejte název aplikace (regedit), výrobce (Microsoft) a cestu ke spustitelnému souboru (C: \ Windows \ regedit.exe).

Přeskočit další okno průvodce nastavením (Režim kompatibility), klepnutím Další. V okně Opravy kompatibility zaškrtněte možnost RunAsInvoker.

Pokud chcete, můžete se ujistit, že aplikace může fungovat bez UAC kliknutím na tlačítko zkušebního běhu (Zkušební provoz).

V okně Odpovídající informace Můžete určit, které parametry aplikace se mají zkontrolovat (verze, kontrolní součet, velikost atd.). Nechal jsem zapnuté kontroly COMPANY_NAME, PRODUCT_NAME a ORIGINAL_FILENAME, aby po příští aktualizaci systému Windows 10 a aktualizaci verze souboru regedit nedošlo k opětovnému vytvoření opravného souboru..

Tip. Pro ochranu před nahrazením spustitelného souboru útočníkem je žádoucí použít kontrolní součet kontrolní součet, file_version a velikost. Upozorňujeme, že další kontroly poněkud zpomalí spuštění aplikace.

Klikněte na Dokončit a zadejte například název souboru, do kterého chcete uložit vytvořený balíček oprav kompatibility regedit.sdb. Tento soubor bude obsahovat pokyny pro spuštění aplikace se specifikovanými možnostmi kompatibility..

Zbývá použít balíček oprav kompatibility pro vaši aplikaci. Můžete to provést přímo z konzoly Správce kompatibility (výběrem Nainstalovat) nebo z příkazového řádku.

Chcete-li to provést, otevřete příkazový řádek s právy správce a spusťte příkaz:

sdbinst -q c: \ ps \ regedit.sdb

Pokud bylo vše provedeno správně, zobrazí se zpráva o úspěšné aplikaci balíčku..

Instalace regedit dokončena.

Po instalaci balíčku se odpovídající položka objeví v seznamu nainstalovaných programů systému Windows (Programy a funkce).

Zkuste nyní spustit aplikaci v relaci uživatele bez práv místního správce. Nyní by měla začít bez požadavku UAC..

Nyní zkontrolujte, jaká oprávnění tato aplikace běží. Chcete-li to provést, přidejte do Správce úloh na kartě Proces sloupec Zvýšený. Ujistěte se, že proces regedit.exe je spuštěn od uživatele v neprivilegovaném režimu (Zvýšené = Ne).

V tomto procesu editoru registru může uživatel upravovat pouze své vlastní větve registru, ale když se pokusíte upravit / vytvořit něco v systému HKLM, chyba „Nemáte potřebná oprávnění“.

V budoucnu lze tuto opravu kompatibility distribuovat do počítačů uživatelů pomocí skupinových zásad. Tímto způsobem můžete zakázat kontroly UAC u konkrétních aplikací na více počítačích v doméně Active Directory.

Chcete-li odstranit opravu kompatibility, spusťte příkaz

sdbinst -u c: \ ps \ regedit.sdb

Povolte příznak RUNASINVOKER pro program prostřednictvím registru

Ve Windows 10 / 8.1 / 7 můžete povolit příznak kompatibility RUNASINVOKER prostřednictvím registru. Příznak kompatibility aplikace lze nastavit pro jednoho uživatele nebo pro všechny uživatele počítače:

Například pro regedit musíte vytvořit nový parametr řetězce ve větvi registru HKEY_CURRENT_USER \ Software \ Microsoft \ Windows NT \ CurrentVersion \ AppCompatFlags \ Layers (REG_SZ) formuláře:

  • Název hodnoty: C: \ windows \ regedit.exe
  • Hodnotové údaje: RunAsInvoker

Pokud chcete povolit režim kompatibility aplikací pro všechny uživatele počítače, musíte vytvořit tento parametr ve větvi registru: HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ AppCompatFlags \ Layers.

V doméně můžete distribuovat tato nastavení registru uživatelům prostřednictvím GPO.

Soubor Bat pro spuštění aplikace v režimu RunAsInvoker

Existuje další možnost spuštění aplikace bez administrátorských práv a potlačení požadavku UAC (viz článek).

Stačí vytvořit soubor bat s následujícím kódem:

Set ApplicationPath = "C: \ windows \ regedit.exe"
cmd / min / C "set __COMPAT_LAYER = RUNASINVOKER && start" "% ApplicationPath%"

Když je tento bat soubor spuštěn jako uživatel, uvedená aplikace se spustí bez požadavku UAC.

Zkoumali jsme tedy, jak zakázat UAC pro konkrétní program, aniž by bylo zcela zakázáno řízení uživatelských účtů. To vám umožní spustit programy systému Windows jako běžný uživatel bez výzvy UAC a bez hesla správce..