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



587
588
589
590
591
592
593
594
595
596
597
# File 'lib/puppet/util/windows/adsi.rb', line 587

def self.delete(sid)
  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