<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; VBS: VirtualPC подключение USB устройств]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=5841</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=5841&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «VBS: VirtualPC подключение USB устройств».]]></description>
		<lastBuildDate>Thu, 04 Aug 2011 07:39:55 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: VBS: VirtualPC подключение USB устройств]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=50362#p50362</link>
			<description><![CDATA[<p>Добавил перед телом скрипта таймер в 5 минут, и все VM подгружается за 3-4 минуты и включается основной скрипт с подключением USB устройства. Хоть и криво сделано, но работает как часы <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p>]]></description>
			<author><![CDATA[null@example.com (Alexs37)]]></author>
			<pubDate>Thu, 04 Aug 2011 07:39:55 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=50362#p50362</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS: VirtualPC подключение USB устройств]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=48847#p48847</link>
			<description><![CDATA[<p>Так чего делать, как избежать ошибки?<br />На сегодня пока решил так:<br /></p><div class="codebox"><pre><code>vmname = &quot;Windows XP Mode&quot; &#039;ваша VM
Device_String = &quot;Photosmart Pro B8300 series&quot;  &#039;&quot;WorkCentre 4118 Series&quot; &#039;  Ваше USB устройство

&#039;Получить Virtual PC объектов
Set objVPC = CreateObject(&quot;VirtualPC.Application&quot;)

&#039;Найти виртуальной машины
Set objVM = objVPC.FindVirtualMachine(vmname)
If objVM Is Nothing Then
  WScript.Echo &quot;Не удалось найти виртуальную машину: &quot; &amp; vmname
  WScript.Quit 2
End If

On Error Resume Next

&#039; Запускаем бесконечный цикл ожидания
While 1
    WScript.Sleep 2000

    &#039;Получить коллекцию USB устройств
    Set usbDevicesColl = objVPC.USBDeviceCollection
    For Each usbDevice In usbDevicesColl
      If LCase(usbDevice.DeviceString) = LCase(Device_String) Then
      &#039;Присоединить устройство USB к VM
            Set objAssign = objVM.AttachUSBDevice(usbDevice)
             Exit For
      End If
    Next
Wend</code></pre></div><p>В результате принтер всегда подключен к виртуалке, не зависимо от отключения, сбоев и того подобного. Единственно при автозагрузке не работает, т.к. VM еще не запустилась, а скрипт уже пытается подцепить принтер, в результате после запуска VM принтер не подключается вообще, при попытки подключить в ручную. Сообщает, что принтер уже подключен. Хотя реально нет! Надо добавить проверку статуса VM.</p>]]></description>
			<author><![CDATA[null@example.com (Alexs37)]]></author>
			<pubDate>Tue, 31 May 2011 07:04:03 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=48847#p48847</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS: VirtualPC подключение USB устройств]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=48832#p48832</link>
			<description><![CDATA[<p><strong>Ottivel_Wood</strong>: ну вообще-то кроме Microsoft её никто и не выпускает.</p><p><strong>Alexs37</strong><br />Нет, вам не надо ничего регистрировать, всё уже зарегистрировано при инсталляции.</p><p>COM-интерфейс предоставляет само приложение (&quot;VirtualPC.application&quot;).<br />Я так понимаю это новшество появилось в новой версии под Win 7, названной &quot;Windows virtualPC&quot;.<br />Жаль конечно, но XP обошли стороной.</p>]]></description>
			<author><![CDATA[null@example.com (Аскет)]]></author>
			<pubDate>Mon, 30 May 2011 14:00:53 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=48832#p48832</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS: VirtualPC подключение USB устройств]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=48826#p48826</link>
			<description><![CDATA[<p>Microsoft VirtualPC версию не нашел, ну наверно последняя, это под win 7 обновление скачивается и она как бы становиться встроенной в ОС.</p><p>Вот тут описания COM объекта вроде:<a href="http://msdn.microsoft.com/en-us/library/dd796758(v=VS.85).aspx">http://msdn.microsoft.com/en-us/library … S.85).aspx</a></p><p>есть еще скрипт на Windows PowerShell он работает без ошибок, все выполнятся и все подключает.<br /></p><div class="codebox"><pre><code># Подключение к Virtual PC
$vpc = new-object -com VirtualPC.Application

# Получить имя VM &quot;Windows XP Mode&quot;
$vmName =&quot;Windows XP Mode&quot; #Read-host &quot;Укажите имя виртуальной машины, что вы хотите использовать&quot;

# Список доступных устройств USB
write-host &quot;Cследующих устройств USB доступны:&quot;
$vpc.USBDeviceCollection | select -ExpandProperty DeviceString

# Получить имя USB устройства &quot;WorkCentre 4118 Series&quot;
$usb =&quot;WorkCentre 4118 Series&quot; # Read-host &quot;Введите имя устройства USB, что вы хотите подключить к виртуальной машине&quot;

# Получить объект VM 
$vm = $vpc.findVirtualMachine($vmName)

# Получить объект USB
$usbDevice = $vpc.USBDeviceCollection | ? {$_.DeviceString -eq $usb} | select -first 1

write-host $usbDevice

# Прикрепите устройство - это будет ошибкой, если виртуальная машина не работает
$vm.AttachUSBDevice($usbDevice)</code></pre></div><p>Но для меня это совсем далеко.&nbsp; VBS ближе, к телу, потом хочу на VB написать монитор, что бы постоянно следить за подключением USB устройства к VM, если не смогу скрипом сделать.</p><div class="quotebox"><cite>Dmitrii пишет:</cite><blockquote><div class="quotebox"><cite>Ottiwell_Wood пишет:</cite><blockquote><p>Похоже на Microsoft VirtualPC</p></blockquote></div><p>Под XP, например, ни VPC2004, ни VPC2007 стандартно такого интерфейса не предоставляют. Видимо, нужно регистрировать дополнительную библиотеку (компонент).</p></blockquote></div><p>А как зарегистрировать COM и какой?</p>]]></description>
			<author><![CDATA[null@example.com (Alexs37)]]></author>
			<pubDate>Mon, 30 May 2011 06:31:01 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=48826#p48826</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS: VirtualPC подключение USB устройств]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=48816#p48816</link>
			<description><![CDATA[<div class="quotebox"><cite>Ottiwell_Wood пишет:</cite><blockquote><p>Похоже на Microsoft VirtualPC</p></blockquote></div><p>Под XP, например, ни VPC2004, ни VPC2007 стандартно такого интерфейса не предоставляют. Видимо, нужно регистрировать дополнительную библиотеку (компонент).</p>]]></description>
			<author><![CDATA[null@example.com (Dmitrii)]]></author>
			<pubDate>Mon, 30 May 2011 04:22:45 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=48816#p48816</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS: VirtualPC подключение USB устройств]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=48779#p48779</link>
			<description><![CDATA[<p>Похоже на Microsoft VirtualPC</p>]]></description>
			<author><![CDATA[null@example.com (Ottiwell_Wood)]]></author>
			<pubDate>Sun, 29 May 2011 14:27:11 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=48779#p48779</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS: VirtualPC подключение USB устройств]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=48729#p48729</link>
			<description><![CDATA[<p>Здравствуйте.</p><p>А что это за версия VirtualPC, которая предоставляет COM-интерфейс?<br /> Заинтересовало..</p>]]></description>
			<author><![CDATA[null@example.com (Аскет)]]></author>
			<pubDate>Fri, 27 May 2011 17:45:44 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=48729#p48729</guid>
		</item>
		<item>
			<title><![CDATA[VBS: VirtualPC подключение USB устройств]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=48728#p48728</link>
			<description><![CDATA[<p>Здравствуйте. <br />Необходимо к вертуальной машине при старте подключить USB устройство. <br />Нашел скриптик на забугорных сайтах, адаптировал немного:</p><div class="codebox"><pre><code>vmname=&quot;Windows XP Mode&quot; &#039;ваша VM
Device_String=&quot;WorkCentre 4118 Series&quot; &#039; Ваше USB устройство

&#039;Получить Virtual PC объектов
Set objVPC = CreateObject(&quot;VirtualPC.Application&quot;)

&#039;Найти виртуальной машины
Set objVM = objVPC.FindVirtualMachine(vmname)
If objVM is Nothing Then
  Wscript.Echo &quot;Не удалось найти виртуальную машину: &quot; &amp; vmname
  WScript.Quit 2
End If

&#039;Получить коллекцию USB устройств
set usbDevicesColl = objVPC.USBDeviceCollection
If usbDevicesColl.Count = 0 Then
  Wscript.Echo &quot;Нет USB устройств, подключенных к машине.&quot;
  WScript.Quit 2
End If

&#039;Переменная если устройство найдено
isFound = 0

For Each usbDevice in usbDevicesColl
  if LCase(usbDevice.DeviceString) = LCase(Device_String) Then
 &#039;Attach the USB device to VM
   set objAssign = objVM.AttachUSBDevice(usbDevice)
 isFound = 1
   break
  End If
Next

If isFound = 0 Then
  Wscript.Echo &quot;Не удается найти устройство USB. Пожалуйста, проверьте строку устройство &quot;
Else
  Wscript.Echo &quot;Устройство присвоино виртуальной машине&quot;
End If</code></pre></div><p>Но выдает ошибку:<br /></p><div class="codebox"><pre><code>Сценарий:    C:\Users\Master\Desktop\NEWVirtualPC -
копия, vbs
Строка: 29
Символ: 4
Ошибка: Требуется объект: &#039;objVM.AttachUSBDevice(...)&#039;
Код: 800А01А8
Источник:    Ошибка выполнения Microsoft VBScript</code></pre></div><p>Локальная машина Windows 7 SP1,&nbsp; VirtualPC официальная Windows XP Mode.<br />Но самое интересное, что USB устройство подключается. Но скрипт прекращает работать. Вопрос, как решить, чтобы было без ошибок. Можно конечно добавить обработчик и сверять по коду, но все равно хотелось бы уйти от ошибки.</p>]]></description>
			<author><![CDATA[null@example.com (Alexs37)]]></author>
			<pubDate>Fri, 27 May 2011 15:04:40 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=48728#p48728</guid>
		</item>
	</channel>
</rss>
