СкачатьСкрипты ⇒ Поиск неактивных пользователей в Active Directory

Поиск неактивных пользователей в Active Directory

Опубликовано: 17 дек 2011 в 15:22
Автор: Дмитриев Илья
Язык: HTA+JS
Размер: 4 Кб
Формат: zip
Скрипты скачать

Описание:

Для системного администратора, поиск неактивных пользователей является одной из наиболее приоритетных задач, особенно при большом количестве записей в базе данных. Данный скрипт значительно облегчит работу админа. Скрипт на HTA+JS выводит в файл список пользователей в домене Active Directory (AD), которые не логинились "X" дней.

Была еще поставлена задача на создание скрипта, который получал бы список последних логинов в ICQ-клиенте, однако для этого нужно было скачать QIP 2005, что мне не нужно на данный момент. Если у кого-то есть соображения по поводу этой темы, можете отписаться мне, опубликую на сайте от вашего имени.

Ну а пока не об этом. Ниже можете видеть рабочую версию скрипта. Если что-то непонятно, то обращайтесь по обратной связи на сайте.

<html>
<head>
<title>LastLogonTime script</title>
</head>
<script language="JScript">
var TRUE = 1; 
var ForReading = 1; 
var ForWriting = 2; 
var DAYMSECS = 86400000; 
var DomObj, CollObj, sSubDir; 
var iNumUsers = 0; 
var CutOff; 

var WSHShell = new ActiveXObject("WScript.Shell"); 
var fs = new ActiveXObject("Scripting.FileSystemObject"); 

var WSHShell = WScript.CreateObject("WScript.Shell");

function OnClickButton(){

var sDomain = document.getElementById('domain').value; // домен в котором ищем
var iCutOffDays = document.getElementById('days').value; // количество дней 

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 + " не заходил больше " + iCutOffDays + " дней" ); 
		} 
		catch( ErrorObj ) 
		{ 
			WriteLOG( Obj.name + " никогда не заходил" ); 
		} 
	} 
} 


WScript.Quit(); 
}

//################Запись лога########################

var LogFile = new Object(); 

function WriteLOG( sLogLine ) 
{ 
	var d = new Date(); 
	var nameFile = document.getElementById('file').value; // имя лога
	if ( LogFile == null ) 
	{ 
		LogFile = fs.OpenTextFile( ".\\"+nameFile, 2, TRUE ); 
		LogFile.WriteLine( sLogLine ); 
	} 
	else 
	{ 
		LogFile.WriteLine( sLogLine ); 
	} 

}
</script>
<body>
<form>
Искать в домене: <input type="text" size="30" id="domain" value="default.com" /><br />
Количество дней: <input type="text" size="30" id="days" value="10" /><br />
Имя лога: <input type="text" size="30" id="file" value="log.txt" /><br />
<input type="button" name="submit" value="Call" onclick="OnClickButton()" />
</body>
</html>

Скачать