python - 通过 SSH 执行 Powershell 命令

标签 python linux powershell ssh cygwin

尝试通过 Cygwin/OpenSHH 从 Ubuntu 主机向 Windows 客户端执行以下命令。

ssh  USER@HOSTNAME  powershell -Command "& {Get-Host}"

输出:

Cannot process the command because of a missing parameter. A command must follow -Command.

然而,当我在 Windows 客户端中通过 cygwin 尝试相同的命令时,我得到了正确的输出。

$ powershell -Command "& {Get-Host}"
Welcome to Powershell augmented with NaviNet tools.
Bootstrapped ScmToolsProjectConfiguration.


Name             : ConsoleHost
Version          : 2.0
InstanceId       : 0b2e578e-50b9-42ab-a07c-0c4ef762ba0c
UI               : System.Management.Automation.Internal.Host.InternalHostUser
CurrentCulture   : en-US
CurrentUICulture : en-US
PrivateData      : Microsoft.PowerShell.ConsoleHost+ConsoleColorProxy
IsRunspacePushed : False
Runspace         : System.Management.Automation.Runspaces.LocalRunspace

最佳答案

尝试转义",所以它看起来像:

ssh USER@HOSTNAME powershell -Command \"& {Get-Host}\"

如果这不起作用,请尝试转义 {,} 和/或 &。我认为这是一个逃避问题;)

编辑:

或者甚至尝试用\\\"转义它,这会导致转义的 "和\。 (不知道powershell是怎么要命令的,不熟悉)

关于python - 通过 SSH 执行 Powershell 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6423879/

相关文章:

python - 为什么从 python 中的对象显式子类化会导致全局 NameError 异常?

python - 在 GTK 中,如何获得小部件的原始正常 bg 颜色?

linux - 如何使用linux命令分割大目录

R - Igraph - 度函数似乎在 linux 环境中不起作用

powershell:如何捕获invoke-sqlcmd引起的错误?

powershell - 格式化百分比小数位并删除尾随零

Python——在不同的消费者中使用一个生成器

python - Pandas map 数据框列

mysql - 如何将值直接插入到zabbix Mysql数据库中

powershell - Powershell-捕获一个词然后发出它(或其他东西)