0

我有这个问题好几天了。完成并研究了与使用 winrm 在本地计算机上执行 powershell 脚本有关的所有内容。

我的目标是将这些 ps1 脚本从我的本地执行到目标远程计算机。winrm 已配置并使用其基本命令,但我找不到使用 winrm 运行 powershell 脚本 (*.ps1) 的任何内容。

就像是

winrm {execute ps1 file} -r:http://<IPaddress>:5985 -auth:basic -u:'username' -p:'password' -encoding:utf-8

非常感谢任何帮助和建议。

感谢你们!

4

1 回答 1

1

首先-我相信您正在尝试使用winrsnot-winrm后者通常用于配置winrm,前者用于运行远程命令。

考虑到这个假设:我很确定您必须将脚本传递给 powershell.exe 并处理转义命令元素。对我有用的示例(不是基本身份验证,但我认为无关紧要):

winrs -r:ComputerName powershell -file c:\temp\test.ps1
winrs -r:ComputerName powershell -file "c:\temp\test with space.ps1"

我猜为什么有人想这样做是不同的。要求您去的任何充分理由:powershell -> 本机命令 -> 远程上的 cmd.exe 和 -> 远程调用 PowerShell?

这样做你会松动:

  • 任何合理的输出(你得到文本)
  • 脚本运行后保持状态
  • 性能(每次调用都会生成新的 powershell 实例

您获得:

  • 复杂
于 2016-12-15T07:07:56.853 回答