Nano Hash - криптовалюты, майнинг, программирование

LookupAccountSid, нет сопоставления между именами учетных записей и идентификаторами безопасности

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

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

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

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

17.06.2020

  • Если жесткий диск взят с другого компьютера, SID не будет соответствовать учетной записи на вашем компьютере. Точно так же, если пользователь был удален, SID не будет сопоставляться ни с чем. 17.06.2020
  • Если LookupAccountSid не может найти имя учетной записи для SID, GetLastError возвращает ERROR_NONE_MAPPED. Это может произойти, если тайм-аут сети не позволяет функции найти имя. Это также происходит для SID, у которых нет соответствующего имени учетной записи, например SID для входа в систему, который идентифицирует сеанс входа в систему. 17.06.2020
  • Итак, с тех пор все отлично, поэтому в целом я поработаю над созданием блока try, чтобы попробовать его, а затем просто введите n/a, если он ничего не может найти, чтобы скрипт работал, несмотря ни на что. с учетом сказанного, и Джонатан Поттер, и РитаХан-MSFT были бы моим решением. я все еще новичок в стеке, есть ли способ пометить ваши комментарии как решение проблемы, чтобы я мог закрыть его правильно? 17.06.2020

Ответы:


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

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

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

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

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..