Листинг 1. Текст сценария FinalSetup.vbs.
'**********************************************************************
' TITLE: FinalSetup.VBS Ver 2.0
' Применение: после присоединения компьютера к домену данный сценарий
' вводит глобальные группы домена в локальные группы (WIN 2000 Image).
'**********************************************************************
OPTION EXPLICIT 'Определение переменных.
ON ERROR RESUME NEXT 'При обнаружении ошибки сценарий продолжает работу.
'***************************************************
'Определение переменных.
'***************************************************
Dim oGroup 'Объект ADSI, созданный функцией GetObject
Dim oWshShell 'Объект Shell для запуска выполняемого файла (smsman.exe)
Dim sInDomain 'Используется для проверки членства в домене
Dim sCompName 'Локальное имя компьютера
Dim oWshNet 'Объект WshNetwork
Dim sUser 'Имя пользователя для поиска ошибок
Dim sMember 'Проверка членства в группах 0 or 1
'********************************************************
' Определение констант.
'********************************************************
Const GLOBAL_GROUP = «WEBDEV» 'Глобальная группа вводится в
Const LOCAL_GROUP = «Administrators» 'Имя локальной группы
Const DOMAIN = «GONDOR» 'Имя домена
'********************************************************
' Создание объектов.
'********************************************************
' Создание объекта Network.
Set oWshNet = Wscript.CreateObject(«Wscript.Network»)
' Создание объекта Shell.
Set oWshShell = Wscript.CreateObject(«Wscript.Shell»)
'***************************************************
' Сбор локальной информации.
'***************************************************
sUser = oWshNet.Username 'Сохранить входное имя текущего пользователя.
SCompName = oWshNet.Computername 'Сохранить имя компьютера.
'***************************************************
'Убедиться, что был зарегистрирован Administrator; в противном случае
'прекратить выполнение сценария.
'***************************************************
IF UCASE(sUser) <> «ADMINISTRATOR» THEN
Wscript.Echo «You must be logged in as «»ADMINISTRATOR»» to run this « & _
«script! « & vbCRLF & vbCRLF & «Log off and login as « & _
«»»ADMINISTRATOR»» to the local machine « & «(« & sCompName & «).» & _
vbCRLF & vbCRLF & «After logging in as ADMINISTRATOR, run the « & _
«C:\WINNT\SYSTEM32\FinalSetup.vbs script again» & _
« to finish the installation.»
Wscript.Quit
END IF
'***************************************************
'Проверить, что машина принадлежит к домену;
'в противном случае прекратить выполнение сценария и вывести сообщение.
'***************************************************
'Прочитать значение из реестра.
sInDomain = oWshShell.RegRead(«HKLM\SOFTWARE\» & _
«Microsoft\Windows NT\CurrentVersion\Winlogon\DomainCache\GONDOR»)
IF sInDomain = «» THEN
Wscript.Echo «The Computer does not belong to « & DOMAIN & « domain!»
Wscript.quit
END IF
IF ERR.NUMBER = -2147024894 THEN
Wscript.Echo «The Computer does not belong to « & DOMAIN & « domain!»
Wscript.quit
END IF
'********************************************************
'Изменить членство в группе.
'********************************************************
Set oGroup = GetObject(«WinNT://» & sCompName & «/» & LOCAL_GROUP & «,group»)
sMember = oGroup.IsMember(«WinNT://» & DOMAIN & «/» & GLOBAL_GROUP) 'Если будет
'возвращен член, -1. Если нет, 0.
IF sMember = 0 THEN
oGroup.add(«WinNT://» & DOMAIN & «/» & GLOBAL_GROUP)
sMember = oGroup.IsMember(«WinNT://» & DOMAIN & «/» & GLOBAL_GROUP)
'Если будет возвращен член, -1. Если нет, 0.
IF sMember = -1 THEN
oWshShell.Popup «The « & GLOBAL_GROUP & « global group has been « & _
«successfully added to the « & LOCAL_GROUP & « local group.», & _
5, «Local Group Modified», 064
End IF
ELSE
oWshShell.Popup «The « & GLOBAL_GROUP & « global group is already» & _
« a member of the « & LOCAL_GROUP & « local group.», 5, & _
«Global Group Exists» ,064
End IF
'********************************************************
' Запустить smsman.exe, чтобы инсталлировать SMS 2.0.
'********************************************************
oWshShell.Popup «SMS 2.0 will now be installed. Please wait while» & _
« program is loading...» & vbCRLF & vbCRLF & «The SMS Client» & _
« Installation will take approximately 5 minutes to complete» & _
, 10, «SMS 2.0 Installation», 064
oWshNet.MapNetworkDrive «N:», «\\SMSCPS1\SMSLOGON», , «guest», «»
oWshShell.Run «N:\x86.bin\00000409\SMSMAN.EXE», ,TRUE
oWshNet.RemoveNetworkDrive «N:»
'********************************************************
' Вывод сообщения о завершении сценария и выход.
'********************************************************
MsgBox «This portion of the setup has been completed. « & _
«Logoff and login as the user and setup the printers.»
|
|