2014-09-29 155 views
2

我有一個python腳本,它執行某些文件處理並需要以特定用戶身份運行。在Unix上似乎可以通過使用os.setuid來完成。我如何在Windows上的Python中做到這一點?作爲特定用戶執行腳本

+0

這是一個環境問題,我不認爲你應該試圖從腳本內部做到這一點。 – wim 2014-09-29 18:33:36

+0

我不認爲在腳本中可以做,但你可以使用['runas']來調用腳本(http://www.windows-commandline.com/windows-runas-command-prompt/) – 2014-09-29 18:34:15

+0

@CodyPiersall,到目前爲止,你的建議似乎是最好的選擇。請把這個作爲答案之一,這樣我至少可以上傳。 – user3885927 2014-09-29 19:31:42

回答

1

我不認爲可以從腳本中完成,但可以使用runas命令調用腳本;例如

runas /user:domain\username "python best_script_ever.py" 

這種方法的潛在巨大缺點是您在提示時必須提供密碼。

0

檢查您是否是特定用戶,如果不是,請不要運行python腳本。至少可以通過檢查uid以unix方式完成,在windows中您可以使用wmic useraccount get name,sid來獲取用戶安全標識符或批量使用%USERNAME%

+0

問題是具體詢問如何在Windows中執行此操作。 – par 2014-09-29 18:40:59

+0

@par更正了它 – jgr208 2014-09-29 18:53:28

+0

@par,我的問題不在於獲取當前用戶的憑據或檢查他是否是有效的用戶。我只是希望它以特定用戶身份運行。 – user3885927 2014-09-29 19:27:56