Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Microsoft Windows NT/2000/2003 (http://forum.oszone.net/forumdisplay.php?f=5)
-   -   [решено] Блокировка пользователей AD (http://forum.oszone.net/showthread.php?t=111508)

exo 15-07-2008 15:08 852075

Блокировка пользователей AD
 
Windows server 2003
Active Directory
Есть много-много пользователей. Некоторая часть уже не работает, но отследить очень сложно.
Знаю, что можно включить блокировку пользователей, если их учётка не использовалась некоторое время, к примеру 2 недели.
Но вот не знаю, где это настроить. Прошу помощи. Спасибо.

DarkMaximus 15-07-2008 15:10 852076

Там есть такое как срок действия учётной записи... выставь срок какой тебе нужен... и всё )

exo 15-07-2008 15:14 852084

Цитата:

Цитата DarkMaximus
выставь срок какой тебе нужен »

срок меня не устраивает. Т.к. те, кто всё ещё будут работать, мне придётся постоянно их продлевать. А пользователей очень много...

HLT 15-07-2008 15:29 852101

Делаем сохраненный запрос
Потом время от времени заходим, смотрим кто не логинился больше 2 месяцев относительно текущей даты, выделяем всех (Ctrl-A) и блокируем



exo 15-07-2008 15:40 852114

Цитата:

Цитата HLT
Делаем сохраненный запрос »

а автоматического нет?

Цитата:

Цитата HLT
Делаем сохраненный запрос »


что? у меня домен не в том фунциональном режиме ???

HLT 15-07-2008 16:03 852133

Цитата:

Цитата exo
что? у меня домен не в том фунциональном режиме ??? »

а какой у Вас режим?
у меня домен работает в режиме "Windows Server 2003"
если у Вас нет контроллеров домена под управлением NT4 и Windows2000 - поднимайте уровень домена


exo 15-07-2008 16:19 852143

Блин, я читал про режимы, но не могу вспомнить, что это нам даст, 2003 режим и чего лешит ? (ну кроме запросов...)
после смены режима перезагрузка потребуется?

HLT 15-07-2008 16:25 852147

Цитата:

Цитата exo
не могу вспомнить, что это нам даст, 2003 режим »

http://www.petri.co.il/understanding...ws_2003_ad.htm
Читайте, там интересно..

Цитата:

Цитата exo
после смены режима перезагрузка потребуется »

насколько я помню - нет

exo 15-07-2008 16:48 852169

Цитата:

Цитата HLT
насколько я помню - нет »

для этого есть виртуальные машины ;) вы правильно помните... :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 852663

Чет вы придумываете велосипед. У меня давно есть сохраненный запрос с логоном более 180 дней назад.
exo, вообще то говорится, что запрос корректный, но не покажется, т.к. содержит значения, вычисляемые при запуске запроса. Нужно просто создать новый запрос - common queries - указать время с последнего входа из списка (до 180 дней), задать имя и описание запроса. Нажать ОК и посмотреть.

HLT 16-07-2008 09:31 852774

Цитата:

Цитата exo
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
Чет вы придумываете велосипед »

прочитайте внимательно весь топик с самого начала и не повторяйте то, что до Вас уже написано

Delirium 16-07-2008 09:37 852783

HLT, прочитал :) Сознаю свою вину, меру, степень, глубину :)

exo 16-07-2008 12:58 852974

Цитата:

Цитата HLT
все равно сохраняем и наслаждаемся результатами »

вот результаты:


HLT 16-07-2008 14:04 853080

Цитата:

Цитата exo
вот результаты: »

Вот что у меня:


Сохранение last logon timestamp'a сделано только в режиме "Windows Server 2003"
Режим работы домена был другой? Перестроили в "Windows Server 2003" ? Соответственно, ДО изменения режима работы домена AD не имела информации о last logon'e
В момент изменения режима работы домена прописалось некое нулевое значение.
Соответственно, если брать то, что у Вас на скриншоте - через 180 дней начнут показываться пользователи, которые после смены режима работы домена хотя бы один раз залогинились, а потом не логинились.
Те, которые ни разу не логинились ПОСЛЕ изменения режима работы домена - так и будут сидеть с нулевым значением, и в query отображаться не будут.

хотя, давно работая с продуктами microsoft, могу предположить, что в момент изменения режима работы домена, в качестве last logon timestamp'a прописались текущие дата/время.
Проверите через 180 дней - расскажете ))

exo 16-07-2008 14:47 853123

Цитата:

Цитата HLT
Проверите через 180 дней - расскажете )) »

До перехода на 2003 режим, была фишка Ласт Логон.
Я так понял, что у меня не отображается потому, что нет таких учёток! :) т.е. нечему отображаться.

HLT 16-07-2008 15:08 853139

Цитата:

Цитата exo
нет таких учёток »

гы)
а если период в запросе поменьше задать? )

exo 16-07-2008 15:33 853157

Цитата:

Цитата HLT
период в запросе »

меньше 30 нет... :( и таких тоже учёток оказывается нет...
но это всё запросы. хотелось бы, чтобы учётка сама блокировалась если ей не пользовались 14 дней.

HLT 16-07-2008 16:36 853237

Цитата:

Цитата exo
хотелось бы, чтобы учётка сама блокировалась если ей не пользовались 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 );
}
}


exo 16-07-2008 18:17 853333

HLT, это скрипт? :(

Delirium 17-07-2008 01:15 853672

exo, а чем плох скрипт? В планировщик его и раз в сутки в полночь, к примеру, выполнять. Утром пришел - кто не нужен, отключен.

exo 02-10-2008 12:37 914072

Цитата:

Цитата Delirium
а чем плох скрипт? »

я его не понимаю, не дорос ещё видимо до скриптов.
Вопрос: у меня в АДу много-много учётных записей компьютеров.
Запрос на компьютеры не позволяет узнать когда они были в сети последний раз.
Как мне очистить АД от компьютеров, которые не авторизовывались в АДу больше 6 месяцев?
только без скрипта, пожалуйста...

monkkey 02-10-2008 14:39 914174

dsquery computer -inactive 6 -uc | dsrm -uc -noprompt

exo 02-10-2008 15:35 914217

Код:

X:\>dsquery computer -inactive 6 -uc | dsrm -uc -noprompt
dsrm успешно:CN=SECURITY7,CN=Computers,DC=domain,DC=local

типа один комп ?

Delirium 03-10-2008 01:08 914677

Да. Запуск на моем контроллере показал следующее:
Код:

C:\Documents and Settings\Del>dsquery computer -inactive 6 -uc | dsrm
-uc -noprompt
dsrm succeeded:CN=TRAINING4,CN=Computers,DC=KTS,DC=local
dsrm succeeded:CN=KABANOVSKAYA,CN=Computers,DC=KTS,DC=local
dsrm succeeded:CN=SERGEEVA1,CN=Computers,DC=KTS,DC=local
dsrm succeeded:CN=GUTAREVA2,CN=Computers,DC=KTS,DC=local
dsrm succeeded:CN=CHERNOVA2,CN=Computers,DC=KTS,DC=local
dsrm succeeded:CN=BOSS999,CN=Computers,DC=KTS,DC=local
dsrm succeeded:CN=STENJUSHKINA,CN=Computers,DC=KTS,DC=local
dsrm succeeded:CN=TEST,CN=Computers,DC=KTS,DC=local
dsrm succeeded:CN=LINNIK,CN=Computers,DC=KTS,DC=local
dsrm succeeded:CN=ARS,CN=Computers,DC=KTS,DC=local
dsrm succeeded:CN=DERJABIN,CN=Computers,DC=KTS,DC=local
dsrm succeeded:CN=TRAINING1,CN=Computers,DC=KTS,DC=local
dsrm succeeded:CN=STUDY1,CN=Computers,DC=KTS,DC=local
dsrm succeeded:CN=STUDY2,CN=Computers,DC=KTS,DC=local
dsrm succeeded:CN=STUDY5,CN=Computers,DC=KTS,DC=local

monkkey, что то у меня подозрения, что не 6 месяцев он показывает. машину под именем TRAINING4 я устанавливал месяца 4 назад, она никак не могла не ипользоваться 6 месяцев...
P.S. Нифига се сколько у меня левых машин... надо почистить :)

monkkey 03-10-2008 11:31 914887

Пардон, 6 - количество недель )))
Вообще-то
dsquery computer /?

exo 03-10-2008 11:36 914891

monkkey, погоди...
Цитата:

Цитата monkkey
dsquery computer -inactive 6 -uc | dsrm -uc -noprompt »

dsquery computer -inactive 6 -uc - это вывод списка компов,
dsrm -uc -noprompt - а это удаление ?
т.е. я сейчас вместо 6 1 поставил и удалил все компы недельной давности???
правда мне ругнулось ошибкой:
X:\>dsquery computer -inactive 1 -uc | dsrm -uc -noprompt
dsrm failed:CN=JON,OU=Domain Controllers,DC=domain,DC=local:The DSA object cannot be deleted.
type dsrm /? for help.
а запрос вывел 24 компа, но среди инактивных были и активные, которые вчера\сегодня работают


Время: 00:24.

Время: 00:24.
© OSzone.net 2001-