LookupAccountSid, нет сопоставления между именами учетных записей и идентификаторами безопасности - PullRequest
0 голосов
/ 17 июня 2020

Попытка выполнить сканирование выбранного источника при получении информации о каждом отдельном файле (размер, время, владелец) Владелец файла - это то место, где код работает на некоторых жестких дисках, но не на других жестких дисках.

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])

в одной папке root, он будет работать отлично, и вывод будет выглядеть как

['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.')

Их нет в реестре или где-либо еще, что мне удалось найти неизвестного пользователя

Любая помощь приветствуется

1 Ответ

0 голосов
/ 18 июня 2020
(1332, 'LookupAccountSid', 'No mapping between account names and security IDs was done.')

Если функция LookupAccountSid не может найти имя учетной записи для SID, GetLastError возвращает ERROR_NONE_MAPPED.

Эта ошибка может возникнуть в следующих случаях: ситуации:

  • Тайм-аут сети не позволяет функции найти имя.
  • SID, у которых нет соответствующего имени учетной записи, например SID входа, который идентифицирует сеанс входа.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...