Python 脚本无法读取密码

Python 脚本无法读取密码,python,elevated-privileges,Python,Elevated Privileges,不幸的是,Python脚本设计为使用提升的凭据运行 它仍然提示我输入密码 当我输入正确的密码时,它不起作用 下面是script1,它使用提升的凭据调用script2 import os import sys, subprocess, socket, string import wmi, win32api, win32con import win32com.shell.shell as sh ASADMIN = '/user:DOMAIN\username' os.system('"run

不幸的是,Python脚本设计为使用提升的凭据运行

  • 它仍然提示我输入密码
  • 当我输入正确的密码时,它不起作用
  • 下面是script1,它使用提升的凭据调用script2

    import os
    import sys, subprocess, socket, string
    import wmi, win32api, win32con
    import win32com.shell.shell as sh   
    
    ASADMIN = '/user:DOMAIN\username'
    os.system('"runas /user:DOMAIN\username "D:/Python27/python.exe script2.py sender-ip=10.10.10.10 < password.txt""')
    sys.exit(0)
    
    if sys.argv[-1] != ASADMIN:
        script = os.path.abspath(sys.argv[0])
        params = ''.join([ASADMIN] + ['D:\Python27\python.exe',script] + sys.argv[1:])
        sh.ShellExecuteEx(lpVerb='runas',lpFile=sys.executable,lpParameters=params)
        sys.exit(0)
    
    未创建output.txt

    有什么想法吗

    编辑

    我也看了这个帖子,

    但不管我怎么努力,我总是会出错

    Attempting to start c:\test.bat as user "DOMAIN\username" ...
    RUNAS ERROR: Unable to run - c:\test.bat
    1326: Logon failure: unknown user name or bad password.
    

    让我们一次一个地谈谈你的问题

    1。它仍然提示我输入密码

    排队

    os.system('"runas /user:DOMAIN\username "D:/Python27/python.exe script2.py sender-ip=10.10.10.10 < password.txt""')
    
    os.system(“'runas/user:DOMAIN\username”D:/Python27/python.exe script2.py发送方ip=10.10.10
    您正在向
    script2
    提供密码
    runas
    命令仍然需要密码,因为正在尝试以其他用户的身份运行程序

    2。当我输入正确的密码时,它不起作用

    嗯。。。代码不起作用,很清楚。但是,当你问问题时,你必须更加具体。现在查看一下您的代码,我可以看到您正试图在远程机器上执行
    ping

    远程计算机可能有防火墙吗? 您是否尝试过手动执行
    ping


    编辑:未创建output.txt文件,并且运行脚本不会告诉您写入文件时的任何错误,很明显您的代码遇到了
    sys.exit()
    行。

    您可以使用PsExec

    您可以提供用户名和密码,并且不需要将执行提升为管理员:

    psexec[\computer[,computer2[,…]|@file]\[-u user[-p psswd][-ns][r servicename][h][l][s][-e][x][i[session][-c[-f |-v][-w directory][-d][-a n,n][-cmd arguments]

    使用-e开关可以给出与Runas/netonly相同的结果:


    -e不加载指定帐户的配置文件。

    如果执行
    打印,您会得到什么?@pss--在最后第五行
    输出后,我在哪里保留“打印”,错误=pst.communicate()
    He publicado una respuesta,pero si usted publica información sobre el error que se obtien a partir de la ejeucción de su código,se podría mejorr.output.txt文件未创建,运行脚本不会告诉您任何关于写入文件的错误,显然您的代码遇到了
    sys.exit()之一
    行。我可以手动ping远程计算机。当我使用提升的凭据手动打开命令提示符并运行script2时,它工作得非常好。为了简化问题,我更改了script2…所有计算机都可以ping以解决问题1:如何为runas命令提供密码。这是我的问题。好的,这是另一个问题。这个问题已经回答。我建议您写一个新问题,比如说
    如何自动向runas命令提供密码?
    请回答新问题,
    os.system('"runas /user:DOMAIN\username "D:/Python27/python.exe script2.py sender-ip=10.10.10.10 < password.txt""')