Vagrant在升级到1.7.4后无法装载SMB

Vagrant在升级到1.7.4后无法装载SMB,vagrant,smb,Vagrant,Smb,我在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

我在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中有什么改变或损坏了吗?

我已经找到了解决方法

我们的密码包含美元符号($),这些符号在vagrant-highted-shell.ps1脚本中被去掉

我已经完成了流浪者回购,做出了改变,并提出了取回请求-

要修补本地环境,您可以在本地计算机上的以下位置找到communicator.rb文件:

C:\HashiCorp\Vagrant\embedded\gems\gems\Vagrant-1.7.4\plugins\communicators\winrm\communicator.rb


(前提是您使用了安装程序中的默认设置)

在升级到1.7.4时也看到了这一点。回到1.7.2可以解决这个问题,但我真的希望在最新版本(2.0.1)中使用hyperv Provider的一些新配置,如果passord包含一个简单的引号('),则是相同的问题。如果没有这篇文章,我永远也找不到解决方案,非常感谢你为我节省了很多时间。很高兴我能帮助@Xav987