我正在爲持續集成服務器設置測試節點。它將執行應用程序的GUI測試。因此,它會在運行其他交互式測試之前獲取生成的安裝程序包並以靜默方式安裝該應用程序。但有一個問題:UAC。創建並立即運行一次Windows任務(作爲管理員)
因爲我們不想禁用UAC來維護真實的測試環境,所以需要繞過一次來設置應用程序。有很多方法可以做到這一點,一個流行的似乎使用Windows任務調度器。任務可以作爲普通用戶添加,並配置爲以管理員身份運行,無需進一步確認。我可以使用schtasks /create
命令,但它的參數不清楚。另外,/?
幫助中的參數值似乎在我的系統中被翻譯成德語,我相信(並希望)這是一個錯誤,實際值應該用英文指定。另外,我只想創建一個立即執行它的任務,然後刪除它並繼續執行其他活動(全部在批處理文件中)。 schtasks電話如何看起來像這樣?我會像這樣的東西開始,但它是不完整的:
schtasks /create /tn "Testaufgabe" /tr "setup.exe" /sc EINMAL /it /np /z /rl /f
PS:哦,我需要等到啓動的應用程序已完成,直到我可以繼續執行其它任務。所以程序調用必須是同步的,而不是在後臺。我已經搜索了幾個小時的網絡,但似乎無法找到一種方法來實現這一點。 UAC似乎不適用於這種情況。但是我們在測試用例中需要它,因爲這就是用戶所擁有的。
更新:您不能使用任務計劃程序API來註冊將以最高權限運行的任務。這隻有在創建任務時擁有管理員權限的情況下才有可能,這在我的情況下沒有用。所以我認爲我需要專門使用schtasks.exe。