[](attribute)
click to toggle source
def [](attribute)
native_user.Get(attribute)
end
[]=(attribute, value)
click to toggle source
def []=(attribute, value)
native_user.Put(attribute, value)
end
add_flag(flag_name, value)
click to toggle source
def add_flag(flag_name, value)
flag = native_user.Get(flag_name) rescue 0
native_user.Put(flag_name, flag | value)
commit
end
add_to_group(*group_names)
add_to_groups(*group_names)
click to toggle source
def add_to_groups(*group_names)
group_names.each do |group_name|
Puppet::Util::ADSI::Group.new(group_name).add_member(@name)
end
end
commit()
click to toggle source
def commit
begin
native_user.SetInfo unless native_user.nil?
rescue Exception => e
raise Puppet::Error.new( "User update failed: #{e}" )
end
self
end
groups()
click to toggle source
def groups
groups = []
native_user.Groups.each {|g| groups << g.Name} rescue nil
groups
end
password=(password)
click to toggle source
def password=(password)
native_user.SetPassword(password)
commit
fADS_UF_DONT_EXPIRE_PASSWD = 0x10000
add_flag("UserFlags", fADS_UF_DONT_EXPIRE_PASSWD)
end
password_is?(password)
click to toggle source
def password_is?(password)
self.class.logon(name, password)
end
remove_from_group(*group_names)
remove_from_groups(*group_names)
click to toggle source
def remove_from_groups(*group_names)
group_names.each do |group_name|
Puppet::Util::ADSI::Group.new(group_name).remove_member(@name)
end
end
set_groups(desired_groups, minimum = true)
click to toggle source
def set_groups(desired_groups, minimum = true)
return if desired_groups.nil? or desired_groups.empty?
desired_groups = desired_groups.split(',').map(&:strip)
current_groups = self.groups
groups_to_add = desired_groups - current_groups
add_to_groups(*groups_to_add)
groups_to_remove = current_groups - desired_groups
remove_from_groups(*groups_to_remove) unless minimum
end
uri()
click to toggle source
def uri
self.class.uri(name)
end