我有一个厨师食谱,为Microsoft SQL服务器运行巧克力安装。从我的工作台运行时
knife winrm [IP] 'chef-client -o "recipe[NetDevMachine::default]"' -m -x 'domain\myuser'
在节点上失败并显示错误: 532459699或有时2022834173或2057043966
但是,如果我以同一用户身份登录VM并在本地运行
chef-client -o "recipe[NetDevMachine::default]"
有效。有谁知道在本地运行chef-client和从工作台远程运行它之间有什么区别?厨师 - 客户在这方面的做法有何不同?两者都从同一个厨师服务器回购中提取食谱。
其他详情
食谱内容:
powershell_script "choco install MicrosoftSQLServer2014" do
code <<-EOH
choco install MicrosoftSQLServer2014
EOH
end
错误:
[ERROR] Running C:\Users\myuser\AppData\Local\Temp\MicrosoftSQLServer2014\setup.exe with
/QUIET /IACCEPTSQLSERVERLICENSETERMS /ACTION=INSTALL /INSTANCENAME=MSSQLSERVER /FEATURES=SQL,TOOLS,LOCALDB
/SQLSVCACCOUNT="NT AUTHORITY\Network Service" /SQLSYSADMINACCOUNTS=BUILTIN\ADMINISTRATORS
/SKIPRULES=REBOOTREQUIREDCHECK UIMODE=AUTOADVANCE was not successful.
Exit code was '-532459699'.
编辑 - 我能看到的唯一区别是一个在前台运行而另一个没有。因此,编译chef-script的位置是/ temp / 2,用于失败的运行。我不知道是否有办法迫使厨师在前台跑步,或者这是否有帮助。
由于
答案 0 :(得分:0)
我从来没有深究这一点,但仍然不了解如何使用刀具远程运行厨师客户端与直接在VM上运行厨师客户端不同。也许这与远程发送命令时处理凭据或权限有关。
但我确实发现删除chocolatey并将其替换为一个命令行静态安装在chef powershell资源中允许我安装MSSQL。