【问题标题】:Can you run remote commands without psexec?你可以在没有 psexec 的情况下运行远程命令吗?
【发布时间】:2017-03-23 00:20:37
【问题描述】:

我正在尝试在多台远程计算机上运行批处理文件。它有一些我可以远程运行的注册表更改和其他命令。我有一个命令我无法找到替代方法:

net user USERNAME /PASSWORDREQ:yes

有没有办法在没有 psexec 的情况下远程运行这个命令?我宁愿不分发具有依赖关系的批处理文件。

【问题讨论】:

  • 当您尝试使用 PSEXEC 运行它时会发生什么?
  • 它有效。事关重大,我必须这样做,但我不喜欢依赖关系。
  • 你是如何运行其他命令的?
  • 我的其他命令有一个内置的远程开关:reg add \\SERVERNAME\HKLM\... 或 sc \\SERVERNAME stop snmp
  • 澄清一下——你想在你的机器上实际运行命令并让它影响远程机器,对吗?与将命令放在批处理文件中相反,将批处理文件放在远程机器上,然后让批处理文件在远程机器上运行? ..................... 当然,除了 psexec 之外,还有其他工具,例如plink,但是您要求使用本机方法,所以这对您没有帮助。

标签: powershell batch-file psexec


【解决方案1】:

是的,您可以在远程计算机上启用 powershell 远程处理,然后使用 Invoke-Command cmdlet。示例:

Invoke-Command -ComputerName RemoteComputer -Script { param($userName) net use $userName /PASSWORDREQ:yes } -Args "UserNameArgumentValue"

【讨论】:

  • +1。 @Jeff:请参阅此示例以了解 Invoke-Command 的用法Using Powershell's Invoke-Command to call a batch file with arguments
  • +1 用于 powershell。我应该使用它,但我现在被困在 .bat 环境中。
  • @Jeff - 由于您的帖子被标记为 powershell,我假设您正在寻找 powershell 解决方案。
  • @dugas - 这是有道理的。我喜欢powershell,这可能是最好的解决方案。
猜你喜欢
  • 2021-07-13
  • 1970-01-01
  • 1970-01-01
  • 2018-07-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-06
  • 2015-05-25
相关资源
最近更新 更多