Я не знаю какой-либо специальной библиотеки Python только для чтения групповой политики, но она вам не обязательно нужна. Это можно сделать с помощью LDAP и чтения общей папки. Тем не менее, это немного сложно собрать все части вместе. Вот хороший пример: здесь .
Эта ссылка дает пример поиска политики домена по умолчанию, но это можно сделать для любого подразделения.
- Используйте LDAP для чтения атрибута
gPLink
в узле root домена (например, LDAP://DC=example,DC=com
). Атрибут gPLink
содержит один или несколько путей LDAP к объектам политики. Формат этой строки описан здесь (начиная с "gpLink: ДОЛЖНА быть строка каталога ...") - Привязать к этому пути LDAP и прочитать
gPCFileSysPath
, который общий файловый ресурс. - Доступ к этому файловому ресурсу, в котором содержатся папки для всех параметров политики. В конце концов вы найдете INI или Inf файл, который содержит настройки. На этой странице, на которую я ссылался, приведен пример поиска политики паролей:
MACHINE\Microsoft\Windows NT\SecEdit\GptTmpl.inf
. - Повторите шаги 2 и 3 для каждого пути LDAP, найденного на шаге 1. Каждая политика в списке имеет приоритет над предыдущая (вторая политика может перезаписывать настройки из предыдущей).
Повторите шаги 1-3 для каждого подразделения до интересующего вас подразделения. Поэтому, если вы хотите знать политики, которые применить к OU=Users,OU=London,DC=example,DC=com
, вам нужно повторить это для:
DC=example,DC=com
OU=London,DC=example,DC=com
OU=Users,OU=London,DC=example,DC=com
В таком порядке.