【发布时间】:2014-07-25 20:21:02
【问题描述】:
我正在尝试从 PowerShell 脚本配置 WinRM。我正在使用以下代码
$WinrmCreate= "winrm create winrm/config/Listener?Address=*+Transport=HTTPS @{Hostname=""$sHostName"";CertificateThumbprint=""$CertificateThumbPrint""}"
Invoke-Expression $WinrmCreate
主机名和证书指纹是上面的变量,它们经过验证会出来。详细输出显示
VERBOSE: winrm create winrm/config/Listener?Address=*+Transport=HTTPS @{Hostname="RSNODE1";CertificateThumbprint="6C79C8E6E88779037593E6234DCE6E1A55662F87"}
但是,“Invoke-Expression”的执行会出现以下错误
Invalid use of command line. Type "winrm -?
有趣的是,如果我将我的行的输出复制/粘贴到命令提示符,它将创建侦听器而不会出错。
研究命令的执行我发现没有任何东西可以解释这种行为。 我唯一的理论是“winrm”命令本身就是一个脚本,并且有些东西行为不端。
【问题讨论】:
-
你的理论是正确的。这是一个启动约 3900 行 VB 脚本的 cmd 脚本:
@cscript //nologo "%~dpn0.vbs" %*
标签: powershell