> it's possible, but not slick. If you wanted to follow their > line and use WMI to access the registry, you could additionally > use the WMI Win32_UserAccount class to work out the SID you need. > For example, to find my profile on this machine, the following > seems to work: > > (uses the wmi module from http://timgolden.me.uk/python/wmi.html) > > <code> > import _winreg > import win32api > import wmi > > # > # Use the current username in DOM\USER format > # > USERNAME = win32api.GetUserNameEx (2) > ## USERNAME = "GOYLE\\tim" > > HKLM = 0x80000002 > profiles_key = r"SOFTWARE\Microsoft\Windows > NT\CurrentVersion\ProfileList" > > c = wmi.WMI (find_classes=False) > for account in c.Win32_UserAccount (Caption=USERNAME): > sid = account.SID > break > else: > raise Exception, "User %s not found" % USERNAME
FYI, note that getting a SID is as simple as: >>> import win32security >>> user_sid = win32security.LookupAccountName(None, "Administrator")[0] >>> str(user_sid) 'PySID:S-1-5-21-...' >>> (I'm not currently logged in as Administrator) Cheers, Mark _______________________________________________ python-win32 mailing list python-win32@python.org http://mail.python.org/mailman/listinfo/python-win32