скрипт показывающий имена пользоватлей не логинившихся в AD N-ное количество дней.
Запись создана 12 марта, 2008
[cc lang=»javascript»]
//~~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 );
}
}
[/cc]
Схожие темы
» Запись из раздела windows | Комментировать
Комментарии
Ответить