Windows下Python用管理員執行命令或者程序
前言
最近想通過Python來調用LoadRunner執行命令以及結果分析,但是由於和諧版原因,LoadRunner需要用管理員許可權來運行,手動執行可以右鍵-管理員身份運行,那Python腳本在執行的時候如何獲取管理員許可權呢?(或許有人說直接管理員身份運行Python腳本即可,但是如果是通過IIS,FastCGI來調用呢?)。所以網上找了很多方案,下面對各種方案進行了說明,最終找到了兩種可行方案。
1. 調用常規的windows命令
其中的時候是一個列表,的時候是一個字元串,即要執行的命令,例如
至於subprocess模塊的詳細介紹,參考Python網站,地址:https://docs.python.org/2/library/subprocess.html
2. 通過管理員來調用windows命令1. 手工方式:使用
通過命令行來執行
runas的具體參數可以參考微軟的文檔,地址:https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-R2-and-2012/cc771525(v=ws.11)
2. 如何通過Python來調用
手工方式可以解決我們的問題,但是需要輸入密碼,需要另外的方案,下面整理了幾種方案
1. 使用調用
使用方式輸入密碼:無法滿足需求
使用模擬輸入密碼:無法滿足需求
使用的參數:滿足需求
參數會保存輸入的密碼,要管理保存的密碼,在_控制面板-憑據管理器中_可以查看。
首先執行一次命令然後保存密碼
輸入密碼回車,密碼就保存到了本機,下次可以直接使用而不用輸入密碼,再使用Python腳本進行調用即可。
同上,直接使用subprocess調用即可。
如果提示不是內部或者外部命令,可以使用絕對路徑,原因是64位系統,會將命令重定向到SysWOW64。所以可以訪問下真正的命令。 參考連接
3. 使用庫
相關介紹:網址,參考鏈接
下面是使用樣例
但是上面的命令是針對linux的,如果是windows需要這樣來使用
很遺憾,這種方式也不能滿足需求,無法輸入密碼,但是這個模塊提供了命令行交互很好的方式,以後在linux下可以使用。
4. 使用命令
網上的使用樣例,但是具體如何使用沒有找到很好的辦法
TAG:Python |