Python 获取Windows管理员权限

python如果获取windows管理员权限(一) 我们在运行我们编写好的python代码时,会碰到这样的报错问题 PermissionError: [WinError 5] 拒绝访问。 这是因为我们编写的脚本的权限不够。一种解决办法是在管理员cmd中运行我们的脚本(右键以 run as administrator),但是这种办法不够优雅。我们经常看到当我们运行一些需要高权限的软件时,会弹出以下对话框 这被称为用户安全控制,简 阅读详情
AI摘要

本文介绍三种在Windows上使用Python获取管理员权限的方法:通过管理员运行CMD、使用CMD脚本和直接使用Python代码。同时,提供了关闭UAC后不弹出授权窗口的解决方案。

最近在写一个可以自动更换 hosts 的 python 脚本,但是操作 hosts 需要管理员权限 ,所以就想着要怎么获取。

总结了一下,有三种方法可以获取,下面分别介绍一下。

1. 以管理员运行 cmd

这个方法很简单,也无需多说,右键以管理员运行就可以了,然后在里面运行 python 脚本就有管理员权限了。

2. 用 cmd 脚本获取

假设我要运行的文件是 test.py,则我可以写一个 cmd 脚本,不妨叫做 go.cmd,在里面写入:

@echo off
%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit
cd /d "%~dp0"

start python test.py

保存,与 test.py 放在同一文件夹,双击 go.cmd 运行,会弹出提示,点击“是”就会以管理员运行 test.py 了。

3. 用 python 代码获取

以上两种方法都能用,但是总觉得不够优雅,所以接下来我找到了一种可以直接用 python 代码直接获取管理员权限的方法,可以说是相当优雅了。

以下代码来源:python如果获取windows管理员权限(一)

from __future__ import print_function
import ctypes, sys

def is_admin():
    try:
        return ctypes.windll.shell32.IsUserAnAdmin()
    except:
        return False
if is_admin():
    # 将要运行的代码加到这里
else:
    if sys.version_info[0] == 3:
        ctypes.windll.shell32.ShellExecuteW(None, "runas", sys.executable, __file__, None, 1)
    else:#in python2.x
        ctypes.windll.shell32.ShellExecuteW(None, u"runas", unicode(sys.executable), unicode(__file__), None, 1)

以上代码运行时先判断是否拥有管理员权限,如果没有,则调用那个函数获取权限以后再运行一次代码,所以如果在命令行中运行的话,会再弹出一个小黑框。而且根据原博客,这个不能在 IDE 中运行,但是我没有 IDE ,所以没有进行测试。

4. 不弹出UAC解决方法

有的人可能使用上面的 2 和 3 方法发现不会弹出授权弹框,这可能是因为系统的 UAC 被关掉了,按照以下步骤开启:

  1. win + R,在运行框里输入 msconfig.
  2. 点击 工具,然后点击 更改UAC设置,再点击 右下方的启动.
  3. 将通知调整到 始终通知.

这里也有图文教程:win10系统如何开启UAC

利用python获取windows管理员权限执行代码 import ctypes, sys import os def is_admin(): try: return ctypes.windll.shell32.IsUserAnAdmin() except: return False if is_admin(): # 这里写入需要管理员权限执行的操作 pass else: if... 阅读详情

相关推荐

获取管理员权限的含义及编程实现

需要注意的是,获取管理员权限是一项敏感操作,应谨慎使用。同时,不同的操作系统和编程语言可能有不同的实现方式,因此在实际开发中需要根据具体情况选择适合的方法。在编程领域中,获取管理员权限是指通过代码或程序获得对计算机系统中的管理员权限,从而可以执行特权操作。实现获取管理员权限的方法主要取决于操作系统和编程语言的特性。重新启动的脚本将会以管理员身份运行,从而能够执行需要管理员权限的操作。在实际应用中,可以将需要管理员权限的代码放在上述示例代码中的注释部分,从而在获取管理员权限后立即执行相关操作。

2301_79325657的博客 550

Python 获取管理员权限

"代码块中,我们首先检查当前用户是否具有管理员权限,如果没有,则使用ShellExecute函数重新以管理员身份运行脚本。在这个示例中,is_admin函数用于检查当前用户是否具有管理员权限。如果没有管理员权限,则使用ShellExecuteW函数调用Windows API,使用管理员权限重新运行脚本。现在让我们来看一个示例场景,假设我们需要修改Windows系统的注册表项,这个操作需要管理员权限才能执行。在这个示例中,我们定义了一个set_registry_value函数,用于修改注册表项的值。

JSHS_123456的博客 3603

python运行时获取管理员权限

获取管理员权限执行cmd命令

Python获取Windows管理员权限

在查阅博客(Python获取Windows管理员权限)时,我使用的代码并不能获得权限,因而对其产生了好奇。 在尝试过后成功,代码如下: # -*- coding:utf-8 -*- import sys, ctypes, os def __set_run_as_admin(): def is_admin(): try: return ctypes.windll.shell32.IsUserAnAdmin() except: ..

R_I_P_Avicii的博客 3540

记一次使用STM32F042K6芯片内部HSI48M时钟导致CAN总线报错问题

深入去解决某个问题时,也会加深你对其它部分的了解和思考,比如这里让我又重新了解和CAN的采样点和CAN报错机制。

ApexYuan 860

IDEA中Maven工具栏与命令执行全攻略:高效开发必备技巧

IntelliJ IDEA 作为强大的 Java 开发工具,其 Maven 功能独具优势。Maven 工具栏位于工作区右侧,图标功能丰富,涵盖项目导入、源码处理、依赖操作等。执行 Maven 命令有多种途径,Run Anything 窗口可输入或选目标执行,上下文菜单能右键运行目标,还可创建运行配置,指定命令参数后运行,为开发者高效管理 Maven 项目、便捷执行命令提供有力支持。

2301_82300081的博客 2027

python获取管理员权限

1.以管理员运行 cmd 这个方法很简单,也无需多说,右键以管理员运行就可以了,然后在里面运行 python 脚本就有管理员权限了。 2. 用 cmd 脚本获取 假设我要运行的文件是 test.py,则我可以写一个 cmd 脚本,不妨叫做 go.cmd,在里面写入: @echo off %1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.clo

spuerOUTSYSTEM的博客 8039

拉普拉斯矩阵

1、预备知识 拉普拉斯矩阵定义为:L=D-W。其中,D为度矩阵,W为权重矩阵。 (1)D是对角矩阵,对角线上的元素时节点的度,即所有与该节点相关联的边的权重之和;对角线以外的元素为0。有向图的对角矩阵分为 出度矩阵 和 入度矩阵。 图1.1 无向图中的度矩阵 (2)W在无向图中是对称矩阵,在有向图中是非对称矩阵。 ...

zzhe 1万+

python 获取windows管理员权限

Python,Windows相关视频讲解:python的or运算赋值用法用python编程Excel有没有用处?011_编程到底好玩在哪?查看python文件_输出py文件_cat_运行python文件_shelPython获取Windows管理员权限 在Windows操作系统中,有时我们需要运行一些需要管理员权限的...

weixin_40524030的博客 701

从零到一:手把手教你用C#开发AGV调度系统(附避坑指南)

本文详细介绍了如何使用C#开发高效的AGV调度系统,涵盖从环境搭建到核心算法实现的完整流程。重点解析了动态路径规划、多机协同等关键技术,并提供了实用的避坑指南和性能优化建议,帮助开发者快速构建工业级车辆控制调度系统。

blockchain9miner的博客 741

金融行业软件测试面试题(含答案)

6、假如发现了一个BUG,跟开发本身没什么关系,涉及到理念,需求问题,如何解决?11、假如要你测试6个月期限的p2p借款产品,你应该怎么设计案例,说出测试点。17、如果京东有一个购物网页给你,你要怎么进行测试?31、我们公司自动化测试用的语言是Java,Java你不会,该怎么办?23、你们测试用的测试环境是谁给的?24、如果领导分配你的任务超出负荷,领导高估了你的能力,怎么办。26、给你一个模块测试,只有一个星期的时间你如何有效率地完成?29、如果你组长的用例写错了,但他认为是对的,你怎么处理?

crhnb的博客 913

[转]Python 获取Windows管理员权限

最近在写一个可以自动更换 hosts 的 python 脚本,但是操作 hosts 需要管理员权限 ,所以就想着要怎么获取。 总结了一下,有三种方法可以获取,下面分别介绍一下。 1. 以管理员运行 cmd 这个方法很简单,也无需多说,右键以管理员运行就可以了,然后在里面运行 python 脚本就有管理员权限了。 2. 用 cmd 脚本获取 假设我要运行的文件是 test.py,则我可以写一个 cmd 脚本,不妨叫做 go.cmd,在里面写入: @echo off %..

Admans的专栏 5472

微信小程序 - 实现嵌套H5页面唤起微信支付的实现方案+完整流程源码,微信小程序webview(H5页面)调用微信小程序支付,嵌套h5页面怎么实现小程序支付(Vue2/3移动端H5网页、公众号网页等)

h5嵌入微信小程序微信支付,H5网页嵌入到微信小程序内如何支付,微信小程序webview组件交互,内联h5页面并网页实现微信支付,微信H5页面实现微信小程序支付,微信小程序嵌套webview实现小程序微信支付,小程序中内嵌H5网页支付怎么办,用网页的支付还是小程序的支付?支付没反应,支付报错怎么办,微信小程序内嵌h5,h5调用小程序支付功能解决方案,H5网页cors跨域,真机测试无法唤起支付,无法唤起支付,uniapp微信小程序,h5小程序调用微信支付,微信小程序内嵌H5页面,如何实现微信支付功能,微信小程

🏆 前端领域优质创作者 1万+

Python 获取windows管理员权限办法

from __future__ import print_function import ctypes, sys, os def is_admin(): try: return ctypes.windll.shell32.IsUserAnAdmin() except: return False if...

agg7911的博客 3425

构建一个基于Simulink的LC滤波器仿真模型

需求分析LC滤波器(Inductor-Capacitor Filter)是一种常见的无源滤波器,广泛应用于电力电子、通信、音频处理等领域。其主要作用是平滑输入信号中的高频谐波成分,保留低频或直流成分,从而提高输出信号的质量。在电力电子系统中,LC滤波器常用于逆变器、整流器等设备的输出端,以减少开关噪声和电磁干扰(EMI),确保输出电压和电流的稳定性。本项目将基于Simulink平台,开发一个完整的LC滤波器仿真模型,涵盖从电源输入到滤波输出的整个过程,并通过PI控制器实现对滤波效果的闭环控制。

MHD0815的博客 733

GPS系统跟踪捕获算法的Verilog实现在FPGA

本文将介绍GPS系统中的跟踪捕获算法,并提供该算法的Verilog实现在FPGA上运行的源代码。常用的方法是将接收到的信号与一个本地振荡器产生的参考信号进行混频,然后使用带通滤波器提取出希望得到的频率分量。码跟踪的目的是通过检测接收到的信号中的码片序列来实现对导航数据的解调。以上是一个简化的GPS系统跟踪捕获算法的Verilog实现,其中包含了时间检测、频率跟踪和码跟踪三个模块。GPS信号由载波频率和导航数据组成。跟踪捕获算法的目标是通过对接收到的信号进行处理,从而获取到准确的载波频率和导航数据。

PixelEnigma的博客 1108

【python】如何获取Windows管理员权限?

windows系统内,如何在py文件执行时提升管理员权限运行?

sunriver2000的专栏 1846

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

python如何获取权限_python如果获取windows管理员权限(二)

# -*- coding: utf-8 -*-"""Created on Mon Jan 8 09:09:51 2018@author: coordinate"""from __future__ import print_functionimport osimport sysimport ctypesif sys.version_info[0] == 3:import winreg as win...

weixin_39674414的博客 637

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

python如果获取windows管理员权限(二)

我们在python如果获取windows管理员权限(一)中谈到了UAC的问题。 很多时候我们不希望我们的软件弹出UAC提示,这个时候我们可以通过注册表的方法去解决。这其实已经不在是一个安全的编程了,它变成了一把双刃剑。 当然我们只是讨论这种问题该怎么解决。具体用在什么方面那是你的问题咯! 通过下面的代码我们可以轻松绕过UAC # -*- coding: utf-8 -*- """ Cr

coordinate的博客 3万+

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

(转载)python如果获取windows管理员权限(二)

本文为转载,链接:https://blog.youkuaiyun.com/qq_17550379/article/details/79006718 我们在python如果获取windows管理员权限(一)中谈到了UAC的问题。 很多时候我们不希望我们的软件弹出UAC提示,这个时候我们可以通过注册表的方法去解决。这其实已经不在是一个安全的编程了,它变成了一把双刃剑。 当然我们只是讨论这种问题该怎么解决。具体用在什么方面那是你的问题咯! 通过下面的代码我们可以轻松绕过UAC # -*- coding: utf-8

jarthong的博客 1464

python获取管理员权限_在Windows中以管理员身份运行python脚本

I have a script that removes and substitute some files in C:\Windows directory.I start command line as admin then I start my python script in it. And when the script tries to remove files from C:\Wind...

weixin_39589394的博客 1274

python获取管理员权限,在Windows中以管理员身份运行python脚本

I have a script that removes and substitute some files in C:\Windows directory.I start command line as admin then I start my python script in it. And when the script tries to remove files from C:\Wind...

weixin_35696075的博客 1725

python 权限_python 如何获取windows 管理员权限?

测试过在win10 下可以实现。看不懂,但是能用。from __future__ import print_functionimport ctypes, sys, osdef is_admin():try:return ctypes.windll.shell32.IsUserAnAdmin()except:return Falseif is_admin():# 此处添加需要获得管理员权限的os 语...

weixin_42513870的博客 1326

(转载)python如果获取windows管理员权限(一)

我们在运行我们编写好的python代码时,会碰到这样的报错问题 PermissionError: [WinError 5] 拒绝访问。 这是因为我们编写的脚本的权限不够。一种解决办法是在管理员cmd中运行我们的脚本(右键以 run as administrator),但是这种办法不够优雅。我们经常看到当我们运行一些需要高权限的软件时,会弹出以下对话框 这被称为用户安全控制,简称为UAC。 用户帐户控制(User Account Control,简写作UAC)是微软司在其Windows Vista.

jarthong的博客 3694

python如何获取权限_Windows 下 Python 脚本以管理员方式执行 Windows 命令或者程序...

前言最近想通过Python来调用LoadRunner执行命令以及结果分析,但是由于和谐版原因,LoadRunner需要用管理员权限来运行,手动执行可以右键-管理员身份运行,那Python脚本在执行的时候如何获取管理员权限呢?(或许有人说直接管理员身份运行Python脚本即可,但是如果是通过IIS,FastCGI来调用呢?)。所以网上找了很多方案,下面对各种方案进行了说明,最终找到了两种可行方案。1...

weixin_39937524的博客 1967
上一篇: Pyinstaller 使用+打包图片方法
下一篇: python写入csv、txt文件编码问题
MemoryD
博客等级 码龄10年 64粉丝 43原创
评论 5
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值