在Windows中以管理员身份运行python脚本
我有一个脚本可以删除并替换C:\Windows
目录中的某些文件。在Windows中以管理员身份运行python脚本
我以管理员身份启动命令行,然后启动我的python脚本。当脚本试图从C:\Windows
中删除文件时,我得到WindowsError error 5
。
我该如何解决这个问题?
可能的解决办法: 其实我是想修改其拥有所有权限只对用户的TrustedInstaller文件,所以我用这个https://github.com/jschicht/RunAsTI运行Python脚本。
WindowsError error 5
当您没有系统管理员权限来执行操作时发生。
您可以尝试使用Windows cmd命令runas
强制脚本与管理员权限一起运行。
尝试是这样的:
runas /user:administrator_account path_to_script
只是拥有计算机上的特权帐户名称替换administrator_account。此命令也会提示输入密码(如果帐户有一个设置)。 有关此命令的更多信息,您可以阅读here.
使用默认的UAC和策略设置如今,runas.exe只会工作,你所期望的“管理员”帐户(RID 500),它必须手动启用的方式。其他管理员帐户登录所用分裂的道理,并且runas.exe将创建使用标准的令牌,而不是提升的令牌的过程。 – eryksun
但OP声称是从提升的命令提示的工作已经,所以Python应该已经有管理员权限,在这种情况下,OP可能试图删除存储器映射文件,比如装入DLL,运行可执行文件,或映射数据文件。内存管理器不允许删除内存映射文件。 – eryksun
你是完全正确的,忘了这一点感谢便条 – iColdBeZero
您是否尝试使用“runas”cmd命令? – iColdBeZero
你是一名管理员,所以你可以获得所有权并为自己授予你想要的任何权限。您可以使用'subprocess.call'来运行takeown.exe和icacls.exe。 – eryksun