Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - идентификация пользователя в сети института после ввода логина-пароля

Ответить
Настройки темы
VBS/WSH/JS - идентификация пользователя в сети института после ввода логина-пароля

Аватара для Deep2007

Старожил


Сообщения: 396
Благодарности: 20

Профиль | Отправить PM | Цитировать


Изменения
Автор: Deep2007
Дата: 18-01-2011
Есть такой скрипт (login.vbs):
Код: Выделить весь код
On Error Resume Next

Set objIE = WScript.CreateObject("InternetExplorer.Application", "IE_")
objIE.Navigate "about:blank"
While objIE.Busy
  Wscript.Sleep 1000
Wend

objIE.FullScreen = True 
objIE.MenuBar = False  
objIE.StatusBar = False  
objIE.ToolBar = False  
objIE.Resizable = False
objIE.Height = 150
objIE.Width = 300
objIE.Top = 50
objIE.Left = 50

objIE.Document.Write "<html><head><title>Login</title></head>"
objIE.Document.Write "<body style=""overflow:hidden;"" background=""C:\WINDOWS\system32\ntimage.gif""><div align=center>"
objIE.Document.Write "<b>User name:</b><br><input style=""width:200px;background:silver;color:black;border:0px;"" type=text size=20 name=uname><br>"
objIE.Document.Write "<b>Password:</b><br><input style=""width:200px;background:silver;color:black;border:0px;"" type=password size=20 name=upass onEnter='javascript:eOK.value=""1"";'>"

objIE.document.write "<hr style=""border: 0px; height: 1px;""><input type=hidden name=eOK value=0>"
objIE.Document.Write "<input style=""width:100px;background:blue;color:white;border:0px;"" type=button name=bOK value=OK onClick='javascript:eOK.value=""1"";'>"

objIE.document.write "<input type=hidden name=eCancel value=0>"
objIE.Document.Write " <input style=""width:100px;background:blue;color:white;border:0px;"" type=button value=Cancel onClick='javascript:eCancel.value=""1"";'>"

objIE.Document.Write "</form></div></body></html>"

objIE.Visible = True 

While objIE.Busy
  Wscript.Sleep 1000
Wend

While 0=0
  WScript.Sleep 1000
  if objIE.document.all.eCancel.value = "1" then
    objIE.Quit
    WScript.Quit
  end if
  if objIE.document.all.eOK.value = "1" then
    UMountAll()
    MountAll()
    if Err.Number = 0 then
      objIE.Quit
      WScript.Quit
    else
      objIE.document.all.eOK.value = "0"
      objIE.document.all.upass.value = ""
      MsgBox "Ошибка подключения 0x" & CStr(Hex(Err.Number)) & vbNewLine & "Обратитесь в отдел техподдержки.", 48, "WSH Logon Script Error"
      Err.Clear
    end if
  end if
Wend

Sub IE_OnQuit()
  WScript.Quit
End Sub

Sub UMountAll()
  Set objNetwork = CreateObject("Wscript.Network")
  Set colDrives = objNetwork.EnumNetworkDrives
  For i = 0 to colDrives.Count-1 Step 2
    objNetwork.RemoveNetworkDrive colDrives.Item(i), true, true
  Next
End Sub

Sub MountAll()
  set net = Wscript.CreateObject("Wscript.Network")
  if (net.MapNetworkDrive("L:", "\\itc1\l", ,objIE.document.all.uname.value, objIE.document.all.upass.value) <> 0) Then
    MsgBox "Ошибка" & vbNewLine & "Обратитесь в отдел техподдержки", 48, "WSH Logon Script Error"
  end if
  if (net.MapNetworkDrive("H:", "\\itc1\homes", ,objIE.document.all.uname.value, objIE.document.all.upass.value) <> 0) Then
    MsgBox "Ошибка" & vbNewLine & "Обратитесь в отдел техподдержки", 48, "WSH Logon Script Error"
  end if
  if (net.MapNetworkDrive("O:", "\\itc1\common", ,objIE.document.all.uname.value, objIE.document.all.upass.value) <> 0) Then
    MsgBox "Ошибка" & vbNewLine & "Обратитесь в отдел техподдержки", 48, "WSH Logon Script Error"
  end if
  if (net.MapNetworkDrive("T:", "\\itc1\t", ,objIE.document.all.uname.value, objIE.document.all.upass.value) <> 0) Then
    MsgBox "Ошибка" & vbNewLine & "Обратитесь в отдел техподдержки", 48, "WSH Logon Script Error"
  end if
  Set wshSheLL = WScript.CreateObject("WScript.Shell")
  if (wshSheLL.Run("net time \\itc1 /set /yes", 0, TRUE) <> 0) Then
    MsgBox "Ошибка синхронизации времени!", 48, "WSH Logon Script Error"
  end if
End Sub
Сидит в папке "Автозагрузка", идентифицирует пользователя в сети института после ввода логина-пароля. В папке system32 обнаружен файл ntimage.gif, упоминание о котором есть в этом скрипте. Стоит задача переустановить систему (и было и будет Windows XP Pro) на машинах этой сети, и вернуть скрипт, естественно. Попробовал запустить скрипт просто на рабочем столе посторонней машины - он открылся во весь экран, а не в маленьком окне вверху слева, как на машинах сети. Подскажите, может, что-то упустил, и есть какие то еще файлы, необходимые для нормальной его работы. Что определяет размер его окна? И еще - что в нем исправить, чтоб после логина-пароля можно было не нажимать кнопку "ОК", а отрабатывалось нажатие клавиши "Enter"?

PS Заметил, что в исходном скрипте есть пробелы после некоторых строк, но так - в исходном файле. Это на его работу не влияет?

Отправлено: 18:29, 18-01-2011

 


Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - идентификация пользователя в сети института после ввода логина-пароля

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Загрузка - На этапе ввода логина и пароля виснет WinXP SP3 Rus sergiv-2 Microsoft Windows 2000/XP 6 08-01-2011 14:39
Разное - [решено] Вылазит Окно ввода пользователя и пароля по локалке sasa74 Microsoft Windows 2000/XP 11 03-12-2010 17:34
[решено] Исчезает окно ввода имени пользователя пароля на клиентской машине в AD Astral777 Microsoft Windows NT/2000/2003 12 17-09-2010 12:00
При загрузке сервера Не появляется окно ввода логина/пароля PFMAX Microsoft Windows NT/2000/2003 5 31-05-2010 01:38
Просмотр содержимого после ввода пароля на JS zi0n Вебмастеру 2 17-04-2010 17:16




 
Переход