python自动输入账号密码_使用python打开cmd并自动输入密码

本文介绍了如何在Python中利用win32console和subprocess模块,实现在Windows环境下自动输入账号密码并调用runas命令以新用户上下文打开命令提示符。通过逐字符读取并模拟键盘输入,实现了自动化过程。
摘要由CSDN通过智能技术生成

这段代码实际上可以工作(在Windows2008服务器上测试)。我用它为另一个用户调用runas,并传递他的密码。使用新用户上下文打开的新命令提示,无需输入密码。

请注意,您必须安装pywin32才能访问win32 API。

想法是:对于Popen命令,在没有任何输入重定向的情况下,重定向输出

逐字符读取,直到遇到“:”(密码提示的最后一个字符)。

使用win32包将密钥事件发送到控制台,最后使用\r结束密码输入。import win32console, win32con, time

import subprocess

username = "me"

domain = "my_domain"

password ="xxx"

free_console=True

try:

win32console.AllocConsole()

except win32console.error as exc:

if exc.winerror!=5:

raise

## only free console if one was created successfully

free_console=False

stdin=win32console.GetStdHandle(win32console.STD_INPUT_HANDLE)

p = subprocess.Popen(["runas",r"/user:{}\{}".format(domain,username),"cmd.exe"],stdout=subprocess.PIPE)

whil

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值