Windows 到 Windows SSH:获取远程环境变量

Windows 到 Windows SSH:获取远程环境变量

我从 Windows 10 主机通过 SSH 连接到 Windows 10 目标计算机,以读取其环境变量之一,例如。%COMPUTERNAME%两台计算机上都安装了 OpenSSH。远程 shell 是 cmd,我想使用命令命令。我尝试过这个:

ssh someuser@somecomputer echo %COMPUTERNAME%

不幸的是,我得到了主机的名称。显然,本地 cmd%COMPUTERNAME%在将命令发送到目标之前替换了本地变量。我如何才能获得远程计算机的名称?我尝试%使用引号等转义 ,,但没有任何帮助。

重要的:我已经可以通过在目标上调用 PowerShell 来解决问题。我想了解如何使用 cmd 来完成此操作... 我觉得这应该是可能的 :)

答案1

我找到了解决方案(关联),该%字符必须进行转义。我之前尝试过,但不知道转义字符会根据在哪里你想要进行转义:

  1. 在命令行中:
ssh someuser@somecomputer echo ^%COMPUTERNAME^%
  1. 在批处理文件中:
ssh someuser@somecomputer echo %%COMPUTERNAME%%

(我也尝试了@Robert 的建议,延迟变量扩展,但无法使其发挥作用。)

相关内容