日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > windows >内容正文

windows

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

發(fā)布時(shí)間:2023/12/4 windows 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [转]Python 获取Windows管理员权限 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

最近在寫(xiě)一個(gè)可以自動(dòng)更換 hosts 的 python 腳本,但是操作 hosts 需要管理員權(quán)限 ,所以就想著要怎么獲取。

總結(jié)了一下,有三種方法可以獲取,下面分別介紹一下。

1. 以管理員運(yùn)行 cmd

這個(gè)方法很簡(jiǎn)單,也無(wú)需多說(shuō),右鍵以管理員運(yùn)行就可以了,然后在里面運(yùn)行 python 腳本就有管理員權(quán)限了。

2. 用 cmd 腳本獲取

假設(shè)我要運(yùn)行的文件是 test.py,則我可以寫(xiě)一個(gè) cmd 腳本,不妨叫做 go.cmd,在里面寫(xiě)入:

@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 運(yùn)行,會(huì)彈出提示,點(diǎn)擊“是”就會(huì)以管理員運(yùn)行 test.py 了。

3. 用 python 代碼獲取

以上兩種方法都能用,但是總覺(jué)得不夠優(yōu)雅,所以接下來(lái)我找到了一種可以直接用 python 代碼直接獲取管理員權(quán)限的方法,可以說(shuō)是相當(dāng)優(yōu)雅了。

以下代碼來(lái)源:python如果獲取windows管理員權(quán)限(一)

from __future__ import print_function import ctypes, sysdef is_admin():try:return ctypes.windll.shell32.IsUserAnAdmin()except:return False if is_admin():# 將要運(yùn)行的代碼加到這里 else:if sys.version_info[0] == 3:ctypes.windll.shell32.ShellExecuteW(None, "runas", sys.executable, __file__, None, 1)else:#in python2.xctypes.windll.shell32.ShellExecuteW(None, u"runas", unicode(sys.executable), unicode(__file__), None, 1)

以上代碼運(yùn)行時(shí)先判斷是否擁有管理員權(quán)限,如果沒(méi)有,則調(diào)用那個(gè)函數(shù)獲取權(quán)限以后再運(yùn)行一次代碼,所以如果在命令行中運(yùn)行的話(huà),會(huì)再?gòu)棾鲆粋€(gè)小黑框。而且根據(jù)原博客,這個(gè)不能在 IDE 中運(yùn)行,但是我沒(méi)有 IDE ,所以沒(méi)有進(jìn)行測(cè)試。

4. 不彈出UAC解決方法

有的人可能使用上面的 2 和 3 方法發(fā)現(xiàn)不會(huì)彈出授權(quán)彈框,這可能是因?yàn)橄到y(tǒng)的 UAC 被關(guān)掉了,按照以下步驟開(kāi)啟:

  • win + R,在運(yùn)行框里輸入 msconfig.
  • 點(diǎn)擊 工具,然后點(diǎn)擊 更改UAC設(shè)置,再點(diǎn)擊 右下方的啟動(dòng).
  • 將通知調(diào)整到 始終通知.
  • 這里也有圖文教程:win10系統(tǒng)如何開(kāi)啟UAC


    ---------------------
    作者:MemoryD
    來(lái)源:CSDN
    原文:https://blog.csdn.net/MemoryD/article/details/83148305
    版權(quán)聲明:本文為作者原創(chuàng)文章,轉(zhuǎn)載請(qǐng)附上博文鏈接!
    內(nèi)容解析By:CSDN,CNBLOG博客文章一鍵轉(zhuǎn)載插件

    總結(jié)

    以上是生活随笔為你收集整理的[转]Python 获取Windows管理员权限的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。