Тема: VBScript: копирование значения одного поля Active Directory в другое
Скрипт для копирования данных из одного поля Active Directory в другое, у всех элементов. AD обходится рекурсивно, от указанной точки. Копирование поля не производится, если это контейнер или исходное поле пустое.
' Скрипт для копирования данных из одного поля Active Directory в другое, у всех элементов.
' AD обходится рекурсивно, от указанной точки.
' Копирование поля не производится, если это контейнер или исходное поле пустое.
Option Explicit
Dim sStartPoint ' начальная точка входа в AD
Dim FieldFrom ' имя поля Active Directory, которое копируем
Dim FieldTo ' имя поля Active Directory, в которое копируем
Dim oHolding ' объект точки входа в AD
' => НАСТРОЙКИ ====================================================================================
sStartPoint = UCase("LDAP://OU=holding,DC=mydomain,DC=ru") ' начальная точка входа в AD
FieldFrom = "info" ' имя поля Active Directory, которое копируем
FieldTo = "extensionAttribute14" ' имя поля Active Directory, в которое копируем
' <= НАСТРОЙКИ ====================================================================================
Set oHolding = GetObject(sStartPoint)
WalkActiveDirectory oHolding
WScript.Echo "Обработка завершена."
'==================================================================================================
Sub WalkActiveDirectory(ByRef oStart)
On Error Resume Next
Dim oOrgUnit ' вложенное подразделение
Dim val ' значение поля FieldFrom
If IsEmpty(oStart.ou) Then ' это элемент
val = oStart.Get(FieldFrom)
If Not IsEmpty(val) Then
oStart.Put FieldTo, val ' собственно запись
oStart.SetInfo
End If
Else ' это контейнер
For Each oOrgUnit In oStart
WalkActiveDirectory oOrgUnit
Next
End If
End SubВ названии ветки всегда должен быть указан язык программирования или среда исполнения скрипта, если это возможно.

