Class: Puppet::Util::Windows::ADSI::UserProfile

Inherits:
Object
  • Object
show all
Defined in:
lib/puppet/util/windows.rb,
lib/puppet/util/windows/adsi.rb

Class Method Summary collapse

Class Method Details

.delete(sid) ⇒ Object



396
397
398
399
400
401
402
403
404
405
406
407
408
# File 'lib/puppet/util/windows/adsi.rb', line 396

def self.delete(sid)
  begin
    Puppet::Util::Windows::ADSI.wmi_connection.Delete("Win32_UserProfile.SID='#{sid}'")
  rescue WIN32OLERuntimeError => e
    # https://social.technet.microsoft.com/Forums/en/ITCG/thread/0f190051-ac96-4bf1-a47f-6b864bfacee5
    # Prior to Vista SP1, there's no built-in way to programmatically
    # delete user profiles (except for delprof.exe). So try to delete
    # but warn if we fail
    raise e unless e.message.include?('80041010')

    Puppet.warning _("Cannot delete user profile for '%{sid}' prior to Vista SP1") % { sid: sid }
  end
end