Есть ли решение для замены учетной записи Unknown (s-1-5-21-*) Sid с существующим SID

у меня есть типичная "неизвестная учетная запись" на многих файлах из старых / других установок Windows, и повсюду есть тонна типичных ответов.


Впрочем, я не ищу типичного takeown,subinacl,xcacls или решение GUI.
Я хочу изменить эти неизвестные Сидс известных местных Sid, но поддерживать видах разрешения и наследования.

до сих пор единственное, что близко к тому, что я ищу, это сценарий PowerShell:http://poshcode.org/2081 которое позволяет удаление неизвестных идентификаторов безопасности в общих сетевых ресурсах. Он содержит основную логику для поиска неизвестных Sid, но я еще не нашел способ заменить SID в FileSystemAccessRule объект, но я не так хорошо владею PowerShell или .NET.


Если я не ошибаюсь, в этой статье на MS TechNet предлагает строительство FileSystemAccessRule и это может быть достигнуто.

кто-нибудь знает, есть ли лучшее решение для этого?
Возможно, для этого существует приложение, средство командной строки или командлет работу?

28
задан AndyDeGroo
15.02.2023 23:25 Количество просмотров материала 3666
Распечатать страницу

1 ответ

в Powershell с помощью Get-Acl и Set-Acl изменения ACL, манипулируя строку sddl.

сначала получить объект ACL.

$acl = Get-Acl -Path C:\YourFile.txt

теперь получаем строку SDDL:

$sddl = $acl.sddl

теперь вы можете заменить SID в строке на то, что вы хотите. Для обновления частичных совпадений используется регулярное выражение.

$sddl2 = $sddl -replace "S-1-5-21-[0-9-]+", "ExistingSIDHere"

затем обновите объект ACL:

$acl.SetSecurityDescriptorSddlForm($sddl2)

затем установите ACL объекта:

Set-Acl -AclObject $acl -Path C:\YourFile.txt
2
отвечен Andy Arismendi 2023-02-17 07:13

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх