• Сервис онлайн-записи на собственном Telegram-боте
    Тот, кто работает в сфере услуг, знает — без ведения записи клиентов никуда. Мало того, что нужно видеть свое расписание, но и напоминать клиентам о визитах тоже. Нашли самый бюджетный и оптимальный вариант: сервис VisitTime.
    Для новых пользователей первый месяц бесплатно.
    Чат-бот для мастеров и специалистов, который упрощает ведение записей:
    Сам записывает клиентов и напоминает им о визите;
    Персонализирует скидки, чаевые, кэшбэк и предоплаты;
    Увеличивает доходимость и помогает больше зарабатывать;
    Начать пользоваться сервисом
  • Как продвинуть сайт на первые места?
    Вы создали или только планируете создать свой сайт, но не знаете, как продвигать? Продвижение сайта – это не просто процесс, а целый комплекс мероприятий, направленных на увеличение его посещаемости и повышение его позиций в поисковых системах.
    Ускорение продвижения
    Если вам трудно попасть на первые места в поиске самостоятельно, попробуйте технологию Буст, она ускоряет продвижение в десятки раз, а первые результаты появляются уже в течение первых 7 дней. Если ни один запрос у вас не продвинется в Топ10 за месяц, то в SeoHammer за бустер вернут деньги.
    Начать продвижение сайта


Иллюстрированный самоучитель по автоматической установке Windows

Сценарий FinalSetup.vbs

Сценарий FinalSetup.vbs выполняет заключительные шаги процесса установки до того, как системный администратор позволит конечному пользователю работать с компьютером. Код сценария проверяет, что его запустил пользователь с правами администратора (Administrator), и что компьютер подключен к домену. Затем сценарий добавляет глобальную группу WEBDEV в локальную группу Администраторы (Administrators) компьютера, чтобы позволить веб-разработчикам устанавливать программное обеспечение и конфигурировать свои компьютеры.

Первые два оператора сценария крайне важны и должны содержаться в каждом Вашем сценарии. Оператор OPTION EXPLICIT проверяет, все ли переменные объявлены, прежде чем позволить их использование, предупреждая этим возможные ошибки в коде. Хотя VBScript позволяет не объявлять переменные, но если не использовать OPTION EXPLICIT, то любая опечатка в написании переменной создаст новую переменную. Такую ошибку можно легко найти в простом сценарии, но проблематично, если код состоит из сотен строк. Оператор ON ERROR RESUME NEXT запрещает остановку выполнения сценария в случае обнаружения ошибки. Цель данного оператора не в игнорировании ошибки, а в том, чтобы ошибка не стала фатальной для сценария и позволила ему доработать до конца.

Следующий раздел сценария FinalSetup.vbs включает объявление переменных. Вы можете перечислить все переменные через запятую в одной строке, или поместить каждую переменную на отдельной строке, как сделано мной. Имя переменной должно начинаться с буквы латинского алфавита и его длина не может быть больше 255 символов, среди которых допустимы латинские буквы, цифры и символ подчеркивания (_). Использование однобуквенного префикса в нижнем регистре необязательно, но поможет при чтении определить тип данных (например, объект (object), строка (string), целое число (integer)), содержащихся в переменной.

Следующий раздел – это объявление констант. Константы похожи на переменные, за исключением того, что Вы не сможете изменить значение констант после их объявления. В сценарии используются три константы: GLOBAL_GROUP, LOCAL_GROUP, и DOMAIN.

Чтобы осуществить решение задачи, в сценарии необходимо использовать объекты. Объекты содержат в себе методы (функции, выполняемые объектом) и свойства (характеристики). Вы должны создать объект перед его использованием в сценарии. Создание объекта подразумевает его размещение в памяти и регистрацию. В сценариях WSH для создания объекта используется функция Wscript.CreateObject(). В сценарии FinalSetup.vbs задействованы несколько объектов, встроенных в интерпретатор WSH.

В следующем разделе FinalSetup.vbs создается два объекта: объект Network (Wscript.Network) и объект Shell (Wscript.Shell). Объект Network позволяет подключаться к сетевым ресурсам. Объект Shell служит для запуска исполняемых файлов, работы с реестром, чтения переменных среды, создания ярлыков, а также выполнения некоторых других функций. В каждом случае сценарий сохраняет созданные объекты в переменных (соответственно в oWshNet и oWshShell) и использует эти переменные для доступа к методам и свойствам объекта.

Чтобы сценарий успешно завершил свою работу, он должен выполняться под учетной записью локального администратора (Administrator). Для проверки этого факта, сценарий получает значение свойства Username объекта Network, созданного ранее, и сохраняет это значение в переменной sUser. В переменной sCompName сохраняется имя компьютера, полученное из свойства Computername. Функция UCASE() задействована для преобразования значения переменной sUser к верхнему регистру для последующего сравнения со строкой "ADMINISTRATOR". Если результат этого сравнения будет отрицательным, сценарий выведет сообщение об ошибке и завершит работу.

В противном случае, сценарий продолжит работу, и следующим шагом будет проверка факта подключения компьютера к домену. Сначала, метод oWshShell.RegRead производит чтение ключа реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Winlogon\DomainCache\GONDOR и его значение сохраняет в переменной sInDomain. После этого сценарий делает две проверки. Первая: если значением переменной sInDomain является null (ключ реестра пуст), сценарий выводит сообщение об ошибке и завершает работу. Вторая: если произошла фатальная ошибка с кодом 2147024894 (ключа реестра не существует), сценарий также завершается сообщением об ошибке. Если ключа реестра не окажется, и сценарий не будет содержать оператор ON ERROR RESUME NEXT, упомянутый мной ранее, пользователь увидит сообщение об ошибке, показанное на Рисунке 1.

Иллюстрированный самоучитель по автоматической установке Windows › Как упростить развертывание настольных систем Windows 2000 › Сценарий FinalSetup.vbs
Рисунок 1 – Сообщение об ошибке интерпретатора WSH

Следующим шагом сценария будет добавление глобальной группы домена Windows NT 4.0 в локальную группу Администраторы (Administrators) компьютера. Для этого сценарий осуществляет подключение к базе данных SAM локального компьютера, используя Интерфейсы службы каталогов Active Directory (Active Directory Service Interfaces, ADSI). С помощью функции ADSI GetObject() создается объект oGroup для связи с поставщиком интерфейсов службы каталогов Active Directory WinNT. После установки соединения, сценарий использует метод IsMember объекта oGroup, чтобы проверить, является ли глобальная группа домена (GLOBAL_GROUP) членом локальной группы Администраторы (Administrators). Если результат проверки окажется отрицательным, то значением переменной sMember будет FALSE (0) и сценарий задействует метод oGroup.Add для добавления глобальной группы в локальную группу. Затем снова проверяется значение переменной sMember, которое должно быть TRUE (-1). После этого метод oWshShell.Popup выведет сообщение о статусе выполнения, и после паузы в 5 секунд продолжится выполнение сценария.

Поскольку мы используем SMS, последним этапом работы сценария будет установка клиента SMS на компьютер. После вывода информационного сообщения, метод oWshNet.MapNetworkDrive производит подключение диска N компьютера к серверу SMS, и метод oWshShell.Run запускает файл smsman.exe. По окончании работы установочного файла smsman.exe, сценарий отключает сетевой диск и выводит сообщение о завершении работы.

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.