Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Teoria_LR_6.doc
Скачиваний:
8
Добавлен:
25.11.2019
Размер:
233.98 Кб
Скачать
  1. Создание объекта computer

' Этот код создает объект computer

' ----- SCRIPT CONFIGURATION ------------

strBase = "<имя_род_конт_компьютера>" 'Например: cn=Computers,dc=povtas,dc=com

strComp = "<имя_компьютера>" 'Например: ivan-pc

strDescr = "<описание>" 'Например: ivan's Windows XP workstation

' ----- END CONFIGURATION ---------------

'Из перечисления ADS_USER_FLAG_ENUM

Const ADS_UF_WORKSTATION_TRUST_ACCOUNT = &h1000

set objCount = GetObject("LDAP://" & strBase)

set objComp = objCont.Create("computer","cn=" & strComp)

objComp.Put "sAMAccountName", strComp & "$"

objComp.Put "description", strDesc

objComp.Put "userAccountControl", ADS_UF_WORKSTATION_TRUST_ACCOUNT

objComp.SetInfo

Wscript.Echo "Computer account for " & strComp & " created"

Процедура создания объекта computer в Active Directory мало чем отличается от процедуры создания объекта user. В решениях с использованием командной строки и сценария на языке VBScript обычно (но не всегда) устанавливается значение атрибута description. Единственным обязательным атрибутом является отличи­тельное имя компьютера, которое в сценарии на языке VBScript используется также для заполнения атрибута sAMAccountName, представляющего имя учетной за­писи SAM, — в него записывается имя компьютера с символом «$» на конце. За­метьте, что во всех решениях просто создается объект computer. Однако одного только его присутствия недостаточно для того, чтобы пользователь мог присоеди­нить этот компьютер к домену.

  1. Присоединение компьютера к домену

---------------------------------------------------------------------------

'Этот код присоединяет компьютер к домену

' ------- SCRIPT CONFIGURATION --------------

strComputer ="<имя_компьютера>" 'Например:ivan-pc

strDomain ="<имя_домена>" 'Например:povtas.com

strDomainUser ="<UPN-имя_пользователя>" 'Например:administrator@povtas.com

strDomainPassword ="<пароль_пользователя_домена>"

strLocalUser ="<администратор_компьютера>" 'Например:administrator

strLocalPasswd ="<пароль_пользователя_компьютера>"

' ------- END CONFIGURATION -----------------

'##################

'Константы

'##################

Const JOIN_DOMAIN = 1

Const ACCT_CREATE = 2

Const ACCT_DELETE = 4

Const WIN9X_UPGRADE = 16

Const DOMAIN_JOIN_IF_JOINED = 32

Const JOIN_UNSECURE = 64

Const MACHINE_PASSWORD_PASSED = 128

Const DEFERRED_SPN_SET = 256

Const INSTALL_INVOCATION = 262144

'##################

'Подключение к компьютеру

'##################

set objWMILocator = CreateObject("WbemScripting.SWbemLocator")

objWMILocator.Security_.AuthenticationLevel = 6

set objWMIComputer = objWMILocator.ConnectServer(strComputer,

"root\cimv2",

strLocalUser,

strLocalPasswd)

set objWMIComputerSystem = objWMIComputer.Get(

"Win32_ComputerSystem.Name='"&

strComputer & "'")

'###################

'Присоединение к домену

'###################

rc = objWMIComputerSystem.JoinDomainOrWorkGroup(strDomain,

strDomainPasswd,

strDomainUser,

vbNullString,

JOIN_DOMAIN)

if rc<>0 then

WScript.Echo "Join failed with error: " & rc

else

WScript.Echo "Successfully joined " & strComputer & " to " & strDomain

end if

При необходимости присоединить компьютер к домену Active Directory нужно сначала создать представляющий его объект computer.

Для удаленного выполнения метода Win32_ComputerSystem::JoinDomainOrWorkGroup нужно установить параметр AuthenticationLevel равным 6, чтобы трафик между двумя компьютерами (а точнее, передаваемые между ними пароли) обязательно шифровался. Создать объект computer можно и с помощью метода JoinDomainOrWorkGroup, задав флаги ACCT_CREATE и JOIN_DOMAIN.

Примечание. Указанная возможность доступна только в Windows ХР и Windows Server 2003, но не в Windows 2000 и более ранних операционных системах.

Данный сценарий, равно как и утилиту netdom, нельзя выполнять для удаленного компьютера, на котором включена установка ForceGuest.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]