def get_domain_sid(): policy_handle = win32security.GetPolicyHandle( '', win32security.POLICY_ALL_ACCESS) sid = win32security.LsaQueryInformationPolicy( policy_handle, win32security.PolicyDnsDomainInformation)[4] sid = str(sid).split(':')[1] win32security.LsaClose(policy_handle) return sid
import win32security policy_handle = win32security.GetPolicyHandle('', win32security.POLICY_ALL_ACCESS) privatedata = 'some sensitive data' keyname = 'tmp' win32security.LsaStorePrivateData(policy_handle, keyname, privatedata) retrieveddata = win32security.LsaRetrievePrivateData(policy_handle, keyname) assert retrieveddata == privatedata # passing None deletes key win32security.LsaStorePrivateData(policy_handle, keyname, None) win32security.LsaClose(policy_handle)
def GetLocalSecurityPolicyHandle(systemName, desiredAccess): # Context manager for GetPolicyHandle policyHandle = win32security.GetPolicyHandle(systemName, desiredAccess) yield policyHandle win32security.LsaClose(policyHandle)