1

我正在使用 Chef 的 windows 食谱来配置一些 windows 服务器。这是食谱:

# Windows SDK for Windows 7 and .NET 4 - .NET Tools v4
windows_package "Windows SDK for Windows 7 and .NET 4 - .NET Tools v4" do
    source "\\\\MyServer\\MyDrive\\chef\\WinSDKNetFx40Tools_amd64\\WinSDK_nfx40tools_amd64.msi"
    installer_type :msi
    action :install
end

问题是我在尝试访问该 UNC 路径时遇到了权限错误。是否可以提供用户名/密码,windows_package以便我可以告诉它以谁的身份访问共享?我尝试通过凭据管理器存储凭据,但这不起作用。

4

1 回答 1

0

Windows 不允许将凭据直接包含在 UNC 路径中。因此,在通过 UNC 路径访问文件时,似乎没有 Chef 支持进行身份验证。

Chef 的mount资源支持挂载远程路径。它允许在 Windows 上传递用户名和密码。因此,您可以在windows_package调用之前挂载 UNC 路径,然后引用挂载的驱动器路径而不是 UNC 路径。

未经测试的例子:

mount "Z:" do
  action :mount
  device "\\\\MyServer\\MyDrive\\chef\\WinSDKNetFx40Tools_amd64\\"
  username "whoever"
  password "whatever"
end

windows_package "Windows SDK for Windows 7 and .NET 4 - .NET Tools v4" do
    source "Z:\\WinSDK_nfx40tools_amd64.msi"
    installer_type :msi
    action :install
end

挂载资源文档: http ://docs.opscode.com/resource_mount.html

挂载资源来源: https ://github.com/opscode/chef/blob/807891d08dc5c436da237ec8a09639cea87a04fa/lib/chef/provider/mount/windows.rb#L60

于 2014-01-03T17:56:19.570 回答