1

我正在尝试为本地管理员组设置一个 Windows 域用户帐户,根据 puppet 文档是可能的。

user { 'DOMAIN\user':
    groups => ['Administrators'],
}

我尝试使用 SID 没有结果。我正在使用最新的 Puppet 2.7.19

err: /Stage[main]/Teamcity_base/User[S-1-5-21-1759977473-2015113658-625696398-26
038]/ensure: change from absent to present failed: User update failed: SetInfo
    OLE error code:8007089A in Active Directory
      The specified username is invalid.

    HRESULT error code:0x80020009
      Exception occurred.
4

1 回答 1

2

我当前的解决方法是使用“net localgroup”命令运行批处理文件的自定义模块:

net localgroup administrators domain\user /add

我的 init.pp 使用 subscribe 检测到批处理文件的更改:

class admin {
  $exe_name = "add_admin_users.bat"
  $location = "puppet:///modules/${module_name}/${exe_name}"
  $on_disk = 'C:\add_admin_users.bat'

  file { $on_disk:
    ensure => file,
    source => $location,
    mode   => '750',
  }

  exec { $on_disk:
    subscribe => File[$on_disk],
    refreshonly => true
  }

}

不理想,因为它不会在尝试添加之前检查用户是否存在,而是关闭。

于 2013-06-18T17:31:25.410 回答