从Mac OS X工作站启动windows winrm失败

从Mac OS X工作站启动windows winrm失败,windows,chef-infra,knife,Windows,Chef Infra,Knife,从我的Mac OS x工作站运行windows winrm ec2box.amazonaws.com-r'role[web]'-x Administrator-p'mypassword'刀引导命令会产生以下输出。从Windows工作站运行该命令时,该命令将成功运行。要让我的Mac OS X工作站通过WinRM正确通信,我还需要采取其他步骤吗 我在Amazon的Windows Server 2012 AMI上使用这个。它在我的终端上到处打印#39,而不是堆栈溢出的产物 WARNING: Could

从我的Mac OS x工作站运行windows winrm ec2box.amazonaws.com-r'role[web]'-x Administrator-p'mypassword'刀引导命令会产生以下输出。从Windows工作站运行该命令时,该命令将成功运行。要让我的Mac OS X工作站通过WinRM正确通信,我还需要采取其他步骤吗

我在Amazon的Windows Server 2012 AMI上使用这个。它在我的终端上到处打印
#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 (

它似乎适用于windows 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个字符也有同样的问题,请参见我的描述:

就我而言,rvm是罪魁祸首

我通过以下步骤解决了此问题: 1) 下载并运行omnibus安装程序

curl -L https://www.opscode.com/chef/install.sh | sudo bash
2) 使用system ruby禁用rvm:

rvm use system 
3) 直接在chefs库中安装刀窗口:

sudo /opt/chef/embedded/bin/gem install knife-windows
这与按照上的建议配置Windows 2008服务器一起使用 (本要点中提供的命令:) 完成了这个技巧,我可以引导我的节点:)
阿加塔

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

卸载gem,然后进行智能更新,然后在此操作中安装gem&knife窗口插件(/opt/chef/embedded/bin/gem安装knife窗口),并打开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之间的互操作性差有关:


宝石列表|格雷普刀的输出是什么?什么版本的Windows?您使用的是亚马逊的AMIs,还是您自己的?还有,有没有显示"39"?你的终端到处都是,还是那是堆栈溢出的产物?@henry-更新了我的问题。我在Amazon的Windows Server 2012 AMI上使用这个。它在我的终端上到处都印着#39,而不是堆栈溢出的产物。@TheMath魔术师:你和chef一起安装了什么版本的ruby?