<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; JS: Разница в отображении объектов AD в VBS и JS]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=11224&amp;type=atom" />
	<updated>2016-01-18T10:05:44Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=11224</id>
		<entry>
			<title type="html"><![CDATA[Re: JS: Разница в отображении объектов AD в VBS и JS]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=100479#p100479" />
			<content type="html"><![CDATA[<p>mozers, спасибо, протупил. </p><p>Что касается &quot;без указания провайдера&quot;,&nbsp; это понятно. Просто я, обычно, использую универсальную обертку для получения объекта, чтобы не думать, в каком виде он запрашивается.</p>]]></content>
			<author>
				<name><![CDATA[ElCooper]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=33490</uri>
			</author>
			<updated>2016-01-18T10:05:44Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=100479#p100479</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: JS: Разница в отображении объектов AD в VBS и JS]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=100471#p100471" />
			<content type="html"><![CDATA[<p><strong>ElCooper</strong><br />1. Ваш пример, <a href="http://www.script-coding.com/ADSI.html">без указания провайдера</a> в строке подключения, не будет работать ни в VBS ни в JS.<br />2. Элемент ADSI, возвращаемый данной процедурой, представляет собой<br />- не обычный объект JS, который можно перебрать с помощью <span style="color: blue">for (var item in Obj)</span><br />- и не массив, доступ к элементам которого осуществляется через квадратные скобки <span style="color: blue">xObj[item]</span><br />- это - коллекция, которую можно перебрать только используя объект <span style="color: blue">Enumerator</span></p><p>Таким образом, рабочий код твоего примера будет выглядеть как то так:<br /></p><div class="codebox"><pre><code>var obj = GetObject(&quot;LDAP://domain&quot;);
ListADObj(obj);

function ListADObj(xObj) {
	var enumItems = new Enumerator(obj);
	for (; !enumItems.atEnd(); enumItems.moveNext()) {
		WScript.Echo(enumItems.item().Name);
	}
}</code></pre></div>]]></content>
			<author>
				<name><![CDATA[mozers]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=4112</uri>
			</author>
			<updated>2016-01-18T08:15:04Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=100471#p100471</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: JS: Разница в отображении объектов AD в VBS и JS]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=100364#p100364" />
			<content type="html"><![CDATA[<p><strong>mozers</strong>, вынужден удалить ваше сообщение. <br /><span style="color: green"><strong>ElCooper</strong>, ознакомьтесь с <a href="http://forum.script-coding.com/viewtopic.php?id=10437">этой</a> темой, отредактируйте свой пост.</span></p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2016-01-15T17:37:58Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=100364#p100364</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[JS: Разница в отображении объектов AD в VBS и JS]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=100359#p100359" />
			<content type="html"><![CDATA[<p>Получим объект AD.</p><p>Например, <strong>obj=GetObject(&quot;CN=Builtin&quot;+Вашдомен)</strong></p><p>Теперь функция VBS&nbsp; ListADObj(obj) покажет вложенные контейнеры (Account Operators, Administrators ...)</p><div class="codebox"><pre><code>
Function ListADObj(ou)
Dim obj 
For Each obj In ou
    WScript.Echo obj.name
Next
End Function
</code></pre></div><p>Аналогичная функция JS не показывает ничего</p><div class="codebox"><pre><code>

function ListADObj(xObj)  {
for (var item in xObj) { WScript.Echo(item.name); }
}

</code></pre></div><br /><p>Замена на xObj[item] ничего не дает. Собственно, вообще в цикл не входит.</p><p>Что так?</p>]]></content>
			<author>
				<name><![CDATA[ElCooper]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=33490</uri>
			</author>
			<updated>2016-01-15T12:21:16Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=100359#p100359</id>
		</entry>
</feed>
