LookupAccountSid,帐户名和安全 ID 之间没有映射

LookupAccountSid, No mapping between account names and security ID's

尝试对选定的源进行扫描,同时获取每个文件的信息(大小、时间、所有者)文件的所有者是代码在某些硬盘驱动器而不是其他硬盘驱动器上运行的位置。

df_path 在代码中更高,但包含所有被测试路径的列表

df_values = []
for path in df_path:
    values = []
    #owner = pwd.getpwuid(os.stat(path).st_uid)
    size = os.stat(path).st_size
    access = os.stat(path).st_atime
    modification = os.stat(path).st_mtime
    created = os.stat(path).st_ctime
    sd = win32security.GetFileSecurity(path, win32security.OWNER_SECURITY_INFORMATION)
    owner_sid = sd.GetSecurityDescriptorOwner()
    name, domain, type = win32security.LookupAccountSid(None, owner_sid)
    owner = name
    values = [path, owner, size, access, modification, created]
    df_values.append(values)
print(df_values)
print(df_values[0])

在一个根文件夹上它会完美地工作并且输出看起来像

['E:/Sams Phone\DCIM\Camera\20180920_224234.jpg', 'Brandon', 3385818, 1576223423.6219194, 1537504954.0, 1576223423.5281403]

Process finished with exit code 0

但后来我又回来了

Traceback (most recent call last):
  File "C:/Users/Python/Projects/filescanner/treeScanner.py", line 53, in <module>
    name, domain, type = win32security.LookupAccountSid(None, owner_sid)
pywintypes.error: (1332, 'LookupAccountSid', 'No mapping between account names and security IDs was done.')

他们在注册区或我能找到的任何其他地方都没有未知用户

非常感谢任何帮助

(1332, 'LookupAccountSid', 'No mapping between account names and security IDs was done.')

如果函数 LookupAccountSid 找不到 SIDGetLastError returns ERROR_NONE_MAPPED.

的帐户名称

在以下情况下可能会出现此错误:

  • 网络超时导致函数无法找到名称。
  • 没有相应帐户名的 SID,例如标识登录会话的登录 SID。