Ebben a cikkben bemutatjuk, hogyan szelektíven letilthatjuk az UAC-t egy adott alkalmazáshoz anélkül, hogy teljes mértékben letiltanánk ezt a felhasználói fiók-ellenőrzési szolgáltatást. Nézzük meg néhány módot a felhasználói fiókok vezérlésének kikapcsolására egy alkalmazás számára a kompatibilitási jelző használatával. RunAsInvoker.
A felhasználói fiókok vezérlése vagy a felhasználói fiókok ellenőrzése (UAC) a rendszergazdai jogokat igénylő műveletek megerősítését kéri a felhasználótól. Ez egy meglehetősen hatékony mechanizmus a Windows védelmére a különféle fenyegetésektől (vírusok, trójaiak, férgek, rootkit stb.) Szemben. Néhány felhasználót bosszant az UAC ablak, és teljesen letiltják a felhasználói fiókok vezérlését, bár a Microsoft és az információbiztonsági szakértők határozottan javasolják, hogy ne tegyék meg..A RunAsInvoker jelző lehetővé teszi az alkalmazás futtatását a szülő folyamatból örökölt jelölővel. Ez megszakítja az alkalmazás-jegyzék feldolgozását és a telepítő folyamatok felfedezését. Ez a paraméter nem ad adminisztrátori jogokat, hanem csak blokkolja az UAC ablak megjelenését.
Ha a program futtatásához rendszergazdai jogokat igényel, akkor a Ha megváltoztatja a rendszerbeállításokat vagy a rendszerfájlokat, akkor az UAC letiltása esetén az alkalmazás felhasználói jogosultságai nem növekednek. A program továbbra is a jelenlegi felhasználó jogaival fog futni, és ha nem rendelkezik felhatalmazással ezekre a változásokra, a program nem fogja azokat elvégezni. Van néhány alkalmazás, amely csak „Rendszergazdaként” működik, figyelmen kívül hagyva a RunAsInvoker kompatibilitási jelzőt..Példaként letiltjuk a regisztrációs szerkesztő felhasználói fiók-ellenőrzési kérésének megjelenését (regedit.exe). Annak ellenére, hogy fiókom rendszergazdai jogokkal rendelkezik, a segédprogram futtatásakor továbbra is kapok egy UAC kérést az indítás megerősítésére.
Tartalom:
- Az UAC letiltása egy programhoz az Application Compatibility Toolkit segítségével
- Engedélyezze a program RUNASINVOKER jelzőjét a rendszerleíró adatbázisban
- Bat fájl az alkalmazás futtatásához RunAsInvoker módban
Az UAC letiltása egy programhoz az Application Compatibility Toolkit segítségével
Szükségünk van egy segédprogramra Alkalmazáskompatibilitási eszközkészlet, amely a Windows ADK része. Töltse le a Windows ADK for Windows 10 legújabb verzióját itt.
Futtassa a letöltött adksetup.exe fájlt, és a telepítés során (a programnak internet-hozzáférésre van szüksége) válassza csak a lehetőséget Alkalmazáskompatibilitási eszközkészlet.
megjegyzés. csomag Microsoft alkalmazáskompatibilitási eszközkészlet - ingyenes segédprogramok, amelyek célja az alkalmazások kompatibilitási problémáinak megoldása, amikor a Windows új verzióira frissítik.Két verzió jelenik meg a rendszerben Alkalmazáskompatibilitási rendszergazda - 32 és 64 bites verzió. Futtassa az Application Compatibility Administrator verzióját annak az alkalmazásnak a bitmélységétől függően, amelynek az UAC kérését el kívánja szüntetni..
Futtassa a segédprogramot Kompatibilitási rendszergazda (32 bites) rendszergazdai jogokkal (!). Az Egyéni adatbázisok szakaszban kattintson a jobb gombbal az Új adatbázis elemre, és válassza a lehetőséget Hozzon létre új-> Alkalmazásjavítást.
A megnyíló ablakban adja meg az alkalmazás nevét (regedit), a gyártót (Microsoft) és a végrehajtható fájl elérési útját (C: \ Windows \ regedit.exe
).
A telepítővarázsló következő ablakának átugrása (Kompatibilitási mód), megérinti következő. Az ablakban Kompatibilitási javítások ellenőrizze a lehetőséget RunAsInvoker.
Ha szeretné, ellenőrizheti, hogy az alkalmazás képes-e UAC nélkül is működni, ha a tesztfutás gombra kattint (Tesztfutás).
Az ablakban Megfelelő információk Megadhatja, hogy mely alkalmazásparamétereket kell ellenőrizni (verzió, ellenőrző összeg, méret stb.). A COMPANY_NAME, a PRODUCT_NAME és az ORIGINAL_FILENAME ellenőrzéseket bekapcsolva hagytam, hogy ne hozzák újra létre a javító fájlt a következő Windows 10 frissítés és az regedit fájl verziójának frissítése után..
tanács. A végrehajtható fájl támadó általi cseréje elleni védelem érdekében kívánatos az ellenőrző összeg ellenőrző összege, a fájl_verziója és a mérete. Vegye figyelembe, hogy a további ellenőrzések némileg lelassítják az alkalmazás indítását.sajtó befejez és adja meg annak a fájlnak a nevét, ahová például menteni szeretné a létrehozott kompatibilitási javítócsomagot regedit.sdb. Ez a fájl utasításokat tartalmaz az alkalmazás elindításához a megadott kompatibilitási lehetőségekkel..
A kompatibilitási javítócsomag alkalmazása továbbra is fennáll az alkalmazásán. Ezt közvetlenül a kompatibilitási adminisztrátor konzolon is megteheti (ha a következőt választja: felszerel), vagy a parancssorból.
Ehhez nyisson meg egy parancssort rendszergazdai jogokkal, és futtassa a parancsot:
sdbinst -q c: \ ps \ regedit.sdb
Ha minden helyesen történt, egy üzenet jelenik meg a csomag sikeres alkalmazásán..
A regedit telepítése befejeződött.
A csomag telepítése után a megfelelő bejegyzés megjelenik a telepített Windows programok listájában (Programok és szolgáltatások).
Próbálja meg most futtatni az alkalmazást felhasználói munkamenetben, helyi rendszergazdai jogok nélkül. Most UAC kérés nélkül kell indulnia..
Most ellenőrizze, hogy milyen jogosultságokkal fut ez az alkalmazás. Ehhez a folyamat lapon a Feladatkezelőben adja hozzá a „Emelt” oszlopot. Győződjön meg arról, hogy a regedit.exe folyamat elindult a felhasználótól nem előnyös módban (Emelt = Nem
).
A regisztrációs szerkesztő ebben a folyamatában a felhasználó csak a saját nyilvántartási ágait szerkesztheti, de amikor megpróbál valamit szerkeszteni / létrehozni a HKLM rendszerben, akkor a „Nincs meg a szükséges engedélyek".
A jövőben ezt a kompatibilitási javítást a házirendek segítségével terjeszthetik a felhasználók számítógépére. Ezzel letilthatja az Active Directory tartomány több számítógépén található alkalmazások UAC-ellenőrzéseit.
A kompatibilitási javítás eltávolításához futtassa a parancsot
sdbinst -u c: \ ps \ regedit.sdb
Engedélyezze a program RUNASINVOKER jelzőjét a rendszerleíró adatbázisban
Windows 10 / 8.1 / 7 rendszeren engedélyezheti a RUNASINVOKER kompatibilitási jelzőt a nyilvántartáson keresztül. Az alkalmazás kompatibilitási jelzője beállítható egy felhasználóra vagy az összes számítógép-felhasználóra:
Például a regedit alkalmazáshoz létre kell hoznia egy új karakterlánc-paramétert a HKEY_CURRENT_USER \ Software \ Microsoft \ Windows NT \ CurrentVersion \ AppCompatFlags \ Layers rendszerleíró ágbanREG_SZ) az űrlap:
- Érték neve: C: \ windows \ regedit.exe
- Érték adatok: RunAsInvoker
Ha engedélyezni szeretné az alkalmazás kompatibilitási módját minden számítógép-felhasználó számára, akkor ezt a paramétert létre kell hoznia a beállításjegyzékben: HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ AppCompatFlags \ Rétegek.
A tartományban ezeket a regisztrációs beállításokat a GPO-n keresztül terjesztheti a felhasználók számára.
Bat fájl az alkalmazás futtatásához RunAsInvoker módban
Van egy másik lehetőség az alkalmazás elindításához rendszergazdai jogok nélkül és az UAC kérés elnyomására (lásd a cikket).
Csak hozzon létre egy bat fájlt a következő kóddal:
Set ApplicationPath = "C: \ windows \ regedit.exe"
cmd / perc / C "set __COMPAT_LAYER = RUNASINVOKER && start" "% ApplicationPath%"
Amikor ezt a bat fájlt felhasználóként futtatja, a megadott alkalmazás UAC kérés nélkül elindul.
Tehát megvizsgáltuk, hogyan lehet letiltani egy adott program UAC-ját anélkül, hogy a felhasználói fiókok vezérlését teljesen le lehessen tiltani. Ez lehetővé teszi a Windows programok rendszeres felhasználóként történő futtatását UAC-parancssor és rendszergazdai jelszó nélkül..