Windows XP 以管理員身份自動啟動過程
我正在尋找一種方法,可以在具有管理員權限的使用者登錄時自動啟動某個程序。
我已經嘗試過使用任務調度程序,但沒有成功,因為您必須輸入格式為 machine\user 的使用者名,而我們的 pxe-image-deployment-system 會自動修補機器名稱,因此輸入的域\使用者停止工作。
更新:
runas.exe 命令似乎也不適合此任務。如果使用 /user:machinename\Administrator /savcred 則在映像後無效。一位使用者建議使用 .\Administrator 或 localhost\Administrator 但兩者都不能在我的 XP SP3 機器上執行。
UPDATE2:
在我需要執行此功能的程序中被使用:
[DllImport("user32.dll")] public static extern int ExitWindowsEx(int uFlags, int dwReserved);
使用 Alan Kuras 建議的程序時,此功能失敗,這對我來說是不行的。
更新3:
是的!我明白了,我想!在其他使用者上下文下執行時,您似乎無法使用 ExitWindowsEx。
我只是將我的應用程序切換到 WTSLogoffSession,現在它可以工作了!
如果由於您的部署系統而無法使用內置功能完成此任務,那麼有一個解決方案適用於許多其他事情,例如發送可以在不知道密碼的情況下以管理員身份執行的程序。
基本上您需要創建包含管理員密碼的程序,並且可以獲得以另一個使用者身份執行的指定權限。我想到了幾個程序:
- 加密 RunAs www.wingnutsoftware.com
- Runasspc http://robotronic.de/runasspcEn.html
- CPAU http://www.joeware.net/freetools/tools/cpau/
- MiniRunAs(開源)http://www.source-code.biz/snippets/c/1.htm - 命令行工具(不加密)
這些程序可以加密你的腳本、使用者名和密碼,並在使用者環境中自動以本地管理員身份執行。
或者,如果您知道某種程式語言,您可以自己編寫。只需閱讀有關模擬(例如在 C#中)
編輯2: 我想到的第二件事。如果您在獲取電腦名時遇到問題您可以嘗試使用 %COMPUTERNAME% 變數,例如 %COMPUTERNAME%\Administrator 並檢查它是否有效。