我在Windows 8上使用vagrant,hyper-v提供程序启动了Windows Server 2012。
在我更新到vagrant 1.7.4之前,我使用的是版本1.7.2,一切正常。
但是在更新后,我在尝试安装共享文件夹时遇到错误:
The following WinRM command responded with a non-zero exit status.
Vagrant assumes that this means the command failed!
cmdkey /add:xxx.xxx.xxx.xxx /user:DOMAIN\user /pass:Password
Stdout from the command:
Stderr from the command:
Exception calling "RegisterTaskDefinition" with "7" argument(s): "The user
name or password is incorrect. (Exception from HRESULT: 0x8007052E)"
At C:\tmp\vagrant-elevated-shell.ps1:58 char:1
+ $folder.RegisterTaskDefinition($task_name, $task, 6, $username, $password,
1, $n ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~
+ CategoryInfo : NotSpecified: (:) [], MethodInvocationException
+ FullyQualifiedErrorId : ComMethodTargetInvocation
我已从行中替换了详细信息:
cmdkey /add:xxx.xxx.xxx.xxx /user:DOMAIN\user /pass:Password
有占位符的原因很明显。我尝试在VM中运行上面的命令,然后得到以下输出:
CMDKEY: Credential added successfully.
所以我认为它工作正常。在1.7.4中有什么变化或破坏?
答案 0 :(得分:2)
我已经找到了解决这个问题的方法。
我们的密码包含美元符号($),这些都是在vagrant-elevated-shell.ps1脚本中删除的。
我已经分流了流浪者回购并做出了改变并提出了拉动请求 - https://github.com/mitchellh/vagrant/pull/6452
要修补本地环境,可以在本地计算机上找到communicator.rb文件:
C:\ HashiCorp \流浪\嵌入\宝石\宝石\流浪-1.7.4 \插件\传播者\ WinRM的\ communicator.rb
(如果您使用了安装程序中的默认设置)