Это сложнее, так как этот параметр напрямую не хранится в Active Directory. Это часть групповой политики (учитывая, что она настроена в политике, а не на локальном компьютере), которая хранится в общем сетевом ресурсе и связана с Active Directory.
Для простого примера вы можете получить в это выглядит так:
- Считайте нужную OU и проверьте атрибут
gPLink
. Значение представляет собой список объектов групповой политики, связанных с выбранным подразделением в порядке убывания приоритета. Каждое из значений выглядит примерно так: [LDAP://CN={31B2F340-016D-11D2-945F-00C04FB984F9},CN=Policies,CN=System,DC=internal,DC=local;0]
. Первая часть - это местоположение GP, последняя часть кажется флагом (2 означает, что политика применяется). - Прочитайте объект (ы) политики и проверьте атрибут
gPCFileSysPath
. Это место, где хранятся параметры политики. Это будет что-то вроде \\internal.local\sysvol\internal.local\Policies\{31B2F340-016D-11D2-945F-00C04FB984F9}
. - Проверьте хранилище файлов из пункта 2. и найдите файл
MACHINE\Microsoft\Windows NT\SecEdit\GptTmpl.inf
. Это обычный файл inf / ini, изучите раздел [Registry Values]
, чтобы найти строку, которая гласит: MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\PasswordExpiryWarning=4,14
. 14
- это параметр политики (для запроса смены пароля за 14 дней до истечения срока действия).
Теперь все становится сложнее, чтобы получить реальный набор политик. Политики наследуются от родителей, что означает, что в пункте 1. вы должны проверять предполагаемую OU и все его родительские OU вместе с самим узлом домена, оценивать все gPLink
в соответствующем порядке, возможно, также принимая во внимание их фильтр WMI независимо от того, применяются ли они или нет, чтобы выяснить, какое значение действует.
Если ваше приложение работает на Windows, которое может быть помещено под одну и ту же групповую политику, может быть проще просто прочитайте информацию из реестра, так как она будет уже применена системой.
В любом случае, я хотел бы просто использовать некоторый период предупреждения об истечении срока действия по умолчанию, учитывая степень сложности, чтобы получить значение из AD ( при условии, что он вообще определен в групповой политике, а не только по умолчанию на компьютерах локально).