![]() |
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]() ![]() ![]() |
|
racner |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 6.10.2009 Репутация: нет Всего: нет |
Здравствуйте! =)
Может кто-нибудь знает, или имеет предположение, как на Visual C++ узнать локальные политики пароля? Средствами Windows можно увидеть данные политики, если запустить: C:\Windows\System32\gpedit.msc. Там во вкладке Computer Configuration -> Windows Settings -> Security Settings -> Account Policies -> Password Policy можно увидеть интересующие меня значения, такие как maximum password length, Enforce password history и т.п. Но как узнать данные значения средствами Visual C++, подскажите, пожалуйста, хотя бы в каком направлении рыть инфу ) Это сообщение отредактировал(а) racner - 28.6.2010, 19:49 |
|||
|
||||
jonie |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 7 Всего: 118 |
-------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
racner |
|
||||
![]() Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 6.10.2009 Репутация: нет Всего: нет |
Спасибо за ссылку. =) К сожалению, это не совсем то, что мне нужно. Возможно с помощью этих ключей в реестре можно создать какие-то дополнительные политики паролей в локальной системе. Но у меня задача стоит другая: узнать политики пароля в домене. Для моего решения подошла функция: NetValidatePasswordPolicyFree Вот привожу рабочий пример тестовой программки, которуюю сделал у себя:
В системе, в которой я её компилирую она работает хорошо (windows7). Ввожу имя контроллера домена и пароль, програма отвечает все как надо. Однако, если эту программку запусить на другой системе (windows XP) возникает ошибка: The procedure entry point NetValidatePasswordPolicy coluld not be localed in the dynamic link library NETAPI32.dll. В самой системе есть данная библиотека, но более ранней версии. Тупо заменить старый файл NetApi32.dll - нельзя, система не позволяет. Подскажите пожалуйста, как с этим бороться? Это сообщение отредактировал(а) racner - 30.6.2010, 10:54 |
||||
|
|||||
12usver12 |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 247 Регистрация: 5.1.2007 Репутация: 1 Всего: 1 |
делай на XP проверку наличия в экспорте данной функции
если отсуствует то носи с собой либу с екзешником и динамически бери оттуда |
|||
|
||||
xvr |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 40 Всего: 223 |
||||
|
||||
racner |
|
||||
![]() Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 6.10.2009 Репутация: нет Всего: нет |
Да, действительно, NetValidatePasswordPolicy не работает в Windows XP, т.к. библиотека WINAPI32.dll не экспортирует данную функцию, в отличие от более поздних версий dll-ки.
Зато нужные мне сведения показывает системная команда net accounts. Но как получить политики паролей программным путем? К счастью, мне удалось это сделать. Вот мой код на Visual Basic: (кто хочет проверить, достаточно скопировать в текстовый файл с расширением *.vbs и запустить)
Однако возникли пробемы при попытке перевести данный код на С++. Аналог функции в GetObject в плюсах : ADsGetObject. Может кто-то знает как перевести данный код на плюсы? =) Вот моя заготовочка:
Это сообщение отредактировал(а) racner - 3.7.2010, 18:02 |
||||
|
|||||
xvr |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 40 Всего: 223 |
||||
|
||||
racner |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 6.10.2009 Репутация: нет Всего: нет |
Всем спасибо за помощь.
Я решил для себя данный вопрос. Составил вот такую вот программку, авось кому-нибудь пригодится =) :
Данные политики пароля выводятся только в том случае, если машина состоит в домене. Данный код С++ является аналогом кода на VBS, который я приводил выше. Это сообщение отредактировал(а) racner - 4.7.2010, 21:40 |
|||
|
||||
xvr |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 40 Всего: 223 |
||||
|
||||
![]() ![]() ![]() |
Правила форума "C/C++: Системное программирование и WinAPI" | |
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |