我已经有几天了。完成并研究了与使用WINRM在本地计算机上执行PowerShell脚本有关的所有内容。
我的目标是从本地到目标远程计算机执行这些PS1脚本。WINRM已经配置并使用其基本命令,但是我找不到任何可以使用WinRM的PowerShell脚本(*.ps1)的东西。
之类的东西winrm {execute ps1 file} -r:http://<IPaddress>:5985 -auth:basic -u:'username' -p:'password' -encoding:utf-8
任何帮助和建议都非常感谢。
谢谢你们!
首先 - 我相信您正在尝试使用winrs
不是winrm
-后者通常用于配置WinRM,以前用于运行远程命令。
考虑到这一假设:我很确定您必须将脚本传递到powershell.exe并照顾逃脱的命令元素。对我有用的示例(不是基本的auth,但我认为这无关):
winrs -r:ComputerName powershell -file c:temptest.ps1
winrs -r:ComputerName powershell -file "c:temptest with space.ps1"
我猜为什么有人愿意这样做是不同的。要求您去的任何充分理由:powerShell->本机命令 -> cmd.exe在远程和 ->远程调用powershell?
这样做的是
- 任何合理的输出(您得到文本)
- 流
- 在运行脚本后保持状态
- 性能(您带有每个调用的新PowerShell实例
您获得了:
- 复杂性