自动化系统内部执行的批处理文件

2024-09-29 19:37:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试创建批处理文件来自动执行Sysinternals。 这最终将由Python脚本执行,以自动提升程序的凭据(是的,我知道这是一种坏做法,是的,有一些方法可以提供“runas”的密码,等等,但这些解决方案都不适合我)

当我以普通用户的身份打开命令提示符并键入以下内容时

.\psexec \\my_IP_address -u DOMAIN\my_admin_account -p my_admin_password cmd

我明白了

^{pr2}$

从那里我可以输入

.\psloggedon -l -x \\ip_address_of_remote_computer

屏幕会打印出结果

PsLoggedon v1.34 - See who's logged on
Copyright (C) 2000-2010 Mark Russinovich
Sysinternals - www.sysinternals.com

Users logged on locally:
        DOMAIN\last_user_logged_in

但是当我尝试创建以下批处理文件时

cd pstools
.\psexec \\my_IP_address -u DOMAIN\adminaccount -p adminpasword cmd
cd pstools
.\psloggedon -l -x \\ip_address_of_remote_computer

当我执行批处理文件时,它只执行前两个命令

cd pstools
.\psexec \\my_IP_address -u DOMAIN\adminaccount -p adminpasword cmd

如何让它执行所有命令?在

实际上,我打开一个命令提示符,然后提升特权(这是我计划合并到脚本中的东西)


Tags: 文件ip脚本cmdadminaddressmydomain
1条回答
网友
1楼 · 发布于 2024-09-29 19:37:57

这是因为psloggedon命令在原始命令中运行,而不是在新命令中运行。在

您应该将要运行的内容作为cmd的参数传递。例如,这对我很有效:

psexec cmd /c "whoami & pause"

所以你也应该做一些类似的事情,例如:

^{pr2}$

另一个选项,尤其是当内部逻辑变得更复杂时,它是为这个创建一个新的批处理文件,并将其作为参数传递给cmd来运行。在

相关问题 更多 >

    热门问题