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

' Этот код перемещает компьютер в заданный контейнер или подразделение

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

strCompDN = "<ОИ_компьютера>" 'Например:cn=ivan-xp,cn=users,dc=povtas,dc=com

strOUDN = "<ОИ_нового_род_контейнера>" 'Например:ou=workstations,dc=povtas,dc=com

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

set ObjComp = GetObject("LDAP://" & strCompDN)

set objOU = GetObject("LDAP://" & strOUDN)

objOU.MoveHere objComp.ADsPath, objComp.Name

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

  1. Переименование компьютера

'Этот код переименовывает компьютер и записывает его новое имя в каталог Active Directory

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

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

strNewComputer ="<новое_имя_компьютера>" 'Например:ivan-xp

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

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

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

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

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

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

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

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

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.Rename(strNewComputer,

strDomainPasswd,

strDomainUser)

if rc<>0 then

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

else

WScript.Echo "Successfully renamed " & strComputer & " to " & strNewComputer

end if

WScript.Echo "Rebooting..."

set objWSHShell = WScript.CreateObject("WScript.Shell")

objWSHShell.Run "shutdown.exe /r"

Чтобы переименовать компьютер, нужно выполнить два действия: переименовать в Active Directory объект computer и изменить имя самого компьютера. Для того чтобы сделать это за один раз, как показано выше, в Active Directory нужно иметь разрешение на переименование учетной записи, а на компьютере, подлежащем переименованию, - разрешения администратора.

Внимание.

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

Если компьютер, который вы хотите переименовать, не входит в состав домена, метод Win32_ComputerSystem::Rename должен выполняться на нем локально. Про­граммное решение не позволяет задать для подключения имя и пароль пользова­теля, отличные от имени и пароля пользователя домена. По этой причине учетная запись, задаваемая при вызове метода Rename, должна иметь на переименовываемом компьютере права администратора (то есть быть членом группы Администраторы), а также иметь разрешение на переименование объекта computer в Active Directory.

Примечание. Данный метод является нововведением Windows ХР и Windows Server 2003, поэтому недоступен в Windows 2000 и более ранних операционных системах.

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