user { 'acc1':
ensure => present,
managehome => true,
password => 'Test123',
groups => ['Administrators'],
auth_membership => 'minimum',
notify => Exec['app config']
}
exec { 'app config':
path => 'c:\\program files (x86)\\app\\bin',
command => 'config.bat -f responsefile.rsp',
refreshonly => true
}
用户即被创建,但我需要使用本地帐户进行应用配置。
上述puppet脚本由域帐户abc\myname
执行,应用程序需要使用本地帐户进行配置。
所以我通过puppet创建了一个本地帐户,并使用notify告诉exec使用puppet创建的帐户。但是当它被执行时,应用程序会抛出错误:need a local account or administrator
在日志中,错误为myname is not a local account or administrator
。
我发现exec
未使用puppet创建的本地用户acc1
。
还有其他方法,我可以指示exec
使用特定的本地用户帐户进行配置。
请告知。
答案 0 :(得分:2)
在exec资源中指定user => 'acc1'
:Resource Type Reference: exec: user。
所以我通过puppet创建了一个本地帐户,并使用notify告诉exec使用puppet创建的帐户。
notify
是订购和刷新机制 - 当资源A通知资源B时,除了对资源B的更新之外,它们之间不会传递任何信息是必须的。它没有指定资源B 使用资源A,它不会从资源A继承任何属性。