问题标签 [psexec]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
68598 浏览

scripting - Psexec 、 cmd 和批处理文件

我在 winserver2008 桌面上有一个名为 a.bat 的批处理文件。

该批处理文件仅将 SessionID(来自环境变量)写入本地事件日志。

我想使用 cmd 远程执行它(否则 SessionName 不会出现)。

所以我试过了

或者

所有这些只是在远程机器上打开一个终端,但不执行批处理。

有什么想法吗?

最好的祝福,

0 投票
2 回答
130709 浏览

psexec - Psexec“以(远程)管理员身份运行”

我写了一些使用 PSexe 的 c# 代码。我希望它在连接到我的 LAN 的机器上运行远程 exe。

该 exe 创建一个新的本地用户。当我在远程机器上本地运行该 exe 时(右键单击 - >“以管理员身份运行”后) - 它工作正常。我不知道如何模拟 Psexec 的右键单击->“以管理员身份运行”。我已经尝试了 -l 标志,但它没有用

0 投票
4 回答
6435 浏览

powershell - PSExec 在 start-job 中运行时永远不会完成

我正在尝试在 48 台计算机的列表上执行一个 cmd 文件。我不想按顺序执行并等待完成,因为每个 cmd 大约需要 10 分钟才能完成。WinRM 不是一个选项。WMI 也不是。PSExec一个选项....但我似乎无法让它在 Start-Job 中工作。

我正在做类似的事情:

这创造了一堆工作......但永远不会完成,如果我在其中任何一个上接受工作,我就会回来

如果我运行如下函数,它执行得很好:

启动脚本在 Server 2008r2 机器上的 Powershell v2.0 中运行我在使用域管理员用户 ID 登录时在 domain2 的机器上尝试过它(结果相同)。

0 投票
1 回答
1820 浏览

windows - Nant - 检查远程共享是否已经存在

我们正在使用 Nant 部署应用程序,需要确保在此过程中创建共享。

我们使用psexecandnet share来创建共享,但是如果共享已经存在,这将失败并停止 Nant。

有什么方法可以检测到共享已经存在?

在尝试创建共享之前或能够检测到的返回代码2The name has already been shared来自的消息psexec

我试过directory::exists了,但这总是返回错误。

我尝试将文件复制到远程目录,file::exists但这总是返回 false。

0 投票
2 回答
1259 浏览

vbscript - 使用 VBScript 设置 MSMQ 权限(通过 Nant)

我们正在使用 Nant 部署应用程序,并且在此过程中需要创建一些 MSMQ 队列。

我们使用 Nant/psexec/cscript 调用 VBScript 来创建队列本身,但我们还需要设置权限。

这可以通过编程方式完成吗?

我知道在脚本中设置 MSMQ 队列的权限,但是该问题要求 PowerShell 或 VBScript,并且已接受 PowerShell 的答案。我们没有可用的 PowerShell,所以这个问题是针对 VBScript 的。

0 投票
4 回答
18594 浏览

c# - 如何获取当前登录用户的会话 ID?

我正在使用 Windows 服务内部运行一个进程

问题是,如果我在本地系统帐户下运行服务,它运行正常,但它不显示程序的窗口。我尝试将用户凭据放入服务属性中,但随后“允许服务与桌面交互”复选框变为禁用状态。

我真的需要运行从服务调用它的应用程序,我真的需要查看应用程序的窗口。

请帮帮我。

UPD。好吧,您使用重载版本的 Process.Start 需要用户名、密码和域 - 它会将程序拉到桌面。但现在它在一个凭据下启动应用程序,但在不同用户的桌面上显示。怎么会?

UPD2:我有个主意!我可以使用 Sysinternals Suite 中的 psexec.exe。但问题是我需要“以管理员身份”默默地启动那个东西。而且我不知道怎么做。我的意思是即使您已经拥有管理员权限,有时您也必须手动说“以管理员身份运行”,确认 UAC,然后才可以开始使用。我不知道不带 UAC 的东西如何默默地运行一些东西....

UPD3:亲爱的主。我有那个东西!最后。

行。一开始,问题确实出在会话 0 隔离中。所以我需要构建一个可以从服务启动的中间应用程序,然后该应用程序又假设通过 RPC 启动我的应用程序并将其带到桌面。我决定使用 psexec 工具而不是构建中间层应用程序(无论如何它完全按照我需要的方式工作 - 通过 RPC)。当我尝试在本地系统帐户下使用该工具时,由于某种原因它不起作用。然后我意识到-原因是MS在每个pstool中都放了该死的EULA弹出对话框,并且无法单击按钮以在本地系统帐户下确认对话框。所以解决方案是在注册表中创建一个密钥 HKU.DEFAULT\Software\Sysinternals\PsExec 与 DWORD 值 EulaAccepted = 1

万岁,现在可以了!但!现在我需要把程序带到当前登录用户的屏幕上。为此,我需要会话 ID!

所以问题是:如何获取当前登录用户的会话 ID?如果还没有人登录会发生什么?那会是什么会话ID?

UPD4:就是这样!我得到了那个!

[DllImport("Kernel32.dll", EntryPoint = "WTSGetActiveConsoleSessionId")] public static extern int WTSGetActiveConsoleSessionId();

谢谢你们!

0 投票
2 回答
1402 浏览

c# - 如何检测哪个程序返回了错误代码?

我正在尝试以编程方式运行一系列命令,读取错误代码,并检测这些代码是否指示成功或失败,以便我可以做出相应的响应。

目前我的命令正在使用 psexec,然后启动 robocopy。我注意到,虽然大多数命令在程序成功时返回错误代码 0,但 robocopy 很奇怪,即使操作成功,它也会返回 0-8 范围内的值,所以我在其中添加了一些额外的逻辑当 robocopy 返回错误代码时,我的错误检测要注意,否则会提示失败。

问题是,在同一组命令中,我使用 PSExec 来启动各种其他可执行文件和批处理文件,所以我需要一个错误检测解决方案,让我知道什么时候 robocopy 是返回这些错误代码的那个,或者它是否是 PSExec,因为robocopy 中的错误代码 5 通常很好,而 PSExec 中的错误代码 5 表示访问被拒绝。

所以我的问题是,我怎么知道哪个程序返回了错误代码?我正在使用 c# .NET 4.0,并且正在使用 Process 类以编程方式启动这些程序。我将程序名称设置为 psexec,参数包括 robocopy 或其他程序。然后我运行,等待退出,并存储错误代码,然后尝试解析它。

大家有什么建议?

这是一个代码片段:

0 投票
2 回答
2043 浏览

c# - 使用 PSExec 和 CMD 运行 JAR 文件

我需要在远程机器上运行一个 jar 文件。jar 有几个参数。

有人可以告诉我该怎么做吗?我得到的最接近的是让 CMD 启动但没有命令。

0 投票
2 回答
7706 浏览

iis-7 - PsExec 和 Windows Server 2008:权限和身份验证问题

我正在编写一个应用程序来帮助我将我的应用程序自动部署到我的 Windows Server 2008 机器上。作为这个过程的一部分,我需要从我的测试机器上远程启动和停止我的 2008 服务器上的 IIS 网站。

在我的 2008 机器范围内,我正在使用:

如果我只是从命令提示符运行它,这个命令不起作用。返回的错误是:

错误(消息:W3SVC 服务不可用 - 请先尝试启动该服务。)

但是,如果我通过“以管理员身份运行”使用命令提示符,这确实有效。这很好,花花公子,但我需要能够从另一台机器上运行它。使用域帐户(被认为是管理员),从我的测试(非 2008)机器的角度来看,我的 PsExec commaned 变为以下内容:

PsExec 启动、运行和退出,提供与上面看到的相同的错误:就像我在 2008 机器上从命令提示符运行此命令一样 - 没有 - “以管理员身份运行”。

Windows 防火墙已关闭,我已按照其他地方的建议设置了“LocalAccountTokenFilterPolicy”,但我没有想法。知道如何解决这个问题或解决它吗?

0 投票
1 回答
2007 浏览

windows-xp - 两台 XP 机器上的 PsExec 显示“拒绝访问”

我有两台XP机器,我有以下情况。

  1. 我正在从 comp1 运行 psexec
  2. comp2 没有任何密码
  3. 我的 bat 文件命令

    /li>

我得到的错误信息是

无法访问 comp2:访问被拒绝

我还在comp2上添加了密码为'abcd'的新用户'test',然后从comp1登录。我下达了命令

但错误保持不变。请帮忙。