home *** CD-ROM | disk | FTP | other *** search
/ Maximum CD 2010 November / maximum-cd-2010-11.iso / DiscContents / calibre-0.7.13.msi / file_2474 (.txt) < prev    next >
Encoding:
Python Compiled Bytecode  |  2010-08-06  |  1.9 KB  |  47 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyc (Python 2.6)
  3.  
  4. import sys
  5. from win32net import NetUserModalsGet
  6. from win32security import LookupAccountSid
  7. import pywintypes
  8. from ntsecuritycon import *
  9.  
  10. def LookupAliasFromRid(TargetComputer, Rid):
  11.     sid = pywintypes.SID()
  12.     sid.Initialize(SECURITY_NT_AUTHORITY, 2)
  13.     for i, r in enumerate((SECURITY_BUILTIN_DOMAIN_RID, Rid)):
  14.         sid.SetSubAuthority(i, r)
  15.     
  16.     (name, domain, typ) = LookupAccountSid(TargetComputer, sid)
  17.     return name
  18.  
  19.  
  20. def LookupUserGroupFromRid(TargetComputer, Rid):
  21.     umi2 = NetUserModalsGet(TargetComputer, 2)
  22.     domain_sid = umi2['domain_id']
  23.     SubAuthorityCount = domain_sid.GetSubAuthorityCount()
  24.     sid = pywintypes.SID()
  25.     sid.Initialize(domain_sid.GetSidIdentifierAuthority(), SubAuthorityCount + 1)
  26.     for i in range(SubAuthorityCount):
  27.         sid.SetSubAuthority(i, domain_sid.GetSubAuthority(i))
  28.     
  29.     sid.SetSubAuthority(SubAuthorityCount, Rid)
  30.     (name, domain, typ) = LookupAccountSid(TargetComputer, sid)
  31.     return name
  32.  
  33.  
  34. def main():
  35.     if len(sys.argv) == 2:
  36.         targetComputer = sys.argv[1]
  37.     else:
  38.         targetComputer = None
  39.     name = LookupUserGroupFromRid(targetComputer, DOMAIN_USER_RID_ADMIN)
  40.     print "'Administrator' user name = %s" % (name,)
  41.     name = LookupAliasFromRid(targetComputer, DOMAIN_ALIAS_RID_ADMINS)
  42.     print "'Administrators' local group/alias name = %s" % (name,)
  43.  
  44. if __name__ == '__main__':
  45.     main()
  46.  
  47.