Windows下如何在使用者登入時以管理員權限執行程式?

Windows下如何在使用者登入時以管理員權限執行程式?

我使用的是 Windows 8.1 x64,我想在使用者登入時執行具有管理員權限的程式。

我嘗試製作程式的快捷方式,並在快捷方式或程式本身的屬性中勾選“以管理員身份運行”,並將快捷方式放入C:\Users\MyUser\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\StartupC:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp,但勾選該框只會使其無效。

然後我透過Resource Hacker編輯該程式來修改其清單,以便該程式需要管理員權限。這也使得啟動目錄下的捷徑無效。所以在此之後,我嘗試添加該程序,HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run但它也不起作用。

我到底如何才能在使用者登入時以管理員權限執行程式?

答案1

最好的方法(如果您不僅希望以管理員身分執行而且不想出現 UAC 提示,也是唯一簡單的方法)是建立排程任務。在那裡,您可以指定要在哪個用戶下運行它,但也可以指定它應該「以最高權限運行」。這可能是您真正想要的,因為複選框按鈕「以管理員身份運行」確實會觸發 UAC 提示,而不是真正使用管理用戶。如果您還將觸發器指定為“使用者登入時”,則它應該具有與使用啟動或運行鍵相同的效果。

或者,您可以使用帶有 /savecred 選項的 runas 來儲存另一個使用者的密碼一次並將其永久緩存,但它不能解決 UAC afaik。

答案2

  1. 建立類似 appStart.cmd 的文件,其中包含:

    start "" %1

  2. 註冊表中的第二個您必須添加到 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

鍵值對

鍵:“應用程式名稱”

值:“appStart.cmd 路徑”“myapp.exe 路徑”

這樣,在 Windows 啟動時,它將從命令提示字元呼叫您的應用程序,並請求以管理員身份運行的權限。接受命令提示字元關閉後,您的應用程式將以管理員權限執行。

相關內容