1

いくつかの Windows サーバーをプロビジョニングするために、Chef の 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誰が共有にアクセスするかを伝えることができるように、ユーザー名/パスワードを提供することは可能ですか? Credentials Manager を使用して資格情報を保存しようとしましたが、うまくいきません。

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 に答える