Czy jest jakiś sposób, aby zmusić program, który normalnie wymaga uprawnień administratora (przez UAC), aby działał bez nich? (tj .: brak monitu UAC i brak dostępu do całego systemu ).
Dodano: Bez modyfikowania samego pliku wykonywalnego.
Pomimo odpowiedzi Jamesa znalazłem kilka sposobów, że można to prawie zrobić:
- Modyfikując plik wykonywalny, mogę usunąć
trustInfo
wpis z manifestu (lub manifestu całkowicie, więc mogę użyć zewnętrznego), pozwalając programowi na uruchomienie bez UAC. Niestety modyfikuje to plik wykonywalny, więc kończy się wkrótce po wewnętrznym teście sumy kontrolnej. - Korzystając z Process Explorer, mogę uruchomić go jako Użytkownik Ograniczony. Wydaje się jednak, że ogranicza to znacznie bardziej, niż bym tego chciał (działa jak tryb chroniony IE, więc może uzyskać dostęp znacznie mniej niż to, co może zrobić mój standardowy użytkownik bez uprawnień).
windows
administrator
uac
Andrew Russell
źródło
źródło
Odpowiedzi:
Zapisz ten tekst
<name_of_file>.reg
i dodaj go do rejestru systemu Windows. (Dwukrotne kliknięcie powinno załatwić sprawę).Następnie kliknij prawym przyciskiem myszy aplikację, którą chcesz uruchomić bez uprawnień administratora i wybierz „Uruchom bez podniesienia uprawnień”.
W niektórych przypadkach - niewielka ilość 0,1% programów może dwukrotnie zapytać o monit UAC.
źródło
"
a następnie zamień\"
w"
)./min
to błąd. Bez niego rozwiązanie działa dokładnie tak samo. Vom musiał mieć pomieszanecmd
istart
przełączniki. Wygląda na to, żecmd.exe
nie narzeka na złe przełączniki. Spróbujcmd /whatever
na przykład.Zapisz w
nonadmin.bat
:Teraz możesz przeciągać i upuszczać do tego programy, aby uruchamiać je bez administratora.
Nie wymaga to uprawnień administratora, podobnie jak zmiana tego klucza rejestru. Również nie zaśmiecisz menu kontekstowego.
Na podstawie odpowiedzi Vom
Aktualizacja: Powinien teraz działać również z programami, które mają spacje w nazwie.
źródło
Windows cannot find 'C:\Program'. Make sure you typed the name correctly, and then try again
. Próbowałem tego polecenia kilka razy ręcznie z niewielkimi zmianami i bez powodzenia. Jakieś pomysły?Mam nadzieję, że nie spóźnię się na przyjęcie, ale szukałem podobnego pytania i nie widząc tutaj odpowiedzi, dowiedziałem się, że wbudowane
RunAs
polecenie systemu Windows , uruchamiane jako administrator, może to zrobić za pomocą/trustlevel
przełącznika.To zadziałało w moim przypadku. Jak na ironię, jawne uruchomienie programu bez podniesienia uprawnień wymaga podniesionego wiersza polecenia . Domyśl. :) Mam nadzieję, że Ci to pomoże.
źródło
Jeśli masz konkretną aplikację, którą chcesz zawsze uruchamiać bez UAC, możesz skierować ją do Rejestru (dodaj tekst do pliku REG i zaimportuj go do Rejestru):
W przeciwieństwie do tej odpowiedzi to rozwiązanie nie wymaga alternatywnego kliknięcia ani zmiany interakcji użytkownika.
Microsoft nazywa ten proces dodając
RunAsInvoker
„Kompatybilność Shim” .źródło
Rozwiązałem ten problem dzisiaj, korzystając z zestawu narzędzi do dostosowywania aplikacji MS.
Postępowałem zgodnie z instrukcjami w artykule o republice technologicznej .
Gruntownie:
1) dostajesz zestaw narzędzi od MS tutaj .
2) Kliknij przycisk Napraw
3) Wybierz opcję RunAsInvoker
4) Kliknij poprawkę prawym przyciskiem myszy i wybierz Zainstaluj
źródło
Jeśli jest to plik instalacyjny (instalacyjny)
exe
, który wymaga uprawnień administratora, można go uruchomić bez podniesionego dostępu:Jeśli nazwa pliku zawiera słowa takie jak
setup
lubinstall
Windows wymusza uruchomienie go z podwyższonym dostępem, nawet jeśli nie potrzebuje podwyższonego dostępu:Jeśli plik .exe zawiera manifest, te heurystyki dotyczące podniesienia uprawnień nie mają zastosowania.
Jest to udokumentowane w dokumentach UAC (Kontrola konta użytkownika):
Tryb odczytu tutaj: https://docs.microsoft.com/en-us/windows/security/identity-protection/user-account-control/how-user-account-control-works
źródło
Podczas gdy w swoim pytaniu Andrew stwierdził, że następujące nie do końca działały:
Byłem w stanie zmodyfikować zewnętrzny plik .manifest dla oprogramowania, którego używałem i zmienić
<ms_asmv2:requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
do
<ms_asmv2:requestedExecutionLevel level="asInvoker" uiAccess="false" />
Okazuje się, że oprogramowanie, którego używałem, tak naprawdę nie wymagało uprawnień administratora, więc mogłem uruchomić je na koncie użytkownika standardowego bez UAC lub haseł administratora. Dzięki!
źródło
ms_asmv2:
również może zostać pominięty. Możliwe jest również, że zmiana rozmiaru osadzonego bloku xml może uszkodzić plik binarny, dlatego też „wymagaAdministratora” należy zmienić na „asInvoker” wypełniony spacją przed tą samą długością spacji.Rozwiązałem ten problem, zmieniając uprawnienia do folderu zawierającego program.
Dodałem każdego użytkownika, który uruchomi ten program, i nadałem mu uprawnienia „pełnej kontroli”. To rozwiązało problem i pozostawiłem pole „Uruchom jako administrator” niezaznaczone.
Nie mam żadnych obaw dotyczących bezpieczeństwa użytkowników, którzy będą uruchamiać program.
źródło
Nie, jeśli program wymaga kontroli konta użytkownika, próbuje uzyskać dostęp do czegoś poza obszarem izolowanym. Program nie będzie działał poprawnie bez podniesionego dostępu.
Jeśli chcesz tylko pozbyć się powiadomienia, możesz wyłączyć UAC.
Wyłącz UAC w systemie Windows Vista: Start, wpisz „użytkownik”. Kliknij „Konta użytkowników”. W wyskakującym oknie kliknij „Ustawienia kontroli konta użytkownika”, a następnie Wyłącz UAC.
Wyłącz UAC w Windows 7: Start, wpisz „user”. Kliknij „Ustawienia kontroli konta użytkownika”. Przeciągnij pasek wyboru do samego końca, aby „Nigdy nie powiadamiaj”.
źródło