puppet将用户添加到本地Windows组

时间:2015-02-10 15:41:15

标签: windows puppet

几个星期以来,我一直在与傀儡斗争。我确实有它工作,但我一直有问题将用户添加到内置组“管理员”。

我可以将用户添加到该组,但无法删除。这是本地用户,没有域控制器

这是我的清单:

#Adding user to administrators-group;
class developers {
    user {'user_erik':
        name            => 'Erik.dev',
        ensure          => present,
        comment         => 'Developer',
        groups          => ['Administrators],
        membership      => inclusive,
        password        => 'blaat123',
    }
}
#removing (not working);
class developers {
    user {'user_erik':
        name            => 'Erik.dev',
        ensure          => present,
        comment         => 'Developer',
        groups          => [],
        membership      => inclusive,
        password        => 'blaat123',
    }
}

# another way to set this up;
class developers {
  user {'user_erik':
        name            => 'Eric.dev',
        ensure          => present,
        comment         => 'Developer',
        groups          => [],
        membership      => inclusive,
        password        => 'blaat123',
    }
  group{'admin':
        name            => 'Administrators',
        ensure          => present,
        members         => ['Erik.dev'],
    }
}

得到错误: 错误: OLE错误代码:Active Directory中的8007055B “无法在内置帐户上执行此操作”

在UNIX中我没有任何问题,但是Windows几乎要杀了我,我在网上找不到答案。

希望有人让它发挥作用。

感谢 戴夫

1 个答案:

答案 0 :(得分:1)

我将假设这是一个复制意大利面错误:

user {'user_erik':
    name            => 'Erik.dev',
    ensure          => present,
    comment         => 'Developer',
    groups          => ['Administrators],
    membership      => inclusive,
    password        => 'blaat123',
}

注意组缺少撇号。 groups => ['Administrators]应为groups => ['Administrators']

我们来看看删除:

user {'user_erik':
    name            => 'Erik.dev',
    ensure          => present,
    comment         => 'Developer',
    groups          => [],
    membership      => inclusive,
    password        => 'blaat123',
}

我认为您遇到了PUP-3653的衍生产品,您试图从所有组中删除用户。我会把用户放在至少一个组(也许是'Users'?)。

小组成员

使用组,您必须指定完整的成员列表。在小于Puppet 4.0.0中忽略Group auth_membership => minimum。有关详细信息,请参阅PUP-2628PUP-3719

错误

  

错误:Active Directory中的OLE错误代码:8007055B“无法执行   这个操作在内置帐户“

很可能与:

有关
group{'admin':
    name            => 'Administrators',
    ensure          => present,
    members         => ['Erik.dev'],
}

现在您需要指定完整列表,并且无法从Administrators组中删除内置帐户。因为这不是完整的列表,Puppet正试图从列表中删除LocalSystem并遇到问题,产生上面看到的错误。

在Puppet 4.x中你可以像上面那样指定它,或者你可以像这样指定它:

group{'admin':
    name            => 'Administrators',
    ensure          => present,
    members         => ['Erik.dev'],
    auth_membership => false,
}