<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; SQL: Получить список компьютеров домена]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=5806&amp;type=atom" />
	<updated>2011-06-02T13:58:06Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=5806</id>
		<entry>
			<title type="html"><![CDATA[Re: SQL: Получить список компьютеров домена]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=48909#p48909" />
			<content type="html"><![CDATA[<p>Учётка с которой стартует SQL указана в свойствах службы SQLSERVER(для 2005-го может называться иначе) - обычно стартует с правами локальной системы, но если для работы требуется доступ к сетевым ресурсам, то указывают учётную запись с доступом к сети.</p><p>Авторизация бывает внутренняя (суперпользователь sa) или windows-авторизация(когда используются учётные данные залогинившегося пользователя). Вариант параметров sp_addlinkedsrvlogin в этой теме подходит для внутренней авторизации пользователя, но не факт что будет работать с windows-авторизацией. Опять же вопрос - имеет ли этот пользователь достаточно прав полноценной для работы? Всё таки LocalSystem не такая уж ограниченная в правах учётка(если не считать отсутствие сетевых прав).</p><p>Логи безопасности нужно смотреть на сервере эмулирующем основной контроллер домена(если не ошибаюсь). В настройках аудита нужно проверить включен ли аудит успеха/отказа для событий безопасности.</p><p>Хотя возможно это всё тычки пальцем в небо, и имеет место неприятный и трудно вылавливаемый глюк...</p>]]></content>
			<author>
				<name><![CDATA[BeS Yara]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=25643</uri>
			</author>
			<updated>2011-06-02T13:58:06Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=48909#p48909</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: SQL: Получить список компьютеров домена]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=48899#p48899" />
			<content type="html"><![CDATA[<p><strong>2 BeS Yara:</strong> </p><div class="quotebox"><blockquote><p>Кстати, SQL сервер стартует от какой учётки? Какая авторизация на нём?<br />А в логах безопасности сервера(DC) есть какие-нибудь события на момент ошибки?</p></blockquote></div><p>Я к сожалению плохо ориентируюсь в настройке SQL сервака. А зацепить что нибудь не то - так же стрёмно. ) Так что выяснить где эти настройки так и не смог. Решили проблему добавлением в задание VBS скрипта, который по WMI шарится и собирая нужну инфу кидает в нужную нам табличку. Не айс решение, но что поделать. <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p>]]></content>
			<author>
				<name><![CDATA[Xameleon]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=8836</uri>
			</author>
			<updated>2011-06-02T10:17:24Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=48899#p48899</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: SQL: Получить список компьютеров домена]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=48846#p48846" />
			<content type="html"><![CDATA[<p>Добрый день.</p><p>Посмотрел статью - для объекта ADSDSOObject там предлагается снять чекбокс у &quot;Allow In Process&quot;(&quot;Допускать в ходе процесса&quot;), однако у меня этот чекбокс включен по умолчанию и всё работает.<br />По поводу этого чекбокса нашел такое на <a href="http://www.sql.ru/forum/actualthread.aspx?tid=408358">SQL.RU</a>:<br /></p><div class="quotebox"><blockquote><p>Запросов к ораклу выполняется много и данных они получают/отсылают тоже много. На боевом сервере регулярно кончалась непрерывная память и приходилось его перезапускать. Эта проблема вылечилась снятием галки InProcess (т.е. провайдер выполняется не в адресном пространстве sql-сервера)</p></blockquote></div><p>Так что теоретически он тут не при чём.<br />Кстати, SQL сервер стартует от какой учётки? Какая авторизация на нём?<br />А в логах безопасности сервера(DC) есть какие-нибудь события на момент ошибки?<br />P.S. не знаю, существенно это или нет, но у меня на SQL именованные каналы отключены - из &quot;средств связи&quot; оставлен только TCP.</p>]]></content>
			<author>
				<name><![CDATA[BeS Yara]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=25643</uri>
			</author>
			<updated>2011-05-31T06:44:10Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=48846#p48846</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: SQL: Получить список компьютеров домена]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=48838#p48838" />
			<content type="html"><![CDATA[<p>Доброго вечера. ) Попробовал сегодня ещё поэкспериментировать. Пока без результатов. Почитал в инете про ошибку 7301. В качестве исправления предлагают добавить права на объект <strong>MSDAINITIALIZE</strong> для пользователя с правами и у прилинкованного сервера выставить параметры соединения с правами. Выставил.</p><p>Вот что читал на MSDN.<br /><a href="http://blogs.msdn.com/b/dataaccesstechnologies/archive/2010/08/19/permissions-needed-to-set-up-linked-server-with-out-of-process-provider.aspx">ссылка</a></p><p>Не помогает. После каждого изменения ребутал службу SQL сервера. Полный бесперспективняк.</p>]]></content>
			<author>
				<name><![CDATA[Xameleon]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=8836</uri>
			</author>
			<updated>2011-05-30T18:37:19Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=48838#p48838</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: SQL: Получить список компьютеров домена]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=48822#p48822" />
			<content type="html"><![CDATA[<div class="codebox"><pre><code>
SELECT  *
FROM OPENQUERY(MyDomenAD, 
     &#039;SELECT *
          FROM &#039;&#039;LDAP://DC=mydomen,DC=local&#039;&#039;
    &#039;)</code></pre></div><p>Проверил - если указываю в запросе краткое имя(без .local), то получаю ошибку: &quot;An error occurred while preparing a query for execution against OLE DB provider &#039;ADSDSOObject&#039;.&quot; Так что скорее всего проблема где-то в строке LDAP или в настроёках AD. С последним не уверен что помогу - пока работает, я стараюсь систему не трогать(экспериментировать на боевом сервере не готов) <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /><br />DC - Windows Server 2003 Standart R2(32bit), SQL у меня на ноуте(WinXP Pro. Не в домене, но рабочая группа как краткое имя домена).</p>]]></content>
			<author>
				<name><![CDATA[BeS Yara]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=25643</uri>
			</author>
			<updated>2011-05-30T05:51:09Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=48822#p48822</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: SQL: Получить список компьютеров домена]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=48731#p48731" />
			<content type="html"><![CDATA[<p><strong>BeS Yara</strong></p><p>1) Полностью называется BANK. Поэтому пробывал</p><div class="codebox"><pre><code>
SELECT  *
FROM OPENQUERY(BANK, 
     &#039;SELECT *
          FROM &#039;&#039;LDAP://DC=BANK,DC=local&#039;&#039;
    &#039;)</code></pre></div><p>и</p><div class="codebox"><pre><code>
SELECT  *
FROM OPENQUERY(BANK, 
     &#039;SELECT *
          FROM &#039;&#039;LDAP://DC=BANK&#039;&#039;
    &#039;)</code></pre></div><p>К сожалению равноценно.</p><p>2) У нас свзяь доменконтроллера и SQL сервера по идее прямая. Но предполагаю, что наш главный администратор мог закрыть какие то порты в целях безопасности или остановить какие то службы на доменконтроллере. </p><p>3) Вот и я в понедельник продолжу. <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /> Спасибо за помощь.</p>]]></content>
			<author>
				<name><![CDATA[Xameleon]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=8836</uri>
			</author>
			<updated>2011-05-27T18:09:41Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=48731#p48731</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: SQL: Получить список компьютеров домена]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=48727#p48727" />
			<content type="html"><![CDATA[<p>А домен полностью как называется, bank или bank.local?<br />В моём случае именно mydomen.local, хотя на mydomen тоже отзывается <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p><p>Насколько влияет полное-неполное имя домена в запросе к LDAP сказать пока не могу - я уже не на работе, и эти запросы(которые из офиса работали) у меня даже через впн не срабатывают: &quot;An error occurred while preparing a query for execution against OLE DB provider &#039;ADSDSOObject&#039;&quot;. Все &quot;костыли&quot; которые в голову приходили уже испробовал, так что только в понедельник посмотреть смогу.</p>]]></content>
			<author>
				<name><![CDATA[BeS Yara]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=25643</uri>
			</author>
			<updated>2011-05-27T15:03:33Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=48727#p48727</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: SQL: Получить список компьютеров домена]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=48713#p48713" />
			<content type="html"><![CDATA[<p><strong>2 Bes Yara:</strong> Очень благодарен Вам за ответ !. Т.к тема по прежнему актуальна для меня. <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /> Но к сожалению я до сих пор бьюсь всё об тот же косяк. При выполнении любого запроса получаю:</p><div class="quotebox"><blockquote><p>An error occurred while preparing the query &quot;<br />&nbsp; SELECT name<br />&nbsp; FROM &#039;LDAP://DC=BANK,DC=local&#039;<br />&nbsp; WHERE objectCategory=&#039;computer&#039;<br />&nbsp; &quot; for execution against OLE DB provider &quot;ADSDSOObject&quot; for linked server &quot;BANK&quot;.</p></blockquote></div><p>Домен у нас BANK.</p><p>Выполнял всё вот так</p><div class="codebox"><pre><code>
sp_addlinkedserver &#039;BANK&#039;, &#039;Active Directory Service Interfaces&#039;, &#039;ADSDSOObject&#039;, &#039;adsdatasource&#039;

sp_addlinkedsrvlogin &#039;BANK&#039;, FALSE, &#039;sa&#039;, &#039;BANK\Администратор&#039;, &#039;DomainAdminPassword&#039;</code></pre></div><p><strong>DomainAdminPassword</strong> - указывал пароль доменного Администратора. </p><p>Линковка, как и раньше прошла успешно. Ранее коннектил AD под именем ADSI.</p><p>Решил просто через интерфейс студии пощупать BANK в списке прилинкованных серверов. Дойдя до default\tables получаю сообщение:</p><div class="quotebox"><blockquote><p>TITLE: Microsoft SQL Server Management Studio<br />------------------------------</p><p>Failed to retrieve data for this request. (Microsoft.SqlServer.SmoEnum)</p><p>For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&amp;LinkId=20476</p><p>------------------------------<br />ADDITIONAL INFORMATION:</p><p>An exception occurred while executing a Transact-SQL statement or batch. (Microsoft.SqlServer.ConnectionInfo)</p><p>------------------------------</p><p>Cannot obtain the required interface (&quot;IID_IDBSchemaRowset&quot;) from OLE DB provider &quot;ADSDSOObject&quot; for linked server &quot;BANK&quot;. (Microsoft SQL Server, Error: 7301)</p><p>For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&amp;ProdVer=09.00.5000&amp;EvtSrc=MSSQLServer&amp;EvtID=7301&amp;LinkId=20476</p><p>------------------------------<br />BUTTONS:</p><p>OK<br />------------------------------</p></blockquote></div><p>Есть у меня подозрения, что либо какие то службы на доменконтроллере остановлены, либо порты какие то закрыты, либо и правда какой то Shem-ы нету для формирования данных в нормальном виде. В общем - хрень полная. )</p>]]></content>
			<author>
				<name><![CDATA[Xameleon]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=8836</uri>
			</author>
			<updated>2011-05-27T09:48:47Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=48713#p48713</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: SQL: Получить список компьютеров домена]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=48705#p48705" />
			<content type="html"><![CDATA[<p>День добрый!</p><p>Так как не знаю что пробовалось, опишу что делал я <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p><p>1. С помощью процедуры <strong>sp_addlinkedserver</strong> создал связанный сервер(менял только первый параметр процедуры):<br /></p><div class="codebox"><pre><code>
sp_addlinkedserver &#039;MyDomenAD&#039;, &#039;Active Directory Service Interfaces&#039;, &#039;ADSDSOObject&#039;, &#039;adsdatasource&#039;</code></pre></div><p>2. Так как у меня используется встроенная авторизация, то с помощью процедуры <strong>sp_addlinkedsrvlogin</strong> добавил логин для входа на связанный сервер(первый параметр это имя связанного сервера, назначенное в sp_addlinkedserver):<br /></p><div class="codebox"><pre><code>
sp_addlinkedsrvlogin &#039;MyDomenAD&#039;, false, &#039;sa&#039;, &#039;MyDomen\Administrator&#039;, &#039;SuperSecretPassword&#039;</code></pre></div><p>Если я правильно перевёл &quot;BOL2000: OLE DB Provider for Microsoft Directory Services&quot;, то при использовании в MS SQL Server Windows-авторизации этот пункт не требуется.<br />3. Слегка допилил запрос из MSDN:<br /></p><div class="codebox"><pre><code>
SELECT  [NAME]
FROM OPENQUERY(MyDomenAD, 
  &#039;
  SELECT name
  FROM &#039;&#039;LDAP://DC=mydomen,DC=local&#039;&#039;
  WHERE objectCategory=&#039;&#039;computer&#039;&#039;
  &#039;)</code></pre></div><p>На выходе список компьютеров домена</p><p>Проверенно на MSSQL2000(девелоперский) и SQL Server Express 2005(который с &quot;продвинутыми фичами&quot; <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" />). Использовано BOL2000(описание процедур) и немного MSDN(<a href="http://msdn.microsoft.com/en-us/library/aa772380(v=vs.85).aspx">Distributed Query</a>)</p><p>По поводу работы примеров - в попадавшихся примерах к ошибкам приводило:<br />1. Неправильные кавычки(главный бич примеров в интернете, результат бездумного украшательства там где это недопустимо). А именно замена одинарных на двойные, использование двойных вместо одинарных внутри строки в OPENQUERY(в запросе выше все символы кавычек одинарные).<br />2. Схема может отличаться, тогда выбираемые колонки или условия будут не верны. Однако QA сообщит лишь о том что &quot;что-то не срослось&quot; при работе с &quot;ADSDSOObject&quot; <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" />. В этом случае стоит попробовать убрать явно задаваемые имена колонок. Например так:<br /></p><div class="codebox"><pre><code>
SELECT  *
FROM OPENQUERY(MyDomenAD, 
     &#039;SELECT *
      	FROM &#039;&#039;LDAP://DC=mydomen,DC=local&#039;&#039;
	&#039;)</code></pre></div><p>Получим полный набор данных, анализируем что мы имеем в реальности и затачиваем запрос под нашу схему.<br />3. Строка авторизации. В примерах пользователь для входа на сервер для п.2 указывался в стиле AD, в результате чего QA ругался что отсутствуют права доступа к данным.</p>]]></content>
			<author>
				<name><![CDATA[BeS Yara]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=25643</uri>
			</author>
			<updated>2011-05-27T06:49:10Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=48705#p48705</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[SQL: Получить список компьютеров домена]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=48404#p48404" />
			<content type="html"><![CDATA[<p>Доброго времени суток. ) Пришёл к Вам с вопросом: Как в SQL получить список компьютеров домена и их IP ?</p><p>Начал с поиска в интернете запросом &quot;<strong>SQL ADSI</strong>&quot;<br /><a href="http://www.google.ru/#hl=ru&amp;source=hp&amp;biw=1276&amp;bih=774&amp;q=SQL+ADSI&amp;aq=f&amp;aqi=g10&amp;aql=&amp;oq=&amp;fp=76009eb63e1c0ff9">http://www.google.ru/#hl=ru&amp;source= … b63e1c0ff9</a><br />Посмотрел примеры. Подключил ADSI как базу. Но что то всё невнятно. И примеры не запускаются. Выдают ошибки.<br />Кто нибудь занимался подобный вопросом ? Буду очень благодарен примерам / ссылкам / кратким инструкциям и т.п. )<br />Из ресурсов Microsoft SQL Server 2005 и AD. Если нужна доп. информация - готов посмотреть и ответить. )</p>]]></content>
			<author>
				<name><![CDATA[Xameleon]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=8836</uri>
			</author>
			<updated>2011-05-16T07:10:42Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=48404#p48404</id>
		</entry>
</feed>
