Chef Windows:创建Windows用户时创建主目录

时间:2015-01-10 06:42:17

标签: chef

我正在尝试以下代码来创建用户并自动创建主目录

user "username" do 
   supports :manage_home => true
   comment "ChefUser"
   home "C:\\Users\\username"
   password "somepassword"
   action :create
end

下面的代码也没有用。它给出了错误"Error: NoMethodError: undefined method each_char for #array:0x4434

user "username" do 
   supports :manage_home => true
   comment "ChefUser"
   home "C:\\Users\\username"
   password "somepassword"
   action :create
   provider Chef::Provider::User::Useradd
end

我在这里做错了什么。

2 个答案:

答案 0 :(得分:3)

那里听起来像是XY问题。

我怀疑您希望创建使用目录,以便为您的用户设置某些设置或文档。

在Windows中,实现此目的的实际方法是使用default userall users家庭目录。

All Users的内容将与工作站上的每个用户目录合并(即:All Users\Desktop中的快捷方式将位于每个用户桌面上,并且无法删除它,对于支持非常有用链接或所有用户共享的其他部分)

Default User的内容是用户主页模板,在用户的第一次连接时,将通过复制Default User目录中的内容(包括快捷方式)创建此用户主目录桌面,我的文档目录中的文档等。)

因此,对于您的案例,答案更多的是在Default UserAll Users路径上工作,而不是尝试创建和处理每个User Home目录。如果您希望为每个用户设置特定的脚本,请在脚本中使用%USERNAME%%USERPROFILE%来获取用户名及其配置文件。

答案 1 :(得分:2)

引用to documentation

  

使用Windows提供程序时,Microsoft Windows不会创建   用户的主目录,直到该用户第一次登录;   指定主目录对where在哪里没有任何影响   Microsoft Windows最终放置主目录。