<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; VBScript: копирование значения одного поля Active Directory в другое]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=2297&amp;type=atom" />
	<updated>2008-10-03T12:06:54Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=2297</id>
		<entry>
			<title type="html"><![CDATA[VBScript: копирование значения одного поля Active Directory в другое]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=14451#p14451" />
			<content type="html"><![CDATA[<p>Скрипт для копирования данных из одного поля Active Directory в другое, у всех элементов. AD обходится рекурсивно, от указанной точки. Копирование поля не производится, если это контейнер или исходное поле пустое.<br /></p><div class="codebox"><pre><code>&#039; Скрипт для копирования данных из одного поля Active Directory в другое, у всех элементов.

&#039; AD обходится рекурсивно, от указанной точки.
&#039; Копирование поля не производится, если это контейнер или исходное поле пустое.

Option Explicit

Dim sStartPoint &#039; начальная точка входа в AD
Dim FieldFrom &#039; имя поля Active Directory, которое копируем
Dim FieldTo &#039; имя поля Active Directory, в которое копируем
Dim oHolding &#039; объект точки входа в AD

&#039; =&gt; НАСТРОЙКИ ====================================================================================
sStartPoint = UCase(&quot;LDAP://OU=holding,DC=mydomain,DC=ru&quot;) &#039; начальная точка входа в AD
FieldFrom = &quot;info&quot; &#039; имя поля Active Directory, которое копируем
FieldTo = &quot;extensionAttribute14&quot; &#039; имя поля Active Directory, в которое копируем
&#039; &lt;= НАСТРОЙКИ ====================================================================================

Set oHolding = GetObject(sStartPoint)
WalkActiveDirectory oHolding
WScript.Echo &quot;Обработка завершена.&quot;
&#039;==================================================================================================
Sub WalkActiveDirectory(ByRef oStart)
    On Error Resume Next
    Dim oOrgUnit &#039; вложенное подразделение
    Dim val &#039; значение поля FieldFrom
    
    If IsEmpty(oStart.ou) Then &#039; это элемент
        val = oStart.Get(FieldFrom)
        If Not IsEmpty(val) Then
            oStart.Put FieldTo, val &#039; собственно запись
            oStart.SetInfo
        End If
    Else &#039; это контейнер
        For Each oOrgUnit In oStart
            WalkActiveDirectory oOrgUnit
        Next
    End If
End Sub</code></pre></div>]]></content>
			<author>
				<name><![CDATA[The gray Cardinal]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=2</uri>
			</author>
			<updated>2008-10-03T12:06:54Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=14451#p14451</id>
		</entry>
</feed>
