python管理员身份执行cmd

创建shell.vbs和cmd.bat文件

shell.vbs的内容如下

cwd = CreateObject("Scripting.FileSystemObject").GetFile(Wscript.ScriptFullName).ParentFolder.Path
path = cwd & "\cmd.bat"

Set shell = CreateObject("Shell.Application")
shell.ShellExecute path,"","","runas",1

WScript.Quit

在这里插入图片描述

 cmd = "net user " + user + " " + pwd + " /add1"
        f = None
        try:
            bat = os.getcwd() + r"\script\cmd.bat"
            f = open(bat, 'w')
            f.write(cmd)
        except Exception as e:
            traceback.print_exc()
            raise e
        finally:
            if f:
                f.close()

        try:
            shell = os.getcwd() + r"\script\shell.vbs"
            # shell=False的时候cmd_list是一个列表,shell=True的时候cmd_list是一个字符串
            msg = subprocess.Popen(shell, shell=True, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
            print("[PID] %s: %s" % (msg.pid, cmd))
            msg.wait(timeout=3)
            stderr = str(msg.stderr.read().decode("gbk")).strip()
            stdout = str(msg.stdout.read().decode("gbk")).strip()
            if "" != stderr:
                print(stderr)
                conn.send("失败".encode('utf-8'))
            if stdout.find("失败") > -1:
                print(stdout)
                conn.send("失败".encode('utf-8'))
            if stdout.find("成功") > -1:
                print(stdout)
                conn.send("成功".encode('utf-8'))
        except Exception as e:
            conn.send("失败".encode('utf-8'))
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值