来自Mac OS X工作站的刀引导窗口winrm失败

从我的Mac OS X工作站运行命令行knife bootstrap windows winrm ec2box.amazonaws.com -r 'role[web]' -x Administrator -P 'mypassword'生成以下输出。 从Windows工作站运行它,命令成功运行。 有没有额外的步骤,我需要采取让我的Mac OS X工作站通过WinRM正确沟通?

我在亚马逊的Windows Server 2012 AMI上使用它。 它在我的terminal上打印#39 ,而不是堆栈溢出的人工制品。

 WARNING: Could not load IOV methods. Check your GSSAPI C library for an update WARNING: Could not load AEAD methods. Check your GSSAPI C library for an update Bootstrapping Chef on ec2box.amazonaws.com ec2box.amazonaws.com "Rendering 'C:\Users\ADMINI~1\AppData\Local\Temp\bootstrap-7738-1370535154.bat' chunk 1" ec2box.amazonaws.com "Rendering 'C:\Users\ADMINI~1\AppData\Local\Temp\bootstrap-7738-1370535154.bat' chunk 2" ec2box.amazonaws.com '#39' is not recognized as an internal or external command, ec2box.amazonaws.com operable program or batch file. ec2box.amazonaws.com "Rendering 'C:\Users\ADMINI~1\AppData\Local\Temp\bootstrap-7738-1370535154.bat' chunk 3" ec2box.amazonaws.com "Rendering 'C:\Users\ADMINI~1\AppData\Local\Temp\bootstrap-7738-1370535154.bat' chunk 4" ec2box.amazonaws.com '#39' is not recognized as an internal or external command, ec2box.amazonaws.com operable program or batch file. ec2box.amazonaws.com '#39' is not recognized as an internal or external command, ec2box.amazonaws.com operable program or batch file. ec2box.amazonaws.com "Rendering 'C:\Users\ADMINI~1\AppData\Local\Temp\bootstrap-7738-1370535154.bat' chunk 5" ec2box.amazonaws.com "Rendering 'C:\Users\ADMINI~1\AppData\Local\Temp\bootstrap-7738-1370535154.bat' chunk 6" ec2box.amazonaws.com "Rendering 'C:\Users\ADMINI~1\AppData\Local\Temp\bootstrap-7738-1370535154.bat' chunk 7" ec2box.amazonaws.com "Rendering 'C:\Users\ADMINI~1\AppData\Local\Temp\bootstrap-7738-1370535154.bat' chunk 8" ec2box.amazonaws.com "Rendering 'C:\Users\ADMINI~1\AppData\Local\Temp\bootstrap-7738-1370535154.bat' chunk 9" ec2box.amazonaws.com ec2box.amazonaws.com else was unexpected at this time. ec2box.amazonaws.com C:\Users\Administrator>mkdir C:\chef ec2box.amazonaws.com ec2box.amazonaws.com C:\Users\Administrator>( ec2box.amazonaws.com echo.url = WScript.Arguments.Named("url") ec2box.amazonaws.com echo.path = WScript.Arguments.Named("path") ec2box.amazonaws.com echo.proxy = null ec2box.amazonaws.com echo.Set objXMLHTTP = CreateObject("MSXML2.ServerXMLHTTP") ec2box.amazonaws.com echo.Set wshShell = CreateObject( "WScript.Shell" ) ec2box.amazonaws.com echo.Set objUserVariables = wshShell.Environment("USER") ec2box.amazonaws.com echo. ec2box.amazonaws.com echo. ec2box.amazonaws.com echo.On Error Goto 0 ec2box.amazonaws.com echo. ec2box.amazonaws.com echo.objXMLHTTP.open "GET", url, false ec2box.amazonaws.com echo.objXMLHTTP.send() ec2box.amazonaws.com echo.If objXMLHTTP.Status = 200 Then ec2box.amazonaws.com echo.Set objADOStream = CreateObject("ADODB.Stream") ec2box.amazonaws.com echo.objADOStream.Open ec2box.amazonaws.com echo.objADOStream.Type = 1 ec2box.amazonaws.com echo.objADOStream.Write objXMLHTTP.ResponseBody ec2box.amazonaws.com echo.objADOStream.Position = 0 ec2box.amazonaws.com echo.Set objFSO = Createobject("Scripting.FileSystemObject") ec2box.amazonaws.com echo.If objFSO.Fileexists(path) Then objFSO.DeleteFile path ec2box.amazonaws.com echo.Set objFSO = Nothing ec2box.amazonaws.com echo.objADOStream.SaveToFile path ec2box.amazonaws.com echo.objADOStream.Close ec2box.amazonaws.com echo.Set objADOStream = Nothing ec2box.amazonaws.com echo.End if ec2box.amazonaws.com echo.Set objXMLHTTP = Nothing ec2box.amazonaws.com ) 1>C:\chef\wget.vbs ec2box.amazonaws.com ec2box.amazonaws.com C:\Users\Administrator>( ec2box.amazonaws.com echo.param( ec2box.amazonaws.com echo. [String] $remoteUrl, ec2box.amazonaws.com echo. [String] $localPath ec2box.amazonaws.com echo.) ec2box.amazonaws.com echo. ec2box.amazonaws.com echo.$webClient = new-object System.Net.WebClient; ec2box.amazonaws.com echo. ec2box.amazonaws.com echo.$webClient.DownloadFile($remoteUrl, $localPath); ec2box.amazonaws.com ) 1>C:\chef\wget.ps1 ec2box.amazonaws.com C:\Users\Administrator>) else ( 

Solutions Collecting From Web of "来自Mac OS X工作站的刀引导窗口winrm失败"

它似乎与刀窗0.5.10 [与Windows server 2008R2测试]

安装它:

 gem uninstall knife-windows gem install knife-windows -v 0.5.10 

检查你的宝石:

 gem list|grep knife-windows 

它应该显示:

 knife-windows (0.5.10) 

我和我的OSX上的#39个字符的问题完全一样,请参阅我的描述: 尝试使用主厨来引导Windows服务器

在我的情况下,rvm是罪魁祸首。

我设法解决这个问题的步骤如下:1)下载并运行omnibus安装程序

 curl -L https://www.opscode.com/chef/install.sh | sudo bash 

2)使用系统ruby禁用rvm:

 rvm use system 

3)直接在厨师图书馆安装刀窗:

 sudo /opt/chef/embedded/bin/gem install knife-windows 

这个和https://github.com/opscode/knife-windows (这个要点可用的命令: https : //gist.github.com/jimcroft/3878113 )上推荐的配置Windows 2008服务器一样,我可以引导我的节点:) Agata

我面临类似的问题。 我做的是:

卸载gem,然后进行aptitude update,然后在这个地方安装gem&knife windows pluggin(/ opt / chef / embedded / bin / gem install knife-windows),打开5985端口并配置winrm:

  1.winrm quickconfig -q 2.winrm set winrm/config/winrs @{MaxMemoryPerShellMB="300"} 3.winrm set winrm/config @{MaxTimeoutms="1800000"} 4.winrm set winrm/config/service @{AllowUnencrypted="true"} 5.winrm set winrm/config/service/auth @{Basic="true"} 

然后自举:

 knife bootstrap windows winrm ec2-xx-xxx-xx.compute-1.amazonaws.com -r 'recipe[cookbook]' -x Administrator -P xxxxxxxx -N "WIN-xxxxx" 

看起来问题可能与Ruby 2.x和winrm gem之间的互操作性差有关:

https://github.com/WinRb/WinRM/pull/73