我想找到厨师的工作。所有这些下一个命令在Windows 8上运行完美,但我在Windows 7中遇到了麻烦。
我已经全新安装了win7,所以首先我通过以下命令设置winrm:
call winrm quickconfig
call winrm set winrm/config/service/auth @{Basic="true"}
call winrm set winrm/config/service @{AllowUnencrypted="true"}
call winrm set winrm/config @{MaxTimeoutms="3000000"}
之后我用刀窗启动这个节点:
knife bootstrap windows winrm {IP} --winrm-user {username} --winrm-password {password} --node-name {nodename}
现在我可以看到win7 / win8之间的不同行为,因为它无法通过cscript下载chef-client - 权限被拒绝 - 但是由PowerShell安装它。
当我想安装一些东西 - 火狐,巧克力 - 来自厨师超市的食谱时,它会因许可被拒绝而失败。
knife node run_list set {node_name} firefox
然后运行
knife winrm {IP} chef-client --manual-list --winrm-user {username} --winrm-password {password}
并且失败
如果我从cmd在win7上运行chef-client
作为管理员成功完成。
答案 0 :(得分:0)
我在Windows 7工作站上使用Chef运行Vagrant时遇到类似的问题。
首先,我做了这组命令:
winrm quickconfig -q
winrm set winrm/config/winrs @{MaxMemoryPerShellMB="512"}
winrm set winrm/config @{MaxTimeoutms="1800000"}
winrm set winrm/config/service @{AllowUnencrypted="true"}
winrm set winrm/config/service/auth @{Basic="true"}
sc config WinRM start= auto
尝试禁用(或设置为允许Chef等)Windows防火墙。 如果您将此作为Vagrant机器运行,则还必须在VBox上安装Guest Additions,禁用UAC。
Chef必须具有创建/删除/更新对象的权限 - 如果未授予它们,它将失败。我找到了here信息,您可以尝试在Windows中禁用UAC和/或更改用户帐户策略。
答案 1 :(得分:0)
这属于评论,但我没有这种能力,请原谅我。
您的powershell政策是否可能过于紧缩,以至于厨师无法运营?尝试手动打开PowerShell作为管理员并输入
Get-ExecutionPolicy
Chef和Chocolatey都使用powershell在Windows机器上运行他们的魔力。另外,在Chef 12.4.0及更高版本中,预计你安装了PowerShell v5,如果你使用的是powershell 4或更早版本,我会对使用x86 powershell而不是x64感到有些奇怪。您可以通过将以下内容添加到引导程序命令
来尝试锁定到Chef-client版本12.3.0--bootstrap-version 12.3.0
我希望其中一些至少有帮助。如果执行策略是问题,您可以使用
将其设置为限制较少的级别--Set-ExecutionPolicy