Материал: Книга Active directory

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Занятие 2

Автоматизация создания объектов компьютеров

2 0 3

При импорте компьютеров необходимо обязательно включить атрибут userAccountControl и присвоить ему значение 4096. Этот атрибут обеспечивает возможность присоединения компьютера к домену. Кроме того, включите в файл имя входа пред - Windows 2000 д л я компьютера, которое представлено атрибутом sAMAccountName со знаком доллара (см. рис. 5-5).

КСВЕДЕНИЮ

Вглавах 3 и 4 рассматривалось применение команды CSVDE для импорта пользователей и групп. Чтобы получить подробную информацию о команде CSVDE, в том числе о параметрах и экспорте объектов каталогов, введите команду csvde/? или выполните поиск в центре справки и поддержки Windows Server 2008 (Windows Server 2008 Help and Support Center).

Импорт компьютеров при помощи команды LDIFDE

В главе 3 также описана команда Ldifde.exe, которая импортирует данные из файлов в формате L D I F (Lightweight Directory Access Protocol Data Interchange Format). В текстовых файлах L D I F операции указываются в виде блоков строк, разделенных пустой строкой. Каждая операция начинается с атрибута DN объекта, который является субъектом операции. Следующая строка, changeType, указывает тип операции: add, modify или delete.

Далее приведен пример ф а й л а LDIF, который может создать две учетные записи серверов:

dn: CN=SERVER10,ои=Серверы,DC=contoso,DC=com changetype: add

objectClass: top objectClass: person

objectClass: organizationalPerson objectClass: user

objectClass: computer cn: SERVER10 userAccountControl: 4096

sAMAccountName: SERVER10S

dn: CN=SERVER11,0и=Серверы,DC=contoso,DC=com changetype: add

objectClass: top objectClass: person

objectClass: organizationalPerson . objectClass: user

objectClass: computer cn: SERVER 11 . userAccountControl: 4096 sAMAccountName:

204

Компьютеры

Глава 5

Базовый синтаксис команды LDIFDE аналогичен синтаксису команды

CSVDE:

ldifde [-1] [-f "Иня_файла"] [-k]

По умолчанию команда LDIFDE работает в режиме экспорта. Параметр -г указывает режим импорта. Параметр -/ идентифицирует файл д л я импорта или экспорта. Если не указать значение - k, команда LDIFDE остановит выполнение при ошибке. Если же указать параметр -k, команда LDIFDE будет игнорировать возникающие ошибки.

СОВЕТ К ЭКЗАМЕНУ

Помните, что по умолчанию команды CSVDE и LDIFDE работают в режиме экспорта. Для импорта объектов нужно задействовать параметр -i.

Создание компьютеров посредством команды Dsadd

В предыдущих главах говорилось об использовании команды Dsadd для создания объектов в Active Directory. Чтобы создать объект компьютера, просто введите команду dsadd computer DNjcoMmiomepa, указав отличительное имя (DN) компьютера, например CN=Desktopl23,OU=Desktops,DC=contoso,DC=com.

Если отличительное имя компьютера содержит символ пробела, заключите все имя в кавычки. Параметр DN_компыотера может содержать несколько отличительных имен новых объектов компьютеров, так что команду Dsadd Computers удобно применять для одновременного генерирования множества объектов. Ввести этот параметр можно так:

поместить в конвейер Dsadd список DN-имен, извлеченный другой командой, например Dsquery;

ввести отличительные имена в командную строку, разделив их пробелами;

оставить параметр DA!_компъютера пустым и вводить отличительные имена в окно командной строки по отдельности. После ввода каждого имени следует нажимать клавишу Enter. Введя последнее отличительное имя, нажмите комбинацию клавиш Ctrl+Z, а затем Enter.

Команда Dsadd Computer может принимать опциональные параметры, следующие за отличительным именем:

• -samid SAM_umx;

-desc Описание;

-loc Размещение.

Создание компьютеров с помощью команды Netdom

Благодаря команде Netdom можно также решать различные задачи безопасности и управления учетной записью в командной строке. На занятии 1 мы использовали команду Netdom для присоединения компьютера к домену. Эту команду можно также применять для создания учётной записи компьютера:

netdom add Иня_конпыотера /domain-.Имя_домена [/ои\ОН_подразделения]

[/userd-.Пользователь /PasswordD:Пароль]

Занятие 2

Автоматизация создания объектов компьютеров

205

Эта команда создает учетную запись компьютера с указанным именем в указанном домене, используя учетные данные, представленные параметрами UserD и PasswordD. Параметр ои назначает создание объекта в подразделении, отличительное имя которого указано после этого параметра. Если отличительное имя подразделения не указано, учетная запись компьютера создается в контейнере компьютеров по умолчанию. Учетная запись пользователя должна иметь разрешение на создание объектов компьютеров.

Создание компьютеров с использованием Windows PowerShell

В главе 3 описана новая оболочка Windows PowerShell для администрирования и автоматизации на платформах Windows. В этой главе мы рассматриваем создание пользователей. Объекты компьютеров, как и объекты пользователей, можно создавать, в ы п о л н я я следующие действия.

1.Подключитесь к контейнеру (подразделению), в котором хотите создать компьютер.

2.Воспользовавшись методом Create контейнера, создайте компьютер.

3. Заполните обязательные атрибуты.

4. Подтвердите внесенные изменения.

Д л я подключения к подразделению в Windows PowerShell введите в командную строку PowerShell команду:

SobjOU = [ADSI]" LDAP ://ОА/_лодразделешя"

Эта команда создает объектную ссылку, которая хранится в переменной SobjOU, представляющей подразделение.

Теперь с помощью переменной SobjOU можно инициировать методы подразделения. Д л я создания компьютера используйте метод Create:

SobjComputer = SobjOU. Create("computer", "(М=СИ_компьютера")

Затем необходимо отконфигурировать два атрибута. Первый из них — sAMAccountName, представляющий имя входа пред-Windows 2000 для компьютера со знаком доллара ($). Вторым будет атрибут userAccountControl компьютера, которому следует присвоить значение 4096 (01000 в шестнадцатеричном формате). Атрибут userAccountControl представляет собой набор битовых флагов. Этот бит указывает, что данная учетная запись предназначена для члена домена. Без него компьютер не сможет присоединиться к домену с помощью выбранной учетной записи. Ч т о б ы задать эти два атрибута, введите такую команду: SobjComputer.Put("sAMAccountName", "Иня_компьютера$")

$objComputeг.Put("userAccountControl", 4096)

Вы можете одновременно задать и другие атрибуты, например description или info. После настройки атрибутов подтвердите изменения посредством команды:

SobjComputer. SetlnfoO

• 206

Компьютеры

Глава 5

Импорт компьютеров из базы данных с помощью Windows PowerShell

На сертификационном экзамене 70-640 у вас вряд ли спросят о способах подключения к базе данных и создания компьютеров с помощью Windows PowerShell. Тем не менее наличие подобных знаний обеспечит реальное преимущество при работе в производственной среде. Предположим, что вы получили список компьютеров от поставщика. Вам нужно предварительно разместить учетные записи для этих систем. Сделать это без труда можно, воспользовавшись Windows PowerShell. С помощью сценариев также можно реализовать такую бизнес-логику, как внедрение стандартов именования. В этом подразделе мы опишем способы решения таких задач.

Командная оболочка Windows PowerShell может подключаться и открывать такие источники данных, как файлы .csv, которые создаются в программах Excel и Блокнот (Notepad). Например, вы можете вставить в таблицу Excel инвентарные номера (asset tag) из списка полученных компьютеров и сохранить эту таблицу как файл .csv с именем Assets.csv.

Предположим, что вам нужно импортировать эти компьютеры в домен с соблюдением двух правил. Во-первых, ноутбуки и настольные системы должны располагаться в отдельных дочерних подразделениях Laptops и Desktops подразделения Клиенты. Во-вторых, в соответствии с соглашениями об именовании, к инвентарному номеру требуется добавлять п р е ф и к с ы L или D, означающие соответственно ноутбуки и настольные системы. Например, имя компьютера, первого в списке на рис. 5-6, — DA849XD. Эти два простых правила — примеры так называемой логики в контексте программирования.

W i

. A

в

 

1 ' A l j e t T a g T y p e •.

 

1,2

IA849XD

D e s k t o p

 

, s | 0 8 2 K E 8

D e s k t o p

 

,STELW938

L a p t o p

 

'5 IXKO0GO _L?HisEL.

 

6

93JXS0

l a p t o p

 

 

 

 

 

' 7

J0GJ3

Laptop

 

Рис. 5-6.

Пример источника данных Excel с инвентарными номерами компьютеров

Для импорта компьютеров из файла можно использовать следующий сценарий (чтобы упростить последующее описание кода, мы добавили номера строк):

1.$dataSource=import-csv "Assets.csv"

2.foreach($dataRecord In Sdatasource) {

3.«map variables to data source

4.SAssetTag = SdataRecord.AssetTag

5.$Type = SdataRecord.Type

6.((determine name

7.SComputerName = SType.substrings, 1) + SAssetTag

8.$sAMAccountName=$ComputerName + "S"

9.«determine OU

Занятие 2

Автоматизация создания объектов компьютеров

2 0 7

10.SstrOUADsPath = "LDAP://0U=" + $Туре + "s" + "

11.", Ои=Клиенты, DC=contoso, DC=com"

12.«create the computer object

13.$objOU=[ADSI]$strOUADsPath

14.$objComputer=$objOU.Create("computer","CN="+$ComputerName)

15.SobjComputer. Put("sAMAccountName",SsAMAccountName)

16.JobjComputer.Put("userAccountControl".4096)

17.SobJComputer. SetlnfoO

18. }

Строки 1 3 - 1 7 аналогичны командам, показанным в предыдущем подразделе, за исключением того, что в строке 13 вместо жестко кодированного пути к подразделению используется переменная. Эти строки представляют собой часть блока кода в строках 2 - 1 8 и повторяются для каждой записи в источнике данных. Источник данных определен в строке 1 с помощью того самого командлета Import-Csv, который описан в главе 3. В строке 2 для выполнения цикла по всем записям в источнике данных используется коллекция foreach (Joreach — это псевдоним командлета ForEach-Object).

В строках 4 и 5 два поля в каждой записи назначаются переменным. В строках 6 - 1 1 выполняется бизнес-логика. В строке 7 создается имя компьютера с использованием первого символа в поле Type (D или L) и прикреплением AssetTag. В строке 8 создается атрибут sAMAccountName путем добавления знака доллара к имени компьютера. В строке 10 создается путь к подразделению объекта. Обратная кавычка в конце строки 10 представляет собой символ продолжения строки и означает, что код продолжает выполняться в строке 11. Поэтому строки 10 и 11 на самом деле составляют одну строку кода. Логика указывает, что компьютеры с т и п о м Desktop помещаются в подразделение Desktops.

Как продемонстрировано в этом сценарии, не так уж и сложно предварительно подготовить систему д л я новых объектов компьютеров. Определите источники данных и бизнес-логику, а сценарии Windows PowerShell сделают все остальное.

Создание компьютеров посредством VBScript

В VBScript д л я м а н и п у л и р о в а н и я объектами Active Directory используется тот же интерфейс ADSI (Active Directory Services Interface), что и в Windows PowerShell, так что создание компьютера происходит аналогично: подключение к контейнеру, создание объекта, заполнение его атрибутов и подтверждение изменений. Следующий код создает компьютер в домене:

Set objOU = Get0bject("LDAP://D«_подразделений")

Set objComputer = objOU.Create("computer","Cti-CN_KombBTepa") objComputer. Put "sAMAccountName", "Имй_компыотера$" objComputer. Put "userAccountControl", 4096

objComputer. Setlnf.o

Этот код очень похож на команды Winsdows PowerShell в строках 13-17 сценария, показанного в предыдущем подразделе.

Источник: https://studfile.net/preview/16435895/