<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; HTA+VBS: Подключение принтеров в домене]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=7162</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=7162&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «HTA+VBS: Подключение принтеров в домене».]]></description>
		<lastBuildDate>Fri, 04 May 2012 09:57:27 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: HTA+VBS: Подключение принтеров в домене]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=59957#p59957</link>
			<description><![CDATA[<div class="quotebox"><cite>MikeSh пишет:</cite><blockquote><p>[..]<br />Проблема.<br />При пересаживании на другое место или при первом входе нового пользователя в его профиле нет принтера, если, конечно, принтер не подключен именно к этому компьютеру или не установлен сетевой принтер (это тот, который имеет RJ-45, типа HP 1536 dnf).<br />В результате приходится подключаться к компу и писать на нём \\имя_компа_с_расшаренным_принтером\имя_расшаренного_принтера<br />Это не долго, и если бы раз в год, то я бы и не заморачивался.<br />К сожалению, эту процедуру мне приходится делать 5 (+-3) раза в неделю. Сами пользователи делать это не будут. И точка. В смысле, не барское это дело.<br />[..]</p></blockquote></div><p>Когда мне в случае недоступности/неадекватности пользователя приходится решать самому - с каким сетевым/расшаренным принтером работать новому пользователю машины, то я смотрю в профиль пользователя, который перед этим был за этой машиной. </p><p>Т.е. с помощью своей утилитки (<a href="https://sites.google.com/site/scripttools/home/regloadhive-hta">regLoadHive.hta</a>) визуально определяю наиболее &quot;свежего из давешних&quot; пользователя, потом подгружаю куст его реестра и смотрю - что у него было там по умолчанию.</p><p>Далее, если принтер у предыдущего был сетевой, то его устанавливаю по умолчанию для текущего юзера - делаю аналогичную запись в реестр HKU текущего пользователя (это удобно сделать другой моей утилитой - <a href="https://sites.google.com/site/scripttools/home/printerlistpc-hta">printerListPC.hta</a> - она, кстати, через WMI показывает установленные принтера, их готовность и задействованные порты), а если был расшаренный, а такое бывает очень редко - то таки приходится подключаться в сессию пользователя Ассистентом.</p>]]></description>
			<author><![CDATA[null@example.com (Rom5)]]></author>
			<pubDate>Fri, 04 May 2012 09:57:27 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=59957#p59957</guid>
		</item>
		<item>
			<title><![CDATA[Re: HTA+VBS: Подключение принтеров в домене]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=59871#p59871</link>
			<description><![CDATA[<div class="quotebox"><cite>Dmitrii пишет:</cite><blockquote><p>Надо ли понимать, что &quot;реально подключенный принтер&quot; - это принтер, включенный и находящийся в состоянии &quot;Готов&quot; в данный момент?</p></blockquote></div><p>Обобщённый критерий, он же реально подключенный принтер, в моём случае таков : Локальный принтер, подключенный к локальному компьютеру &quot;шнурком&quot; usb или LPT (BT, FireWire, IrDA, COM - таких нет) и включенный в данный момент. Все остальные принтеры, например &quot;Microsoft XPS Document Writer&quot;, меня не интересуют.</p><div class="quotebox"><cite>Dmitrii пишет:</cite><blockquote><p>Вероятно,- экспортировать?</p></blockquote></div><p>Да, экспортировать.</p><div class="quotebox"><cite>Dmitrii пишет:</cite><blockquote><p>В чьём контексте безопасности выполняется эта процедура?</p></blockquote></div><p>В контексте безопасности пользователя в данный момент. Прав достаточно. Но вообще этот вопрос навёл меня на интересные рассуждения, которые приведут, скорее всего, к глобальной переписке кода. Спасибо.</p><div class="quotebox"><cite>Dmitrii пишет:</cite><blockquote><p>Каким бы способом Вы ни обеспечили пользователю нужное &quot;направление&quot; печати, напечатанный документ надо будет забирать там, где принтер находится физически (т.е. около станции w000141), а не там, где стоит станция w000458.<br />Или я опять чего-то не понимаю?</p></blockquote></div><p>Вы правильно понимаете, но не до конца, судя по вопросу.<br />Смысл всего процесса не задать правильное направление печати, а сделать это один раз.<br />Он и раньше бы забирал результат печати около станции w000141, т.к. у компьютера w000458 принтера нет, а этот ближайший.<br />Просто сейчас, когда за компьютер w000458 сядет новый пользователь, мне уже не придётся устанавливать ему принтер, т.к. он уже будет прописан в профиле компьютера.</p>]]></description>
			<author><![CDATA[null@example.com (MikeSh)]]></author>
			<pubDate>Tue, 01 May 2012 04:50:13 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=59871#p59871</guid>
		</item>
		<item>
			<title><![CDATA[Re: HTA+VBS: Подключение принтеров в домене]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=59861#p59861</link>
			<description><![CDATA[<div class="quotebox"><blockquote><p>... Вы никогда не замечали установленного принтера Agfa AccuSet среди прочих принтеров пользователя?..</p></blockquote></div><p>Нет. В нашей сети пользователи не имеют пономочий на установку драйверов принтеров, а сотрудники ИТ-отдела понимают, что они делают.<br />Однако я ожидал обобщённого критерия, а не частного примера.</p><div class="quotebox"><blockquote><p>... Утилита DevCon просматривает только реально подключенные устройства &lt;...&gt; Если принтер подключен к компу, но выключен, то она его не найдёт...</p></blockquote></div><p>Надо ли понимать, что &quot;реально подключенный принтер&quot; - это принтер, включенный и находящийся в состоянии &quot;Готов&quot; в данный момент?</p><div class="quotebox"><blockquote><p>... PDRVGen позволяет импортировать любой драйвер принтера, который установлен на данном компьютере...</p></blockquote></div><p>Вероятно,- экспортировать?</p><div class="quotebox"><blockquote><p>... когда я устанавливаю драйвер...</p></blockquote></div><p>В чьём контексте безопасности выполняется эта процедура?</p><div class="quotebox"><blockquote><p>... Компьютер w000141, к нему через usb подключен принтер Canon LBP3000. Я знаю, что с компьютера w000458 нужно печатать на этот принтер...</p></blockquote></div><p>Каким бы способом Вы ни обеспечили пользователю нужное &quot;направление&quot; печати, напечатанный документ надо будет забирать там, где принтер находится физически (т.е. около станции w000141), а не там, где стоит станция w000458.<br />Или я опять чего-то не понимаю?</p>]]></description>
			<author><![CDATA[null@example.com (Dmitrii)]]></author>
			<pubDate>Mon, 30 Apr 2012 19:04:13 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=59861#p59861</guid>
		</item>
		<item>
			<title><![CDATA[Re: HTA+VBS: Подключение принтеров в домене]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=59848#p59848</link>
			<description><![CDATA[<div class="quotebox"><cite>Dmitrii пишет:</cite><blockquote><p>Каковы признаки &quot;реально подключенного&quot; принтера и &quot;левых&quot; принтеров?</p></blockquote></div><p>Вы никогда не замечали установленного принтера Agfa AccuSet среди прочих принтеров пользователя? Оно получается следующим образом: Пуск-Принтеры и факсы-Установка принтера-Далее-...-Далее-Ок<br />Вот один из примеров появления левого принтера.<br />Утилита DevCon просматривает только реально подключенные устройства, среди которых, конечно, не будет этой агфы (ну если, конечно, у вас реально нет этого принтера)<br />У этого решения есть и минус.<br />Если принтер подключен к компу, но выключен, то она его не найдёт.<br />С этими случаями я готов мириться, их то как раз 1 на миллион</p><div class="quotebox"><cite>Dmitrii пишет:</cite><blockquote><p>В чём заключается эта процедура?</p></blockquote></div><p>Утилита PDRVGen позволяет импортировать любой драйвер принтера, который установлен на данном компьютере.<br />Я импортирую нужный драйвер в специально указанное место, тем самым формирую репозиторий драйверов принтеров, из которого потом и устанавливаю принтер.<br />Действие может показаться избыточным или даже ненужным, но тут есть свой резон.<br />Во-первых, изначально у меня не было этих драйверов в одном месте, теперь будут.<br />Во-вторых, установка драйвера производится скриптом, одним из обязательных аргументов которого является полный путь к inf-файлу драйвера. Даже при наличии скачанного родного драйвера принтера узнать имя нужного inf-файла автоматически - задача не тривиальная. Утилита PDRVGen формирует свой pdrvgen.inf, соответственно, когда я устанавливаю драйвер то указываю в качестве аргумента \\Server\PrnDrv$\Имя_Принтера\pdrvgen.inf<br />Есть нюанс. В данном случае принтер получается не подписанный. Как это победить - пока не знаю, но думаю, что разберусь. Пока не критично.</p><div class="quotebox"><cite>Dmitrii пишет:</cite><blockquote><p>А весьма капризные (судя по Вашему описанию) пользователи потом безропотно идут к находящемуся &quot;где-то там&quot; принтеру вместо того, чтобы взять свой напечатанный документ &quot;у себя под носом&quot;?</p></blockquote></div><p>Я полагаю, вы меня неправильно поняли. Никто никуда не бегает, для них вообще ничего не меняется, ну кроме имени принтера.<br />Было название &quot;Canon LBP3000 на w000141&quot;, а стало &quot;Canon LBP3000 (w000141)&quot;.<br />Поясню на примере<br />Было<br />Компьютер w000141, к нему через usb подключен принтер Canon LBP3000<br />На компьютер w000458 садится новый пользователь. В его профиле нет нужного принтера. Соответственно, я подключаюсь к компьютеру w000458 когда на него залогинился нужный пользователь, Пуск-Выполнить-\\w000141, ПКМ на принтере-Подключить.<br />Стало<br />Компьютер w000141, к нему через usb подключен принтер Canon LBP3000.<br />Я знаю, что с компьютера w000458 нужно печатать на этот принтер и устанавливаю его как сетевой (на порт 9100)<br />На компьютер w000458 садится новый пользователь. В его профиле (точнее в профиле компьютера) есть нужный принтер &quot;Canon LBP3000 (w000141)&quot;.<br />Результат достигнут.</p>]]></description>
			<author><![CDATA[null@example.com (MikeSh)]]></author>
			<pubDate>Mon, 30 Apr 2012 14:16:50 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=59848#p59848</guid>
		</item>
		<item>
			<title><![CDATA[Re: HTA+VBS: Подключение принтеров в домене]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=59845#p59845</link>
			<description><![CDATA[<div class="quotebox"><cite>MikeSh пишет:</cite><blockquote><p>... данный метод позволяет узнать именно реально подключенный к компьютеру принтер, а не кучу левых, случайно установленных...</p></blockquote></div><p>Каковы признаки &quot;реально подключенного&quot; принтера и &quot;левых&quot; принтеров?</p><div class="quotebox"><cite>MikeSh пишет:</cite><blockquote><p>... Импортировать драйвера от этого принтера в сеть...</p></blockquote></div><p>В чём заключается эта процедура?</p><div class="quotebox"><cite>MikeSh пишет:</cite><blockquote><p>... На компьютер установлен сетевой принтер, который будет в любом профиле...</p></blockquote></div><p>А весьма капризные (судя по Вашему описанию) пользователи потом безропотно идут к находящемуся &quot;где-то там&quot; принтеру вместо того, чтобы взять свой напечатанный документ &quot;у себя под носом&quot;?</p>]]></description>
			<author><![CDATA[null@example.com (Dmitrii)]]></author>
			<pubDate>Mon, 30 Apr 2012 10:26:18 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=59845#p59845</guid>
		</item>
		<item>
			<title><![CDATA[Re: HTA+VBS: Подключение принтеров в домене]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=59837#p59837</link>
			<description><![CDATA[<div class="quotebox"><cite>alexii пишет:</cite><blockquote><p>OFF:<br />Я использую перемещаемые профили. Это, конечно, не решает вопрос для локальных принтеров.</p></blockquote></div><p>Не решает.</p><div class="quotebox"><cite>alexii пишет:</cite><blockquote><p>Сочувствую. У меня делают сами.</p></blockquote></div><p>Сочувствие принято. В моём случае отдел ИТ хоть и является штатной единицей предприятия, но поставлен в рамки аутсорсинга, т.е. клиент всегда прав.<br />Если клиент не доволен - лови минус к зарплате.</p><div class="quotebox"><cite>alexii пишет:</cite><blockquote><p>Это как? Может быть — дать доступ к принтеру по сети?</p></blockquote></div><p>Нет. Именно сделать сетевым. Т.е. как бы включенным в сеть напрямую.<br />Если вы знакомы с usb-принтсерверами, например <a href="http://dlink.ru/ru/products/9/1283.html">этим</a>, то должны представлять, о чём идёт речь.<br />В моём случае принт-сервером выступает весь компьютер.</p><p>Ещё один случайно выявленный плюс. Для меня имеет огромное значение.<br />Некоторая программа, которая печатает этикетки-ценники, не умеет работать с расшаренными принтерами, только с локальными. При такой схеме подключения принтер выглядит именно локальным, соответственно можно оставить в кабинете всего один принтер этикеток.</p><div class="quotebox"><cite>alexii пишет:</cite><blockquote><p>Конечно. Можете прилагать код и конкретные решения.</p></blockquote></div><p>Приложу.</p>]]></description>
			<author><![CDATA[null@example.com (MikeSh)]]></author>
			<pubDate>Mon, 30 Apr 2012 06:14:49 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=59837#p59837</guid>
		</item>
		<item>
			<title><![CDATA[Re: HTA+VBS: Подключение принтеров в домене]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=59834#p59834</link>
			<description><![CDATA[<p>OFF:<br /></p><div class="quotebox"><cite>MikeSh пишет:</cite><blockquote><p>При пересаживании на другое место…</p></blockquote></div><p>Я использую перемещаемые профили. Это, конечно, не решает вопрос для локальных принтеров.</p><div class="quotebox"><cite>MikeSh пишет:</cite><blockquote><p>Сами пользователи делать это не будут. И точка. В смысле, не барское это дело.</p></blockquote></div><p>Сочувствую. У меня делают сами.</p><div class="quotebox"><cite>MikeSh пишет:</cite><blockquote><p>2) Сделать этот принтер сетевыми.</p></blockquote></div><p>Это как? Может быть — дать доступ к принтеру по сети?</p><div class="quotebox"><cite>MikeSh пишет:</cite><blockquote><p>В общем, надеюсь, что концепция кому-нибудь пригодится.</p></blockquote></div><p>Конечно. Можете прилагать код и конкретные решения.</p>]]></description>
			<author><![CDATA[null@example.com (alexii)]]></author>
			<pubDate>Sun, 29 Apr 2012 21:32:36 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=59834#p59834</guid>
		</item>
		<item>
			<title><![CDATA[HTA+VBS: Подключение принтеров в домене]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=59829#p59829</link>
			<description><![CDATA[<p>Эта тема не с вопросом, скорее просто заметка для себя на будущее.<br />Полагаю, она будет интересна довольно узкому кругу лиц. Ну или вообще только мне.</p><p>Условия.<br />- Домен AD<br />- Огромная куча мелких разношёрстных принтеров<br />- Изначальное отсутствие репозитория драйверов к этим принтерам.<br />- Любовь пользователей к пересаживанию с места на место<br />- Компьютеры переезжают редко</p><p>Проблема.<br />При пересаживании на другое место или при первом входе нового пользователя в его профиле нет принтера, если, конечно, принтер не подключен именно к этому компьютеру или не установлен сетевой принтер (это тот, который имеет RJ-45, типа HP 1536 dnf).<br />В результате приходится подключаться к компу и писать на нём \\имя_компа_с_расшаренным_принтером\имя_расшаренного_принтера<br />Это не долго, и если бы раз в год, то я бы и не заморачивался.<br />К сожалению, эту процедуру мне приходится делать 5 (+-3) раза в неделю. Сами пользователи делать это не будут. И точка. В смысле, не барское это дело.</p><p>Концепция следующая.</p><p>1) При помощи утилит <a href="http://download.microsoft.com/download/1/1/f/11f7dd10-272d-4cd2-896f-9ce67f3e0240/devcon.exe">DevCon</a> (Microsoft) и <a href="http://technet.microsoft.com/ru-ru/sysinternals/bb897553">PsExec</a> (Microsoft) можно получить подключенный принтер на компьютере. Плюс так же состоит в том, что данный метод позволяет узнать именно реально подключенный к компьютеру принтер, а не кучу левых, случайно установленных, как это получается через WMI (прошу не пинать, почти уверен, что если докопаться, то через WMI тоже можно получить этот принтер).</p><p>2) Сделать этот принтер сетевыми. В этом поможет утилита <a href="http://sourceforge.net/projects/rawprintserver/">RawPrintServer</a> (SourceForge) и тот же PsExec.</p><p>3) Импортировать драйвера от этого принтера в сеть. Тут я использовал PsExec (куда без него), <a href="http://www.novell.com/coolsolutions/tools/13952.html">PDRVGen</a> (внезапно Novell) и <a href="http://www.autoitscript.com/site/autoit/downloads/">AutoItx3.dll (как COM для vbs)</a> (AutoIt). AutoIt в моём случае уже был раскидан по всем компам ранее, для других целей.</p><p>4) Подключить этот принтер как сетевой, используя в качестве порта имя компьютера.</p><p>Результат<br />На компьютер установлен сетевой принтер, который будет в любом профиле. И если сам комп никуда не переезжает, комп с принтером работает, комп с принтером не переименован - у любого пользователя на этом компьютере есть правильный принтер (-ы).</p><p>Код не выкладываю, т.к. сейчас в нём, к сожалению, много абсолютных путей и прочего мусора. К тому же он сыроват. Я успокоился, когда он заработал. Возможно чуть позже буду его &quot;универсалить&quot;.<br />В общем, надеюсь, что концепция кому-нибудь пригодится.</p>]]></description>
			<author><![CDATA[null@example.com (MikeSh)]]></author>
			<pubDate>Sun, 29 Apr 2012 19:54:20 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=59829#p59829</guid>
		</item>
	</channel>
</rss>
