<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; VBS: Перевод принтера из Offline в Online]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=5372</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=5372&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «VBS: Перевод принтера из Offline в Online».]]></description>
		<lastBuildDate>Thu, 11 Feb 2016 14:29:27 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: VBS: Перевод принтера из Offline в Online]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=101018#p101018</link>
			<description><![CDATA[<p>А управление принтерами через WMI разве не удобнее ? </p><p><a href="https://msdn.microsoft.com/en-us/library/windows/desktop/aa394363(v=vs.85).aspx">MSDN</a></p><p>Я к тому, что глаголы (<strong>Verbs</strong>) работают с учётом языка системы. На иностранной версии Windows такой код видимо работать не будет.</p><p>А <strong>wmi</strong> вроде надёжнее ?</p>]]></description>
			<author><![CDATA[null@example.com (Xameleon)]]></author>
			<pubDate>Thu, 11 Feb 2016 14:29:27 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=101018#p101018</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS: Перевод принтера из Offline в Online]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=100912#p100912</link>
			<description><![CDATA[<p>Усовершенствовал скрипт возобновления принтеров.<br />1) Добавлена совместимость с Windows 7 (метод DoIt )<br />2) Добавлен пропуск:<br />- не-принтера &quot;Установка принтера&quot;;<br />- виртуальных PDF-принтеров;<br />- виртуальных Microsoft-принтеров;<br />- виртуального принтера APS-печать.<br />3) Добавлен вывод сообщений для пользователя.</p><div class="codebox"><pre><code>Set Shell = CreateObject(&quot;Shell.Application&quot;)
Set objFolder = Shell.NameSpace(4)
 
For Each printer In objFolder.Items
	if printer&lt;&gt;&quot;Установка принтера&quot; And InStr(printer,&quot;Microsoft&quot;)=0 And InStr(UCase(printer),&quot;PDF&quot;)=0 Then
		a=true
		wscript.echo chr(10)+chr(13)+&quot;Принтер &quot;+printer+ &quot; :&quot;
		If InstrRev(objFolder.GetDetailsOf(printer, 2), &quot;Не подключен&quot;) &lt;&gt; 0 OR Instr(objFolder.GetDetailsOf(printer, 2), &quot;Отключен&quot;) &gt; 0 Then &#039; если принтер в режиме &quot;Автономная работа&quot;
			For Each verb in printer.verbs
				If InStr(verb.Name,&quot;оперативн&quot;)&gt;0 Then verb.DoIt
			Next
			printer.InvokeVerbEx(&quot;&amp;Использовать принтер в оперативном режиме&quot;)
			if InstrRev(objFolder.GetDetailsOf(printer, 2), &quot;Не подключен&quot;) &lt;&gt; 0 OR Instr(objFolder.GetDetailsOf(printer, 2), &quot;Отключен&quot;) &gt; 0 Then
				wscript.echo &quot;ОШИБКА: в оперативный режим&quot;
			Else
				wscript.echo &quot;OK: в оперативный режим&quot;
			End If
			a=false
		End If
     
		If Instr(objFolder.GetDetailsOf(printer, 2), &quot;Приостановлен&quot;) &gt; 0 AND InStr(UCase(printer),&quot;APS&quot;)=0 Then &#039; если принтер в режиме &quot;Приостановленой печати&quot;
			For Each verb in printer.verbs
				If InStr(verb.Name,&quot;озобновить&quot;)&gt;0 Then verb.DoIt
			Next
        		printer.InvokeVerbEx(&quot;В&amp;озобновить печать&quot;)
        		printer.InvokeVerbEx(&quot;Возобновить &amp;печать&quot;)
			a=false
			If Instr(objFolder.GetDetailsOf(printer, 2), &quot;Приостановлен&quot;) &gt; 0 AND InStr(UCase(printer),&quot;APS&quot;)=0 Then &#039; если принтер в режиме &quot;Приостановленой печати&quot;
				wscript.echo &quot;ОШИБКА: возобновление&quot;
			Else
				wscript.echo &quot;OK: возобновление&quot;
			End If
		End If
		If a Then wscript.echo &quot;OK&quot;
	End If
Next</code></pre></div><p>Идея с методом DoIt позаимствована отсюда<br /><a href="https://www.autoitscript.com/forum/topic/70493-how-to-automate-rightclick-and-select-menu-item-on-one-of-the-list-view-item/">https://www.autoitscript.com/forum/topi … view-item/</a></p><p>Запуск скрипта</p><div class="codebox"><pre><code>CScript.exe /E:VBScript Start_Printers.vbs</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (GreenRain)]]></author>
			<pubDate>Sun, 07 Feb 2016 12:19:19 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=100912#p100912</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS: Перевод принтера из Offline в Online]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=43889#p43889</link>
			<description><![CDATA[<p>При помещении скрипта в <a href="http://forum.script-coding.com/viewtopic.php?id=5376">Коллекцию</a> желательно, как минимум, приводить его к читабельному виду: «<strong>E</strong>ach», «<strong>I</strong>n», «<strong>T</strong>hen», «<strong>E</strong>nd <strong>I</strong>f»; указать вложенность синтаксических конструкций табуляцией или пробелами. Такие слова, как «ничё», «нацарапал» — лучше не употреблять в Коллекции. Я взял на себя смелость сие поправить.</p>]]></description>
			<author><![CDATA[null@example.com (alexii)]]></author>
			<pubDate>Sun, 16 Jan 2011 20:05:51 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=43889#p43889</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS: Перевод принтера из Offline в Online]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=43658#p43658</link>
			<description><![CDATA[<p>Немного модифицировал, учёл состояние приостановленной печати и комбинацию с автономным состоянием...<br /></p><div class="codebox"><pre><code>Set Shell = CreateObject(&quot;Shell.Application&quot;)
Set objFolder = Shell.NameSpace(4)
For each printer in objFolder.Items

If InstrRev(objFolder.GetDetailsOf(printer, 2),&quot;Не подключен&quot;)&lt;&gt;0 then &#039; если принтер в режиме &quot;Автономная работа&quot;
printer.InvokeVerbEx(&quot;&amp;Использовать принтер в оперативном режиме&quot;)
end if

If InstrRev(objFolder.GetDetailsOf(printer, 2),&quot;Приостановлена&quot;)&lt;&gt;0 then &#039; если принтер в режиме &quot;Приостановленой печати&quot;
printer.InvokeVerbEx(&quot;Возобновить &amp;печать&quot;)
end if

Next</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Евген)]]></author>
			<pubDate>Thu, 13 Jan 2011 07:57:02 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=43658#p43658</guid>
		</item>
		<item>
			<title><![CDATA[VBS: Перевод принтера из Offline в Online]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=43657#p43657</link>
			<description><![CDATA[<p>Коллеги, приветствую !<br />По своей работе частенько сталкиваюсь с тем, что пользователи кривыми ручками переводят принтер в режим Offline, т.е. &quot;Автономная работа&quot; и потом кричат что принтер в состоянии &quot;не подключен&quot;, провода все проверили - на месте, но он ничё не печатает.<br />Вот по этому поводу нацарапал следующий скрипт, который переводит принтер в &quot;Оперативный режим&quot;, надеюсь кому-нибудь пригодится...<br /></p><div class="codebox"><pre><code>Set Shell = CreateObject(&quot;Shell.Application&quot;)
Set objFolder = Shell.NameSpace(4)
For each printer in objFolder.Items
If objFolder.GetDetailsOf(printer, 2)=&quot;Не подключен&quot; then &#039; если принтер в режиме &quot;Автономная работа&quot;
printer.InvokeVerbEx(&quot;&amp;Использовать принтер в оперативном режиме&quot;)
end if
Next</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Евген)]]></author>
			<pubDate>Thu, 13 Jan 2011 06:55:45 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=43657#p43657</guid>
		</item>
	</channel>
</rss>
