Oldster
Старик | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору <job id="Example"> <runtime> <description> Имя: multilang.wsf Кодировка: Windows Описание: Использование функции InputBox в JScript-сценарии </description> </runtime> <script language="VBScript"> Function InputName ' Описываем функцию на языке VBScript ' Вводим имя в диалоговом окне InputName = InputBox("Введите логин юзера:", "Окно ввода") End Function Function GetString (ar()) GetString = ar(0) End Function Function GetData (arg()) ' Set objUser = GetObject("LDAP://cn="& arg & ", cn=Users, dc=my_domain, dc=ru") Set objUser = GetObject("LDAP://server1/cn="& arg & ", cn=Users, dc=my_domain, dc=ru") Set objLastLogon = objUser.Get("lastLogon") Set objUser2 = GetObject("LDAP://server2/cn="& arg & ", cn=Users, dc=my_domain, dc=ru") Set objLastLogon2 = objUser2.Get("lastLogon") intLastLogonTime = objLastLogon.HighPart * (2^32) + objLastLogon.LowPart intLastLogonTime2 = objLastLogon2.HighPart * (2^32) + objLastLogon2.LowPart If (intLastLogonTime2 < intLastLogonTime) Then intLastLogonTime = intLastLogonTime / (60 * 10000000) intLastLogonTime = intLastLogonTime / 1440 Else intLastLogonTime = intLastLogonTime2 / (60 * 10000000) intLastLogonTime = intLastLogonTime / 1440 End If GetData = intLastLogonTime + #1/1/1601# End Function </script> <script language="JScript"> var name, temp, E, str; var objConnection, objCommand, objCommand, objRecordSet; //Для юзеров var FullName, TelNumber, login, whenCreated, whenChanged, description, office, lastLogon,logonCount, EMail; name = new String (InputName()); //Вызываем функцию InputName name = name.toLowerCase(); objConnection = WScript.CreateObject("ADODB.Connection"); objConnection.Open("Provider=ADsDSOObject;"); objCommand = WScript.CreateObject("ADODB.Command"); objCommand.ActiveConnection = objConnection objCommand.CommandText ="SELECT lastLogonTimestamp,logonCount,cn,sAMAccountName,userAccountControl,mail,telephoneNumber,physicalDeliveryOfficeName,whenCreated,whenChanged,description FROM 'LDAP://dc=my_domain,dc=ru' WHERE objectCategory='user'"; objRecordSet = objCommand.Execute; temp = 0; var intLastLogonTime; while (!objRecordSet.EOF){ //Логин login = new String (objRecordSet.Fields("sAMAccountName")); login = login.toLowerCase(); if (login == name){ FullName = String (objRecordSet.Fields("cn")); TelNumber = String(objRecordSet.Fields("telephoneNumber")); EMail = String (objRecordSet.Fields("mail")); whenCreated = new Date (objRecordSet.Fields("whenCreated")); whenChanged = new Date (objRecordSet.Fields("whenChanged")); createTimeStamp = objRecordSet.Fields("userAccountControl").Value; description = new VBArray(objRecordSet.Fields("description").Value).toArray(); office = String (objRecordSet.Fields("physicalDeliveryOfficeName")); logonCount = String (objRecordSet.Fields("logonCount")); lastLogon = new Date (GetData(FullName)); temp = 1; break; } objRecordSet.MoveNext; } objConnection.Close; if (temp == 0) WScript.Echo("Юзер не найден"); else { s = "Пользователь найден:\n" + login + " - " + FullName; if (createTimeStamp & 2) s += " (User - Disabled)\n"; else s += " (User - Enabled)\n"; s += "Телефон: " + TelNumber + "\n"; s += "Офис: " + office + "\n"; s += "Почта: " + EMail + "\n"; s += "Создан: " + whenCreated.toLocaleDateString() + " ("+whenCreated.toLocaleTimeString()+")" + "\n"; s += "Изменен: " + whenChanged.toLocaleDateString() + " ("+whenChanged.toLocaleTimeString()+")" + "\n"; s += "Кол-во входов: " + logonCount + "\n"; s += "Последний вход: " + lastLogon.toLocaleDateString() + " ("+lastLogon.toLocaleTimeString()+")" + "\n"; // s += "Последний вход: " + lastLogon.toLocaleDateString() + " ("+(lastLogon.getHours()+1)+":"+lastLogon.getMinutes()+":"+lastLogon.getSeconds()+")" + "\n"; s += "Описание: " + description + "\n"; WScript.Echo(s); } </script> </job> |