скрипт показывающий имена пользоватлей не логинившихся в 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 | Комментировать

Комментарии





Ответить