Jak uruchomić program jako administrator podczas uruchamiania systemu Windows 10? [duplikować]

41

Mamy program, który ma problem z uruchomieniem w systemie Windows 10. Jeśli program NIE jest uruchomiony jako administrator, wyświetla komunikat „Odmowa dostępu” tuż przed jego uruchomieniem. Jeśli uruchomimy program jako administrator, NIE wyskakuje żaden komunikat o błędzie i ładuje się normalnie. Jednak teraz program nie będzie działał przy STARTUP. Musimy więc uruchomić nasz program jako administrator i mieć możliwość automatycznego uruchamiania programu podczas uruchamiania.

Aktualizacja: mimo że moje pytanie i duplikat mogą być takie same, ale odpowiedzi na oba pytania nie rozwiązały mojego problemu. Harmonogram zadań uruchamia moją aplikację lub program tylko jako proces w tle. Dlatego mój program nie ładuje się. Widzę jednak mój proces w menedżerze zadań w tle. To wszystko.

ThN
źródło
@Moab: Czy możesz potwierdzić, że duplikat dotyczy Win 10?
fixer1234
@Ramhound Tak, tak, ale harmonogram zadań nie uruchamia mojego programu normalnie, ale jako proces w tle. Nie tego szukam. Czy coś brakuje?
ThN
@ fixer1234, jeśli konkretnie mówisz o moim pytaniu i pytaniu oznaczonym jako duplikat, to nie. Moje pytanie dotyczy systemu Windows 10, a duplikat dotyczy systemu Windows 7.
Thn
@Ramhound Masz rację, ale jedno pytanie dotyczy konkretnie rozwiązania dla systemu Windows 10, a drugie dotyczy systemu Windows 7, mimo że oba rozwiązania stosują system Windows 10.
ThN
@Ramhound Tak, masz rację. Pytałeś, czym różnią się moje pytanie i duplikat pytania. Mówiłem wam, że inne niż wersje Windows, oba są takie same. jeśli chcesz, możesz zaznaczyć moje pytanie jako duplikat.
ThN

Odpowiedzi:

22

To jest trochę stare, ale miałem te same problemy i żadne z powyższych nie działało. To, co zrobiłem, to stworzenie VBScript, który działał przy starcie, który otworzył wspomniany program.

1) Kliknij program prawym przyciskiem myszy, przejdź do właściwości, a następnie zgodności i sprawdź "Run as Administrator"

2) Utwórz za VBScriptpomocą edytora tekstu (używam Notepad ++)

Scenariusz:

  Set WshShell = CreateObject("WScript.Shell" ) 
  WshShell.Run """C:\Program Files (x86)\File\Program.exe""", 0 'Must quote command if it has spaces; must escape quotes
  Set WshShell = Nothing

Uwaga: C:\Program Files (x86)\File\Program.exeto pełna ścieżka do programu z rozszerzeniem. Pamiętaj też, aby zapisać go jako plik .vbs

3) Teraz umieść VBScript w folderze startowym:

%AppData%\Microsoft\Windows\Start Menu\Programs\Startup

Lub alternatywnie uzyskaj do niego dostęp za pomocą Win+ Rshell:startupEnter

Użyłem tego zamiast pliku wsadowego, ponieważ nie chciałem pokazywać tego brzydkiego okna poleceń.

Andrzej
źródło
Możesz użyć %appdata%zamiast spersonalizowanej aplikacji AppData \ Roaming
Ben Philipp
To właśnie robię, ale użyłem Delphi, aby napisać mini program, który wywoła mój program podczas uruchamiania. Ten mini program był uruchamiany podczas uruchamiania. To obejście zadziałało.
ThN,
Odkryłem, że aby wywołać podniesiony skrót, który działał jako podniesiony, musiałem pozwolić skryptowi uruchomić cmd.exe z opcją / c, aby uruchomić skrót.
Alf P. Steinbach,
Żeby było jasne, nadal zachęca to użytkownika do powiedzenia, czy chce uruchomić program jako administrator, prawda? Ta sztuczka startowa jakoś tego nie omija, prawda?
Kyle Delaney
Powinien istnieć wbudowany / natywny sposób na zrobienie tego.
HolyAvengerOne
29

Utwórz zaplanowane zadanie, które będzie uruchamiane podczas logowania.

W oknie dialogowym Utwórz zadanie wybierz:

  1. Ogólne (karta) - Uruchom z najwyższymi uprawnieniami
  2. Wyzwalacze (karta) - Nowy (przycisk) - Rozpocznij zadanie - Podczas logowania
Steven
źródło
2
Postępowałem zgodnie z twoją odpowiedzią, ale uruchamia program jako proces w tle, a nie jako aplikacja. W rezultacie nic nie ładuje się na ekranie, a proces znajduje się na liście w tle procesu w Menedżerze zadań.
ThN
Czy program będzie musiał zostać uruchomiony dla każdego logującego się użytkownika, czy tylko dla użytkownika, który przede wszystkim się zaloguje?
Steven
2
jest to w rzeczywistości O wiele lepsza odpowiedź niż poprzednio, ponieważ możesz zaprogramować demona, aby uruchamiał się, gdy komputer się uruchamia i żaden użytkownik nie jest zalogowany, na przykład muszę uruchomić program z opóźnieniem przy uruchamianiu komputera, nawet ja lub dowolny inny użytkownik zaloguje się ten komputer (potop jest klientem torrent, który w trybie nieklasycznym stanie się klientem / serwerem, dlatego nie potrzebuję, aby klient uruchomił serwer), jest to jedyne inne rozwiązanie, ale ma to być uruchomienie innej usługi ( np. cron cygwina) lub uczynić z niego usługę (i zrobić to ręcznie, jeśli twórcy oprogramowania nie zaprojektowali jej w ten sposób)
THESorcerer
1
@ThN Możesz spróbować dodać małe opóźnienie, 10-15 sekund, do wyzwalacza. To naprawiło dla mnie „bieganie w tle”. To było dla skryptu AutoHotkey, nie wiem, czy dotyczy twojego problemu.
Anders Jørgensen
2
Na początku też nie działało to dla mnie, ale tylko dlatego, że ustawiłem wyzwalacz na „Przy uruchomieniu”, co jest złe, ponieważ mój program nie jest usługą, jest to aplikacja z interfejsem użytkownika. Zamiast tego musiałem ustawić wyzwalacz na „Przy logowaniu” i wybrać MOJEGO użytkownika Windows. Od razu zadziałało!
Nicolas C.,
4

Dlaczego nie po prostu skopiować skrótu programu do folderu Autostart i w jego właściwościach włączyć uprawnienia administratora na karcie Kompatybilność?

Surya Teja Karra
źródło
1
Zrobiliśmy to, a mój program nadal Access Deniedwyświetla komunikat o błędzie.
ThN,
Czy kliknąłeś prawym przyciskiem myszy skrót w folderze Autostart i poprawnie ustawiłeś jego uprawnienia? Opcja „Uruchom jako administrator” jest zwykle dostępna na karcie Zgodność w oknie właściwości
Surya Teja Karra
1
Masz rację. Po pierwsze, zaznaczyliśmy Run with highest privilegepole wyboru w sekcji zgodności dla skrótu. Następnie kliknął ikonę, nadal pojawił się komunikat o błędzie. Następnie przenieśliśmy skrót do folderu startowego, nadal pojawił się komunikat o błędzie. Próbowaliśmy nawet Harmonogramu zadań i nadal to samo. Próbowałem nawet pliku wsadowego w harmonogramie zadań, jak ktoś sugerował. to samo. Ładuje się tylko raz, kiedy klikamy prawym przyciskiem myszy plik wykonywalny mojego programu i klikamy Run as an Administratoropcję w menu podręcznym. Jedynym użytkownikiem jest administrator w sys
ThN
Wiesz, w tamtych czasach XP miał to menu kontekstowe „Uruchom jako”, za pomocą którego mogłem uruchomić program, ponieważ inny użytkownik miałby do tego uprawnienia. Może ten twój program potrzebuje tego samego: /
Surya Teja Karra
1
To nie działa
HolyAvengerOne
1

Możesz spróbować dwukrotnie sprawdzić kartę Zabezpieczenia we właściwościach programu / aplikacji i sprawdzić, czy wszyscy użytkownicy / grupy mają „pełną kontrolę”. Nie jestem pewien, czy to naprawi, ale warto spróbować

SillyBillyWTF
źródło
1
To nie działa
HolyAvengerOne