Показать полную графическую версию : [решено] Блокировка пользователей AD
Windows server 2003
Active Directory
Есть много-много пользователей. Некоторая часть уже не работает, но отследить очень сложно.
Знаю, что можно включить блокировку пользователей, если их учётка не использовалась некоторое время, к примеру 2 недели.
Но вот не знаю, где это настроить. Прошу помощи. Спасибо.
DarkMaximus
15-07-2008, 15:10
Там есть такое как срок действия учётной записи... выставь срок какой тебе нужен... и всё )
выставь срок какой тебе нужен »
срок меня не устраивает. Т.к. те, кто всё ещё будут работать, мне придётся постоянно их продлевать. А пользователей очень много...
Делаем сохраненный запрос
Потом время от времени заходим, смотрим кто не логинился больше 2 месяцев относительно текущей даты, выделяем всех (Ctrl-A) и блокируем
http://i059.radikal.ru/0807/1c/3e6420d2e110t.jpg (http://i059.radikal.ru/0807/1c/3e6420d2e110.jpg) http://i075.radikal.ru/0807/64/f8c5d2740ccbt.jpg (http://i075.radikal.ru/0807/64/f8c5d2740ccb.jpg) http://i019.radikal.ru/0807/15/137ccdee31c2t.jpg (http://i019.radikal.ru/0807/15/137ccdee31c2.jpg)
Делаем сохраненный запрос »
а автоматического нет?
Делаем сохраненный запрос »
http://exonix.ru/ups.jpg
что? у меня домен не в том фунциональном режиме ???
что? у меня домен не в том фунциональном режиме ??? »
а какой у Вас режим?
у меня домен работает в режиме "Windows Server 2003"
если у Вас нет контроллеров домена под управлением NT4 и Windows2000 - поднимайте уровень домена
http://i030.radikal.ru/0807/2f/722dd4d82ea8t.jpg (http://i030.radikal.ru/0807/2f/722dd4d82ea8.jpg)
Блин, я читал про режимы, но не могу вспомнить, что это нам даст, 2003 режим и чего лешит ? (ну кроме запросов...)
после смены режима перезагрузка потребуется?
не могу вспомнить, что это нам даст, 2003 режим »
http://www.petri.co.il/understanding_function_levels_in_windows_2003_ad.htm
Читайте, там интересно..
после смены режима перезагрузка потребуется »
насколько я помню - нет
насколько я помню - нет »
для этого есть виртуальные машины ;) вы правильно помните... :clapping:
и всё равно не получается... вот что пишет:
The query is valid but will not be shown here because it contains values that must be computed when the query is run.
Т.е. говорят, что запрос должен быть запущен. А я что делаю, когда его генерю?
Delirium
16-07-2008, 04:14
Чет вы придумываете велосипед. У меня давно есть сохраненный запрос с логоном более 180 дней назад.
exo, вообще то говорится, что запрос корректный, но не покажется, т.к. содержит значения, вычисляемые при запуске запроса. Нужно просто создать новый запрос - common queries - указать время с последнего входа из списка (до 180 дней), задать имя и описание запроса. Нажать ОК и посмотреть.
The query is valid but will not be shown here because it contains values that must be computed when the query is run. »
это оно говорит в окне query - то, что не сможет показать LDAP запрос
все равно сохраняем и наслаждаемся результатами
Чет вы придумываете велосипед »
прочитайте внимательно весь топик с самого начала и не повторяйте то, что до Вас уже написано
Delirium
16-07-2008, 09:37
HLT, прочитал :) Сознаю свою вину, меру, степень, глубину :)
все равно сохраняем и наслаждаемся результатами »
вот результаты:
http://exonix.ru/ups-2.jpg
вот результаты: »Вот что у меня:
http://i076.radikal.ru/0807/1e/c237257c078bt.jpg (http://i076.radikal.ru/0807/1e/c237257c078b.jpg)
Сохранение last logon timestamp'a сделано только в режиме "Windows Server 2003"
Режим работы домена был другой? Перестроили в "Windows Server 2003" ? Соответственно, ДО изменения режима работы домена AD не имела информации о last logon'e
В момент изменения режима работы домена прописалось некое нулевое значение.
Соответственно, если брать то, что у Вас на скриншоте - через 180 дней начнут показываться пользователи, которые после смены режима работы домена хотя бы один раз залогинились, а потом не логинились.
Те, которые ни разу не логинились ПОСЛЕ изменения режима работы домена - так и будут сидеть с нулевым значением, и в query отображаться не будут.
хотя, давно работая с продуктами microsoft, могу предположить, что в момент изменения режима работы домена, в качестве last logon timestamp'a прописались текущие дата/время.
Проверите через 180 дней - расскажете ))
Проверите через 180 дней - расскажете )) »
До перехода на 2003 режим, была фишка Ласт Логон.
Я так понял, что у меня не отображается потому, что нет таких учёток! :) т.е. нечему отображаться.
нет таких учёток »
гы)
а если период в запросе поменьше задать? )
период в запросе »
меньше 30 нет... :( и таких тоже учёток оказывается нет...
но это всё запросы. хотелось бы, чтобы учётка сама блокировалась если ей не пользовались 14 дней.
хотелось бы, чтобы учётка сама блокировалась если ей не пользовались 14 дней. »
копипаст с sysadmins.ru.
думаю, нетрудно будет вместо вывода списка в лог, сделать блокировку нужных аккаунтов
//~~Author~~. Paul stuart
//~~Email_Address~~. Paul.Stuart@schroders.com
//~~Script_Type~~. Jscript
//~~Sub_Type~~. DomainAdministration
//~~Keywords~~. ADSI, last login date, domain, login
//~~Comment~~.
//Create a report showing users who haven't logged in to the Domain for X days or more.
//Requires ADSI 2.5 and Jscript version 5. The results are sent to LOGFILE.TXT
//~~Script~~.
var sDomain = ""; // enter your domain here.
var iCutOffDays = 0; // last login cut-off in days.
var TRUE = 1;
var ForReading = 1;
var ForWriting = 2;
var DAYMSECS = 86400000; // number of milliseconds in a day
var DomObj, CollObj, sSubDir;
var iNumUsers = 0;
var CutOff;
var WSHShell = new ActiveXObject("WScript.Shell");
var fs = new ActiveXObject("Scripting.FileSystemObject");
WSHShell.Popup("Starting Last Log Report " );
CutOff = new Date();
CutOff.setTime( CutOff.valueOf() - iCutOffDays*DAYMSECS );
DomObj = GetObject("WinNT://" + sDomain );
CollObj = new Enumerator(DomObj);
for ( ; !CollObj.atEnd(); CollObj.moveNext())
{
var Obj = CollObj.item();
if ( Obj.Class == "User" )
{
iNumUsers++;
try
{
if ( Obj.LastLogin < CutOff.valueOf() )
WriteLOG( Obj.name + " " + Obj.LastLogin );
}
catch( ErrorObj )
{
WriteLOG( Obj.name + " has never logged in" );
}
}
}
WriteLOG("Total number of users is " + iNumUsers );
WSHShell.Popup("Finished");
WScript.Quit();
//////////////////////////////////////////////////////////////////////////////////
// WriteLOG
//
var LogFile = new Object();
function WriteLOG( sLogLine )
{
var d = new Date();
if ( LogFile == null )
{
LogFile = fs.OpenTextFile( ".\\Logfile.txt" , ForWriting, TRUE );
LogFile.WriteLine( sLogLine );
}
else
{
LogFile.WriteLine( sLogLine );
}
}
Delirium
17-07-2008, 01:15
exo, а чем плох скрипт? В планировщик его и раз в сутки в полночь, к примеру, выполнять. Утром пришел - кто не нужен, отключен.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.