首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Chef: windows_batch:如何将Windows管理员密码从Chef工作站传递到Chef节点

Chef: windows_batch:如何将Windows管理员密码从Chef工作站传递到Chef节点
EN

Stack Overflow用户
提问于 2013-07-19 06:24:53
回答 1查看 1.6K关注 0票数 2

我正在使用Chef在亚马逊EC2上启动Windows (2008r2 Datacenter Edition)。在这个场景中,我运行一个脚本。

代码语言:javascript
复制
railsdev@deb7> knife ec2 server create -VV -I ami-xxxxxxx --flavor=m1.medium --groups=windows_target --region=us-east-1 --ssh-key=deployme --identity-file=/home/railsdev/Development/me-chef-repo/.chef/deployme.pem --bootstrap-protocol winrm --template-file=/home/railsdev/Development/me-chef-repo/windows-chef-client-msi.erb --user-data=/home/railsdev/Development/me-chef-repo/enable-winrm.ps1 --run-list 'role[me-win]' --node-name=jgodse-xx-65

这个脚本成功地启动了一个EC2节点并运行了我的配方。

我想运行的其中一个厨师食谱使用windows_batch资源,如下所示:

代码语言:javascript
复制
windows_batch "start_me" do
   cwd "C:/me"
   code 'C:\Ruby193\ruby.exe C:\me\start_me.rb'    
end

'start_me.rb‘启动以“本地系统帐户”用户身份运行的Windows服务。但是,我需要以管理员身份运行该服务,因此我需要向脚本传递管理员密码。

我设想新的windows_batch会是这样的:

代码语言:javascript
复制
windows_batch "start_me" do
   cwd "C:/me"
   code 'C:\Ruby193\ruby.exe C:\me\start_me.rb pass=' + passwd    
end

我知道windows密码存在于Chef workstation端的名为Chef::Config:knife的刀变量中。但是,当我使用此资源转储Chef::Config时:

代码语言:javascript
复制
windows_batch "Chef::Config[:knife]" do
  code <<-EOHH
  @ECHO OFF

  ECHO Chef::Config[:knife] = #{Chef::Config[:knife].inspect} >> %SystemDrive%\plchef_config_knife_jgodse.txt
  EOHH
end

我在厨师节点上的plchef_config_knife_jgodse.txt中得到了一个很大的"{}“。也就是说,Chef::Config:knife数据没有从Chef工作站到达Chef节点。

我如何才能获得存储在服务器上Chef::Config:knife中的Windows管理员密码,以供在我的一个厨师食谱中的Chef节点上运行的windows_batch(){}提供程序使用?

EN

回答 1

Stack Overflow用户

发布于 2014-06-12 13:18:37

你不能完全按照你的要求去做。管理员工具的配置设置,刀,不会以任何方式发送到服务器。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17735029

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档