<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; Excel VBA: Определение FullName пользователя домена]]></title>
	<link rel="self" href="http://forum.script-coding.com/extern.php?action=feed&amp;tid=9229&amp;type=atom" />
	<updated>2014-02-10T10:18:54Z</updated>
	<generator>PunBB</generator>
	<id>http://forum.script-coding.com/viewtopic.php?id=9229</id>
		<entry>
			<title type="html"><![CDATA[Re: Excel VBA: Определение FullName пользователя домена]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=79959#p79959" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>alexii пишет:</cite><blockquote><div class="codebox"><pre><code>Option Explicit

Sub GetUserInfo
    With GetObject(&quot;LDAP://&quot; &amp; CreateObject(&quot;ADSystemInfo&quot;).UserName)
        MsgBox &quot;Full name: &quot; &amp; .FullName
    End With
End Sub
</code></pre></div></blockquote></div><p>Alexii, спасибо! Все гениальное, как всегда, просто. Работает - влет. Вместо 2-х минут - 1 секунду. Осталось проверить на разных версиях Windows. Но, думаю, раз уж на XP работает, то на остальном тоже не подкачает.</p>]]></content>
			<author>
				<name><![CDATA[vinkonik]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=31742</uri>
			</author>
			<updated>2014-02-10T10:18:54Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=79959#p79959</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Excel VBA: Определение FullName пользователя домена]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=79958#p79958" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>alexii пишет:</cite><blockquote><div class="quotebox"><blockquote><p>Может быть, будет достаточно пары «домен\логин»?</p></blockquote></div></blockquote></div><p>Эта пара у меня есть, есть ещё SID и имя машины. Но в отчете для руководства это - мало что говорящая информация...<br />Практически - у меня и FullName есть, но, как я писал выше, машина &quot;подвисает&quot; минуты на две, пока по сети пролопатит AD. Я то могу подождать, а пользователи начинают нервничать....</p>]]></content>
			<author>
				<name><![CDATA[vinkonik]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=31742</uri>
			</author>
			<updated>2014-02-10T10:01:03Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=79958#p79958</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Excel VBA: Определение FullName пользователя домена]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=79893#p79893" />
			<content type="html"><![CDATA[<div class="quotebox"><blockquote><p>Alexii, к сожалению, раньше понедельника не смогу проверить... идет это у меня или нет.... т.к. сеть и файл на работе, а я сейчас не там.</p></blockquote></div><p>Аналогично, коллега. Не проверялось.</p><div class="quotebox"><blockquote><p>Сейчас, например, возникла необходимость идентификации пользователя - чтоб не только логин, но и полное имя.</p></blockquote></div><p>Может быть, будет достаточно пары «домен\логин»?</p>]]></content>
			<author>
				<name><![CDATA[alexii]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=1844</uri>
			</author>
			<updated>2014-02-08T22:02:51Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=79893#p79893</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Excel VBA: Определение FullName пользователя домена]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=79887#p79887" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>alexii пишет:</cite><blockquote><div class="codebox"><pre><code>Option Explicit

Sub GetUserInfo
    With GetObject(&quot;LDAP://&quot; &amp; CreateObject(&quot;ADSystemInfo&quot;).UserName)
        MsgBox &quot;Full name: &quot; &amp; .FullName
    End With
End Sub
</code></pre></div></blockquote></div><p>Alexii, к сожалению, раньше понедельника не смогу проверить... идет это у меня или нет.... т.к. сеть и файл на работе, а я сейчас не там.<br />Послезавтра попробую, результат отпишу.</p>]]></content>
			<author>
				<name><![CDATA[vinkonik]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=31742</uri>
			</author>
			<updated>2014-02-08T21:05:06Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=79887#p79887</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Excel VBA: Определение FullName пользователя домена]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=79886#p79886" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Rom5 пишет:</cite><blockquote><p>VBA выбран только из-за того, что работаете с данными в Excel? То и VBS может читать-писать в таблицы экселя.</p></blockquote></div><p>VBA выбран, т.к.: Есть файл Exсel, который уже превратился в программу, по причине наличия огромного кода, написанного на VBA (макросы, модули, формы и т.д.). Постоянно приходится &quot;допиливать&quot; существующий код. Сейчас, например, возникла необходимость идентификации пользователя - чтоб не только логин, но и полное имя. А найти его можно гарантированного только в AD (во всяком случае, в нашей организации).</p>]]></content>
			<author>
				<name><![CDATA[vinkonik]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=31742</uri>
			</author>
			<updated>2014-02-08T20:58:01Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=79886#p79886</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Excel VBA: Определение FullName пользователя домена]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=79848#p79848" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>vinkonik пишет:</cite><blockquote><p>Всем привет!<br />Есть тема для размышления, может есть решение?<br />Суть вопроса:<br />Необходимо программно получить на рабочей станции FullName (Description) пользователя домена.<br />[...]</p></blockquote></div><p>То речь о пользователе локальной машины (на которой исполняется скрипт) или скрипт должен работать с удалённой машиной?</p><p>Если машина - удалённая, то сначала с помощью WMI-запроса к ней определяете логин текущего пользователя (если он там есть), а по нему делаете запрос к AD. В реестр в любом случае лезть нет нужды.</p><p>В приведённом выше &quot;<a href="http://technet.microsoft.com/ru-ru/magazine/2007.08.heyscriptingguy.aspx">Эй, автор сценариев!</a>&quot; всё это есть.</p><br /><p><em>А может Вам нужно получить данные по менеджеру машины?:) Тогда - к машине и обращаться не нужно, всё запросом к AD делается.</em></p><p>--------<br />Хммм... не досмотрел, что работать хотите в VBA.<br />VBA выбран только из-за того, что работаете с данными в Excel? То и VBS может читать-писать в таблицы экселя.</p>]]></content>
			<author>
				<name><![CDATA[Rom5]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=5724</uri>
			</author>
			<updated>2014-02-07T20:40:37Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=79848#p79848</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Excel VBA: Определение FullName пользователя домена]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=79843#p79843" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>vinkonik пишет:</cite><blockquote><p>основано на переборе в цикле всех учеток пользователей в AD</p></blockquote></div><p>Зачем перебором?</p><div class="codebox"><pre><code>Option Explicit

Sub GetUserInfo
    With GetObject(&quot;LDAP://&quot; &amp; CreateObject(&quot;ADSystemInfo&quot;).UserName)
        MsgBox &quot;Full name: &quot; &amp; .FullName
    End With
End Sub
</code></pre></div><p><a href="http://blogs.technet.com/b/heyscriptingguy/archive/2005/11/03/how-can-i-determine-the-adspath-for-the-logged-on-user.aspx">How Can I Determine the ADsPath for the Logged-On User? - Hey, Scripting Guy! Blog - Site Home - TechNet Blogs</a><br /><a href="http://ss64.com/vb/syntax-userinfo.html">User Information | VBScript | SS64.com</a><br /><a href="http://technet.microsoft.com/ru-ru/magazine/2007.08.heyscriptingguy.aspx">Эй, автор сценариев!: Кто ты?</a></p><p><a href="http://msdn.microsoft.com/en-us/library/windows/desktop/aa705962(v=vs.85).aspx">IADsADSystemInfo interface (Windows)</a><br /><a href="http://msdn.microsoft.com/en-us/library/windows/desktop/aa746340(v=vs.85).aspx">IADsUser interface (Windows)</a></p>]]></content>
			<author>
				<name><![CDATA[alexii]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=1844</uri>
			</author>
			<updated>2014-02-07T17:14:28Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=79843#p79843</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Excel VBA: Определение FullName пользователя домена]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=79836#p79836" />
			<content type="html"><![CDATA[<p>Всем привет!<br />Есть тема для размышления, может есть решение?<br />Суть вопроса:<br />Необходимо программно получить на рабочей станции FullName (Description) пользователя домена.</p><p>Сразу скажу, есть одно решение, основано на переборе в цикле всех учеток пользователей в AD, и, при совпадении логина, считывается его FullName. Работает стабильно, но медленно, Excel &quot;подвисает&quot; на время цикла.</p><p>Есть две идеи, которые никак не получается реализовать (если, конечно, они реализуемы в VBA).<br />1. Попытаться считать из AD FullName по SID (возможно будет быстрее, чем сравнивать учетки по совпадению логина), но не методом сравнения, а адресно.<br />2. В системном реестре на станции есть нужная информация (не знаю, когда она туда попадает, но есть). Нужно найти в реестре все тот же SID и считать значение переменной Distinguished-Name. Как это сделать, если известна полная ветка реестра я знаю. Но проблема в том, что на разных станциях эта ветка не совпадает (возможно зависит от версии Windows), поэтому использовать это решение неприемлемо.</p><p>Что скажете, знатоки? Можно реализовать хотя бы одну из идей? А, может, предложите другой вариант???</p>]]></content>
			<author>
				<name><![CDATA[vinkonik]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=31742</uri>
			</author>
			<updated>2014-02-07T14:16:52Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=79836#p79836</id>
		</entry>
</feed>
