当使用 PsExec 执行某些文件(主要是批处理)时,我得到这些奇怪的 ???' 我的命令前的符号。我最初的想法是,我使用了错误的编码,但经过检查,我意识到我所有的文件都使用了 UTF-8。
我正在尝试使用以下命令在 LAN 中的远程 PC 上运行交互式命令行
psexec \\192.168.1.103 -u user2 -p pass1234 -c cmd
Run Code Online (Sandbox Code Playgroud)
我得到
Logon failure: unknown user name or bad password.
Run Code Online (Sandbox Code Playgroud)
有什么我在这里想念的吗?用户已创建,我可以使用 RDP 连接到它。主机是 Windows XP,我正在运行来自 Windows 7 的命令,在那里我有psexec.exe
.
我正在使用psexec.exe
在不同的安全上下文中运行程序。然而,程序启动但它似乎没有在指定的安全上下文中运行。
以其最小形式:
psexec -u wsadmin -p password cmd
Run Code Online (Sandbox Code Playgroud)
如果我在该窗口中键入,则启动一个新的 cmd 窗口 whoami
C:\Windows\system32>whoami
win-k1r7g38nlkt\wsadmin
C:\Windows\system32>net localgroup administrators
Alias name administrators
Comment Administrators have complete and unrestricted access to the computer/domain
Members
-------------------------------------------------------------------------------
Administrator
wsadmin
The command completed successfully.
Run Code Online (Sandbox Code Playgroud)
如您所见,我绝对是另一个用户。我可以确认这个用户是“管理员组”的成员
C:\Windows\system32>mkdir test
Access is denied.
Run Code Online (Sandbox Code Playgroud)
如果我将 runas 与指定的用户一起使用,它会按预期工作。但我需要在命令行上提供密码。
我正在尝试使用 PsExec 在远程机器上启动一个进程。我在 SO 上发布了这个问题,但我意识到它可能更适合这里。我也花了几个小时试图弄清楚这一点,但还没有真正取得任何进展。
这是我看过的问题之一,以及一些论坛帖子。第二个链接是我感兴趣的链接。其中一张海报建议使用 net use 来查看我尝试与 PsExec 一起使用的凭据是否适用于此,他们确实这样做了。当我尝试运行 PsExec 时,我从 cmd 的管理员实例运行它,并使用以下命令:
PsExec.exe \\[MachineName] -u [domain]\[user] -p [password] cmd
Run Code Online (Sandbox Code Playgroud)
这是不成功的,并返回:
Could not start PSEXESVC service on [MachineName]:
Access is denied.
Run Code Online (Sandbox Code Playgroud)
但是,当我在 cmd 的同一实例中发出此命令时:
net use \\[MachineName] /user:[domain]\[user]
Run Code Online (Sandbox Code Playgroud)
我被提示输入密码,我输入了密码,[password]
它返回:
The command completed successfully.
Run Code Online (Sandbox Code Playgroud)
这对我来说似乎是所有相关信息,在我看过的其他帖子中也是如此,但我不确定还要添加什么。我花了几个小时试图解决这个问题,但没有成功。我很感激任何帮助,如果您需要我提供任何其他信息,请告诉我。
我听说过 RPC 并且它们是通过 TCP 端口 135 执行的ipconfig
。我只是psexec.exe
在远程 PC 上通过执行而想知道这是否是 RPC。正如我在 Wireshark 中看到的,整个过程是通过 SMB 端口 445 而不是 DCE/RPC 端口 135 完成的。
所以我真的不明白 RPC 是什么?你们有任何RPC的例子吗?
我正在尝试使用以下命令在远程电脑上执行 .bat 或 .cmd 文件:
PSEXEC \\192.0.0.230 "\Users\James\Desktop\BatchFiles\StopStart.cmd"
Run Code Online (Sandbox Code Playgroud)
这将禁用一个网卡并启用另一个网卡,问题是,它忽略超时 /t 10,因为它不是打开远程计算机上的文件,而是运行批处理文件中写入的命令。因此,如果禁用第一个网卡,它将失去连接,这意味着它无法启用另一个网卡。但是,如果它可以只运行该文件并让线路在远程 PC 上运行,那么这不是问题,因为即使我由于 NIC 被禁用而失去连接,它也应该继续在远程 PC 上运行 .bat 文件。远程 PC,而不是从我自己的 PC 运行写入的命令。
这可能吗?谢谢。
是否可以使用 psexec 在远程计算机(Windows 7)上运行本地 bat 文件?还是我必须先将它复制到远程位置然后再运行它?
我想通过命令行在同一网络上的另一台计算机上打开一个应用程序。这里的场景是,用户在一个被大约 20 台计算机包围的房间里,并且希望能够在每台计算机上启动相同的应用程序,而无需在每台计算机上从一个屏幕到另一个屏幕打开它。我发现我可以使用PsExec获得基本功能,如下所示:
psexec \\[computer] -u [username] -p [password] -d -i [SessionID] [program]
Run Code Online (Sandbox Code Playgroud)
对于computer
, username
, password
, 和program
,我很好。有谁知道我可以找出SessionID
分配给登录到网络上特定机器的特定用户的方法吗?或者,有没有更好的方法来完成我想要完成的工作?
我正在尝试从服务器使用 PsExec 在我们域中的远程 Windows 7 机器上运行 GUI 应用程序:
psexec //remoteMachine -i kioskApp.exe
以上由管理员用户运行。
我们试图做的是经常强迫所有员工的 PC 运行一个应用程序,将他们置于信息亭模式并强迫他们填写某些信息。(这是公司的政策——如果不是为了执法,员工会简单地忽略填写信息。)
问题是,它会出现在远程机器上,但框架内的所有东西都将全黑。
如果我使用-i 0
而不仅仅是-i
,用户可以选择是否让应用程序运行,这首先违背了运行应用程序的全部目的!
帮助将不胜感激!提前致谢!
我在测试机环境中使用 PSExec 以管理员身份启动要测试的应用程序的安装包,然后在需要时以管理员身份运行测试。PSExec 仅用于此处的“run as”部分,不用于远程执行。调用如下所示:
c:\psexec -u Administrator -p adminpassword -w C:\SystemTests C:\SystemTests\run_system_tests.cmd ...
问题是我们的 CI 服务器 Jenkins 只在控制台输出中捕获了 PSExec 的标志,而不是实际的测试打印输出:
PsExec v1.98 - Execute processes remotely
Copyright (C) 2001-2010 Mark Russinovich
Sysinternals - www.sysinternals.com
C:\SystemTests\run_system_tests.cmd exited with error code 0.
Run Code Online (Sandbox Code Playgroud)
启动的脚本在本地打开自己的控制台窗口并打印其中的所有内容。但是它没有登录 Jenkins,所以我们不知道脚本做了什么以及为什么事情可能会失败。
是否有一个选项可以让 PSExec 将启动程序的输出打印到标准输出而不是徽标,而不是打开控制台窗口?
psexec ×10
windows ×4
remote ×3
windows-7 ×3
command-line ×2
sysinternals ×2
batch ×1
batch-file ×1
encoding ×1
login ×1
rpc ×1
runas ×1
session ×1