Занятие 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:Пароль]
• 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