Windows Server 2012运行Python脚本提示Access Denied求助
我之前也碰到过类似的权限问题,给你几个实际可行的排查和解决方向:
检查Python安装目录的权限设置
右键Python的安装文件夹(默认一般是C:\Python27),选择「属性」→「安全」标签。确认当前用户(包括管理员组)拥有读取和执行、列出文件夹内容、读取这几项权限。如果没有,点击「编辑」按钮,添加对应的用户或组,勾选所需权限后应用。记得勾选「将所有子对象权限条目替换为此对象的可继承权限条目」,确保子文件和文件夹也能继承正确的权限。验证Python程序的完整性与权限
找到python.exe文件,同样右键检查它的安全权限。另外,有可能是安装包损坏导致的问题——你可以重新下载Python 2.7.14的安装包,校验一下MD5哈希值(官网有提供对应版本的哈希),确认安装包没问题后,卸载现有版本,重新安装时记得勾选「为所有用户安装」选项,这样能避免单个用户的权限限制。排查组策略和UAC的限制
虽然你已经用管理员身份运行,但组策略可能有额外限制:- 按下Win+R输入
gpedit.msc打开组策略编辑器 - 依次展开「计算机配置」→「Windows设置」→「安全设置」→「本地策略」→「安全选项」
- 查看「用户账户控制:以管理员批准模式运行所有管理员」是否启用,如果是禁用状态,尝试启用后重启系统再测试
- 另外检查「软件限制策略」,看看有没有针对Python.exe的拦截规则
- 按下Win+R输入
检查杀毒软件的拦截
Windows Server 2012自带的Windows Defender或者第三方安全软件,可能会误把Python.exe当成恶意程序拦截。你可以暂时关闭实时保护,再运行python -c "print 1"试试,如果能正常执行,就把Python的安装目录添加到杀毒软件的信任列表里。尝试用完整路径执行Python
有时候环境变量的Path设置有问题,或者路径里的权限异常,你可以直接用完整路径运行命令,比如:C:\Python27\python.exe -c "print 1"如果这样能正常运行,那就要检查系统环境变量的Path里是否正确添加了Python的安装目录,并且确保该目录的权限没有问题。
内容的提问来源于stack exchange,提问作者Kal Zekdor




