2014-09-29 153 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