3
A
回答
3
Win32::FileOp::ShellExecute(runas => 'yourprogram.exe')
或
Win32::FileOp::ShellExecute(runasuser => 'yourprogram.exe')
這些應該(未測試)問你海拔在需要時。 (僅適用於Windows 7)。
2
如果你確定通過快捷方式啓動,可以使用以下命令:
- 創建一個快捷方式perl.exe所在
編輯的快捷方式。
在快捷方式選項卡,將 「目標」,以
「C:\ BIN \ perl.exe所在」 「C:\ script.pl」
[可選]在快捷方式選項卡上,將「開始」更改爲腳本所在目錄的路徑。
- 在快捷方式選項卡上,單擊「高級」,然後選中「以管理員身份運行」。
有一個名爲「runas
」的工具,但我似乎無法得到它不向您的管理員密碼工作。
1
我在自己的作品中對這個問題沒有很好的回答,所以我寫了Win32::RunAsAdmin。它所做的就是調用通過OLE Windows外殼程序與「運行方式」爲動詞,但其打包方便,所有您需要做的就是堅持在你的代碼的開頭如下:
use Win32::RunAsAdmin qw(force);
在導入一步,它將檢查提升的特權,並且如果你已經在提升模式下運行,則默默地返回。否則,它將使用UAC彈出菜單以提升模式重新啓動腳本。
相關問題
- 1. 使用UAC進行權限提升
- 2. 通過UAC提升ProcessBuilder進程?
- 3. UAC提升使用簡單的COM DLL
- 4. 使用IsAdmin提升UAC屏蔽()
- 5. 如何提升Java的UAC權限?
- 6. 如何在UAC關閉時提升應用程序?
- 7. UAC如何知道應用程序需要提升權限?
- 8. 如何UAC使用.NET提升COM組件
- 9. 如何安全地使用UAC提升IPC?
- 10. 如何檢測我的進程是否正在運行UAC提升?
- 11. 如何在啓動時運行需要UAC提升的程序?
- 12. Delphi:需要時提示UAC提升
- 13. 從win7上的命令行,我如何以管理員身份啓動一個進程,使用提升的UAC
- 14. 使用C調用另一個進程時避免UAC提示
- 15. UAC提升,運行一些不提升的代碼
- 16. .net 2.0 Windows應用程序需要提升的uac權限
- 17. 如何提升子進程的權限
- 18. 在Go中請求UAC提升
- 19. 64位的UAC提升的Delphi清單
- 20. 設置UAC提升時間過長
- 21. 使用UAC在用戶登錄時運行提升的應用程序?
- 22. 使用UAC提升執行幾個安裝
- 23. 從非交互式服務(win32/.net/powershell)啓動UAC提升進程
- 24. 提升:如何通過名稱查找進程的進程id?
- 25. 如何使用Perl按升序對日期進行排序?
- 26. 如何在Vista +上使用Java/JNA提升權限啓動應用程序以觸發UAC
- 27. 使用不帶Shell的UAC升級流程
- 28. 如何提升一個進程,我可以通過管理員密碼,所以UAC不必要求它
- 29. 如何禁用特定應用程序的UAC提示
- 30. 如果路徑受保護,請求Windows Vista UAC提升?
最簡單的解決方案可能是爲您的腳本創建一個快捷方式,並設置以管理員身份運行該進程的快捷方式。 – ikegami
@ikegami我相信這相當於右鍵單擊並選擇「以管理員身份運行」。不幸的是,Perl腳本缺少這個菜單選項,以及它們的快捷方式,其中顯然涉及的相關複選框是* disabled *。 –
這只是指定'perl.exe'作爲程序運行的問題。將腳本作爲參數傳遞。 (測試過) – ikegami