Monday, November 20th, 2017

Использование сценариев для входа в чистой и смешанной среде Active Directory

Published on Февраль 18, 2009 by   ·   Комментариев нет

Эта статья рассказывает о различиях между сценариями для входа в чистой и смешанной среде Active Directory, а также о том, как использовать Group Policy для назначения сценариев, и как запускать сценарии Windows Script Host (WSH) с помощью файлов.

Сценарии для входа могут быть очень полезными инструментами для настройки рабочего стола для пользователей. Некоторые вещи, такие как сценарии, могут использоваться для составления схемы сетевых дисков, соединения с удаленными принтерами, сбора системной информации, синхронизации системных часов и т.д. В действительности, все, что вы можете сделать из командной строки, вы можете выполнить при помощи сценариев для входа.

Сценарии для входа существовали все время и большинство администраторов сетей Windows имели возможность для их использования. В домене Windows NT сетевые вещи были просты: если возникала необходимость для конфигурации пользовательской среды с помощью сценария, администратору сначала необходимо было написать сценарий для входа на языке программирования batch, который существует со времен MS-DOS. После того, как сценарий написан, он сохранялся в файле с расширением .bat, которое позволяло выполнять файл, но чтобы заставить сценарий работать для определенного пользователя, его необходимо было поместить в папке для совместного использования NETLOGON контроллера домена, для которого учетная запись пользователя проходила аутентификацию. В Windows NT папка NETLOGON была связана с папкой %systemroot%\system32\repl\import\scripts, и при помещении сценария в эту папку на PDC, он автоматически копировался для всех BDC в домене. После того, как это было сделано, администратору оставалось лишь добавить название сценария в поле Logon Script Name в диалоговом окне User Environment Profile используя User Manager for Domains.

Затем появился Windows 2000, с его поддержкой назначения сценариев с использованием Group Policy и его встроенной поддержкой Windows Script Host (WSH), как альтернатива традиционным batch сценариям. Т.к. WSH позволяет вам создавать намного более мощные сценарии, а Group Policy позволяет вам более просто управлять сценариями, то проблемы появились, когда сетевая среда стала иметь смешанный состав, т.е. в нее стали входить рабочие станции на различных платформах — Windows 95/98 и Windows NT 4.0. Далее в этой статье будут приведены некоторые предположения по управлению сценариями для входа в смешанной (Windows 2000/XP/2003 и Windows 95/98/NT) и чистой (Windows 2000 и выше) среде.

Использование сценариев для входа в смешанной среде

Под “смешанной средой ” я подразумеваю смесь клиентов Windows, которые поддерживают Group Policy (Windows 2000/XP/2003), и тех, которые его не поддерживают (Windows 95/98/NT). Управление сценариями для входа в среде, которая включает системы Linux/UNIX или Mac лежит за пределами нашего обсуждения. Для простоты, мы сфокусируемся на среде Active Directory, в которой контроллеры доменов работают под управлением Windows 2000 Server и/или Windows Server 2003, а также других систем Windows.

Предположим, что вы хотите использовать в смешанной среде сценарий, для конфигурации рабочего стола пользователя, который добавляет сетевой диск, для совместного использования. Простой файл с batch сценарием должен выглядеть примерно так:

@echo off
net use x: \\filesrv\budgets

Для того чтобы использовать этот сценарий, наберите его в Notepad (блокноте) и сохраните под именем logon.bat или как-нибудь наподобие. Затем поместите файл сценария в NETLOGON контроллере домена, которая, если ваш домен работает под управлением Windows 2000/2003, может быть найдена в %systemroot%\sysvol\sysvol\<domain_DNS_name>\scripts, как показано на рисунке 1:

Windows 7 папка со сценариями входа

Рисунок 1: Размещение NETLOGON на контроллере домена Windows 2000/2003

После того, как сценарий помещен в NETLOGON, он автоматически будет размещен на всех контроллерах доменах с домене mynewforest.com.

Следующий шаг заключается назначение сценария для учетных записей пользователей, на компьютерах которых этот сценарий должен выполнятся. Чтобы сценарий запустился на машине Bob Smith, к примеру, используйте Active Directory Users and Computers, чтобы открыть таблицу свойств (Properties), для объекта User, представляющего Bob Smith и выбрать закладку Profiles. Затем, просто наберите название сценария в поле Logon Script, как показано на рисунке 2 ниже. Заметьте, что если вы  храните ваш сценарий не в NETLOGON, то вам необходимо набрать полный  UNC путь к сценарию в поле Logon Script, а также убедиться, что сценарий был скопирован для всех контроллеров домена.

Как смешать vbs и bat?

Рисунок 2: Назначение сценария для пользователя Bob Smith

Если вы хотите увеличить мощность Windows Script Host в смешанной среде, то вы можете сделать эта двумя способами:

  • Загрузить и установить соответствующий клиент Directory Services Client (DSClient) для Windows 95/98 или Windows NT. DSClient позволяет этим платформам Windows участвовать в среде Active Directory, а также они включают поддержку для WSH и VBScript.
  • Загрузить и установить Windows Script Host для Windows 95/98/NT. Это позволяет вам запускать сценарии VBScript на этих платформах, но не предоставляет вам функциональности ADSI, что ограничивает возможность использования WSH для сценариев. Вы можете получить WSH для Windows 95/98/NT из Microsoft Download Center.

Другой способ, если рабочие станции Windows поддерживают WSH, то вы можете написать сценарии на более мощном языке VBScript, вместо ограниченного языка программирования batch. К несчастью, в смешанной среде вы не можете напрямую назначить файл сценария .vbs для учетной записи пользователя в закладке Profile, как показано на рисунке 2, т.к. это не будет работать на клиентах Windows. Обходной путь для решения этой проблемы заключается в следующем:

  1. Напишите ваш сценарий на VBScript и сохраните его с расширением a .vbs, например logon.vbs.
  2. Поместите ваш файл logon.vbs в NETLOGON на вашем контроллере домена.
  3. Используйте язык программирования batch, чтобы написать дополнительный сценарий, который будет вызывать ваш сценарий logon.vbs и сохраните его с расширением .bat, например logon.bat.
  4. Сохраните ваш файл logon.bat также в NETLOGON на вашем контроллере домена.
  5. Назначьте logon.bat в закладке Profile для каждой учетной записи пользователей, как описывалось ранее и показано на рисунке 2.

Простой сценарий logon.bat, который вызывает сценарий logon.vbs может выглядеть так:

@echo off
wscript %0\..\logon.vbs

А простой сценарий logon.vbs, который отображает диск x: в папку для общего доступа \\filesrv\budgets должен быть таким:

Dim wshNetwork
Set wshNetwork = CreateObject(«Wscript.Network»)
wshNetwork.MapNetworkDrive «x:», «\\filesrv\budgets»
WSCript.Quit

Теперь, когда Bob входит на свою машину, выполняется сценарий logon.bat, который вызывает сценарий logon.vbs, который отображает диск x: в budgets, как мы это и планировали. Это будет работать как на платформах Windows 95/98/NT так и на Windows 2000/XP.

Использование сценариев для входа в среде Windows 2000 и выше

Если все ваши рабочие станции работают под управлением Windows 2000 и выше, то первое, что вам необходимо сделать – это забыть о закладке Profile, а также о сценариях. В действительности, можно забыть про закладку Profile полностью, т.к. поля в этой закладке теперь будут относиться к низкоуровневой среде (Windows NT и ниже). Вместо этого, используйте Group Policy для того, чтобы назначить ваши сценарии, которые намного более мощные, чем те, которые предоставлялись в закладке Profile. К тому же, забудьте язык программирования batch и используйте VBScript, для написания сценариев, т.к. VBScript позволяет писать более мощные сценарии по сравнению с batch.

Давайте используем наш сценарий logon.vbs выше, чтобы отобразить диск и назначить его для всех сотрудников компании в Winnipeg. Прелесть Active Directory заключается в том, что вы можете создавать организационные единицы (organizational units (OU)) для различный мест и подразделений в вашей компании,  создавать Group Policy Objects (GPO) и связывать их с различными OU. На рисунке 3 вы можете увидеть, что у нас есть три OU в нашем домене mynewforest.com: Toronto, Vancouver и Winnipeg:

Active directory не выполняется сценарий

Рисунок 3: Пользователям в Winnipeg OU необходимо назначить сценарий

Чтобы назначить сценарий logon.vbs для пользователей в Winnipeg, щелкните правой кнопкой мыши на Winnipeg OU и выберите Properties. Затем выберите закладку Group Policy, в которой вы увидеть, что мы уже создали новый GPO, под названием WinnipegGPO и связанную с ним OU (Рисунок 4):

Безопасность смешанных операционных средах

Рисунок 4: WinnipegGPO связан Winnipeg OU

Нажмите Edit чтобы открыть WinnipegGPO и перейдите к User Configuration\Windows Settings\Scripts как ниже на рисунке 5:

Сценарий по назначению нового директора

Рисунок 5: Настройки политики для назначения сценариев

Теперь щелкните правой кнопкой мыши на Logon в правом окне и выберите Properties (Рисунок 6):

Createobject shell application application namespace

Рисунок 6: Назначение нового сценария для входа с использованием WinnipegGPO

Нажмите на кнопку Show Files, чтобы открыть папку по умолчанию, в которой хранятся сценарии, назначенные для Group Policy для вашего контроллера домена (Рисунок 7):

Сценарии active directory

Рисунок 7: Папка по умолчанию, в которой хранятся сценарии, назначенные с помощью Group Policy для вашего контроллера домена

Обратите внимание, что сценарий для входа, назначенный с помощью Group Policy хранится в поддиректории папки SYSVOL на вашем контроллере домена. Эта поддиректория SYSVOL называется \sysvol\<domain_DNS_name>\<policy_GUID>\user\scripts\logon и содержимое этой папки автоматически копируется на все контроллеры домена в домене.

Теперь, при помощи Windows Explorer, найдите сценарий logon.vbs, который мы создали ранее и нажмите CTRL+C, чтобы скопировать его в буфер. Затем вернитесь в папку, представленную на рисунке 7 выше и нажмите CTRL+V, чтобы вставить logon.vbs в папку, где он должен располагаться. Закройте окно и вернитесь в экран Logon Properties, показанный на рисунке 6 и нажмите кнопку Add, чтобы открыть диалоговое окно Edit Script, и набрать в поле Script Name название сценария — logon.vbs, название сценария, который вы хотите назначить (Рисунок 8):

Active directory скрипты входа

Рисунок 8: Назначение сценария для входа

Дважды нажмите на кнопке OK и сценарий будет назначен. Теперь, после обновления Group Policy на машине Bob, в следующий раз, когда он будет входить на свою машину, он увидит диск X:, когда откроет My Computer или запустит Windows Explorer.

www.windowsnetworking.com







Смотрите также:

Tags: , , , , , , ,

Readers Comments (Комментариев нет)




Да человек я, человек! =)

Exchange 2007

Проведение мониторинга Exchange 2007 с помощью диспетчера System Center Operations Manager 2007 (часть 3)

Если вы хотите прочитать предыдущие части этой серии статей, перейдите по ссылкам: Проведение мониторинга Exchange 2007 с помощью диспетчера System ... [+]

Практическое рассмотрение перехода с Exchange 2003 на Exchange 2007 (часть 1)

Введение В этой статье из нескольких частей я хочу показать вам процесс, который недавно использовал для перехода с существующей среды Exchange 2003 ... [+]

Использование инструмента Exchange Server Remote Connectivity Analyzer Tool (часть 2)

Если вы пропустили первую часть этой серии, пожалуйста, прочтите ее по ссылке Использование инструмента Exchange Server Remote Connectivity Analyzer Tool (Часть ... [+]

Мониторинг Exchange 2007 с помощью диспетчера System Center Operations Manager 2007 (часть 2)

Если вы пропустили предыдущую часть этой серии статей, перейдите по ссылке Мониторинг Exchange 2007 с помощью диспетчера System Center Operations ... [+]

Подробное рассмотрение подготовки Active Directory для Exchange 2007 (часть 5)

Если вы пропустили предыдущие части этой серии статей, перейдите по ссылкам: Подробное рассмотрение подготовки Active Directory для Exchange 2007 (часть 1) ... [+]

Установка и настройка Exchange 2007 из командной строки (Часть 3)

If you missed the previous parts in this article series please read: Exchange 2007 Install and Configuration from the command line (Part ... [+]

Использование инструмента Exchange Server Remote Connectivity Analyzer Tool (часть 1)

Инструмент ExRCA Текущий выпуск инструмента предоставляется только в целях тестирования и оснащен 5 опциями: Тест подключения Outlook 2007 Autodiscover Тест подключения Outlook 2003 RPC ... [+]

Развертывание сервера Exchange 2007 Edge Transport (часть 5)

Если вы хотите прочитать предыдущие части этой серии статей, перейдите по ссылкам: Развертывание сервера Exchange 2007 Edge Transport (часть 1) Развертывание ... [+]

Установка и настройка Exchange 2007 из командной строки (часть 2)

Если вы пропустили первую статью данного цикла, пожалуйста, перейдите по ссылке: Exchange 2007 Install and Configuration from the command line (Part ... [+]

Использование интегрированных сценариев Using Exchange Server 2007 – часть 2: генерирование отчетов агента Transport AntiSpam Agent

Если вы пропустили предыдущую часть этой серии статей, перейдите по ссылке Использование интегрированных сценариев Using Exchange Server 2007 – часть ... [+]