<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; VBS: Не проходит запрос в windows 8]]></title>
	<link rel="self" href="http://forum.script-coding.com/extern.php?action=feed&amp;tid=9992&amp;type=atom" />
	<updated>2014-10-03T19:51:49Z</updated>
	<generator>PunBB</generator>
	<id>http://forum.script-coding.com/viewtopic.php?id=9992</id>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Не проходит запрос в windows 8]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=86993#p86993" />
			<content type="html"><![CDATA[<p>Хм... Решений масса. Я бы не назвал их &quot;порочными&quot;. ))</p><p>Как обычно сделал поиск в google по запросу: <a href="http://lmgtfy.com/?q=vbs+detect+32+64+bit">vbs detect 32 64 bit</a> </p><p>Результаты:</p><p><a href="http://gallery.technet.microsoft.com/scriptcenter/Determine-If-Your-System-969670e3">http://gallery.technet.microsoft.com/sc … m-969670e3</a></p><p><a href="http://www.symantec.com/connect/articles/vbscript-determine-32-bit-or-64-bit-machine">http://www.symantec.com/connect/article … it-machine</a></p><p><a href="http://msiworld.blogspot.ru/2012/04/vbscript-to-determine-32-bit-or-64-bit.html">http://msiworld.blogspot.ru/2012/04/vbs … 4-bit.html</a></p><p><a href="http://blog.biolizards.be/vbscript-check-os-version-information-and-detect-32-bit-or-64-bit-windows/">http://blog.biolizards.be/vbscript-chec … t-windows/</a></p><p><a href="http://apppackaging.wordpress.com/2011/08/30/vbscript-to-check-32bit-or-64bit-operating-system/">http://apppackaging.wordpress.com/2011/ … ng-system/</a></p>]]></content>
			<author>
				<name><![CDATA[Xameleon]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=8836</uri>
			</author>
			<updated>2014-10-03T19:51:49Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=86993#p86993</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Не проходит запрос в windows 8]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=86992#p86992" />
			<content type="html"><![CDATA[<p>Случайно снова забрел в эту тему и вот что пришло на ум. По разрядности процессора идентифицировать первую системы не столько невозможно, сколько представляется сомнительным: на х64 камне можно запросто натянуть и х86. Следовательно, если не насиловать WMI, то детект разрядности сводится либо к поиску рабочего процесса, исполняемый модуль которого проверяется на 32- или 64-х битность, либо к паре дпугих порочных методов, которые как-то неловко озвучивать (настолько они порочны).</p>]]></content>
			<author>
				<name><![CDATA[greg zakharov]]></name>
			</author>
			<updated>2014-10-03T19:39:46Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=86992#p86992</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Не проходит запрос в windows 8]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=86734#p86734" />
			<content type="html"><![CDATA[<p>Добавлю свои наблюдения для Win7 HB x64, вероятно будет полезным:<br /></p><div class="codebox"><pre><code>&#039; результат всегда &quot;AMD64&quot;
msgbox wscript.createobject(&quot;wscript.shell&quot;).environment(&quot;system&quot;).item(&quot;processor_architecture&quot;)

&#039; результат зависит от разрядности WSH:
&#039; если скрипт выполняется с помощью SysWOW64 - &quot;x86&quot;
&#039; если скрипт выполняется с помощью System32 - &quot;AMD64&quot;
msgbox wscript.createobject(&quot;wscript.shell&quot;).environment(&quot;process&quot;).item(&quot;processor_architecture&quot;)</code></pre></div>]]></content>
			<author>
				<name><![CDATA[omegastripes]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=29228</uri>
			</author>
			<updated>2014-09-24T18:49:01Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=86734#p86734</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Не проходит запрос в windows 8]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=86717#p86717" />
			<content type="html"><![CDATA[<p><strong>Flasher</strong>, спасибо, приму к сведению. Могу лишь добавить, что это первое пришедшее на ум, тем более, что x64 системы под рукой не оказалось.</p>]]></content>
			<author>
				<name><![CDATA[greg zakharov]]></name>
			</author>
			<updated>2014-09-24T06:49:48Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=86717#p86717</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Не проходит запрос в windows 8]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=86713#p86713" />
			<content type="html"><![CDATA[<p><strong>greg zakharov</strong>, нет, ранее проверялось на ТС. 32-битная эмуляция тому виной.<br />Надо так:</p><div class="codebox"><pre><code>With CreateObject(&quot;WScript.Shell&quot;)
  PA   = .Environment(&quot;System&quot;)(&quot;PROCESSOR_ARCHITECTURE&quot;)
  PA64 = .Environment(&quot;System&quot;)(&quot;PROCESSOR_ARCHITEW6432&quot;)
End With

OS = &quot;x86&quot;

If Len(PA64) Then
  OS = &quot;x64&quot;
ElseIf PA = &quot;AMD64&quot; Then OS = &quot;x64&quot; : End If

MsgBox OS</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Flasher]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=27593</uri>
			</author>
			<updated>2014-09-23T21:16:02Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=86713#p86713</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Не проходит запрос в windows 8]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=86708#p86708" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>alexii пишет:</cite><blockquote><p>Этого будет достаточно?</p></blockquote></div><p>В теории да, так как переменная %processor_architecture% является системной переменной, хранящейся в реестре:<br /></p><div class="codebox"><pre><code>HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment</code></pre></div>]]></content>
			<author>
				<name><![CDATA[greg zakharov]]></name>
			</author>
			<updated>2014-09-23T19:17:05Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=86708#p86708</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Не проходит запрос в windows 8]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=86702#p86702" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>greg zakharov пишет:</cite><blockquote><p>Может все же резон отказаться от WMI? Например:<br />…<br /></p><div class="codebox"><pre><code>  var … bit = ExpandEnvironmentStrings(&quot;%processor_architecture%&quot;),
</code></pre></div></blockquote></div><p>Этого будет достаточно? Что покажет исполнение данного кода на x64 ОС под x86 приложением («wscript.exe»/«cscript.exe»)?</p>]]></content>
			<author>
				<name><![CDATA[alexii]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=1844</uri>
			</author>
			<updated>2014-09-23T18:29:10Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=86702#p86702</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Не проходит запрос в windows 8]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=86684#p86684" />
			<content type="html"><![CDATA[<p>Тапком или плеткой - смотря чему более отдается предпочтение. А коль шуток кроме, то не совсем ясен Ваш вопрос. Пример выше - тот же WSH, только на JS, вызывается так:</p><div class="codebox"><pre><code>cscript //nologo script.js</code></pre></div><p>Или, если сценарий сохранен как текстовый файл:</p><div class="codebox"><pre><code>cscript //nologo //e:jscript script.txt</code></pre></div>]]></content>
			<author>
				<name><![CDATA[greg zakharov]]></name>
			</author>
			<updated>2014-09-23T10:44:47Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=86684#p86684</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Не проходит запрос в windows 8]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=86681#p86681" />
			<content type="html"><![CDATA[<p>Метод интересный, но как его заставить работать?</p>]]></content>
			<author>
				<name><![CDATA[Бродяга]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=28174</uri>
			</author>
			<updated>2014-09-23T08:30:30Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=86681#p86681</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Не проходит запрос в windows 8]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=86680#p86680" />
			<content type="html"><![CDATA[<p>Может все же резон отказаться от WMI? Например:</p><div class="codebox"><pre><code>with (new ActiveXObject(&#039;WScript.Shell&#039;)) {
  var ver, bit = ExpandEnvironmentStrings(&quot;%processor_architecture%&quot;),
      chk = function(ver) {
        switch (bit) {
          case &quot;x86&quot;:
            return CurrentDirectory + &#039;\\&#039; + ver + &#039;\\x86\\46_&#039; + ver + &#039;.exe&#039;;
          break;
          
          case &quot;x64&quot;:
            return CurrentDirectory + &#039;\\&#039; + ver + &#039;\\x64\\46_&#039; + ver + &#039;.exe&#039;;
          break;
        }
      };
      
  switch (RegRead(&quot;HKLM\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\CurrentVersion&quot;)) {
    case &quot;5.1&quot;:
      //для запуска приложения
      //Run(chk(&quot;xp&quot;));
      WSH.echo(chk(&quot;xp&quot;));
    break;
    
    case &quot;6.1&quot;:
      WSH.echo(chk(&quot;7&quot;));
    break;
    
    case &quot;6.2&quot;:
      WSH.echo(chk(&quot;8&quot;));
    break;
  }
}</code></pre></div>]]></content>
			<author>
				<name><![CDATA[greg zakharov]]></name>
			</author>
			<updated>2014-09-23T07:49:58Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=86680#p86680</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[VBS: Не проходит запрос в windows 8]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=86677#p86677" />
			<content type="html"><![CDATA[<p>Добрый день!<br />Есть скрипт vbs который определяет тип и разрядность windows и в зависимости от этого запускает конкретный файл установки.<br /></p><div class="codebox"><pre><code>
Option Explicit

Dim strShare
Dim strComputer
Dim objFSO

Dim objSWbemLocator
Dim objSWbemServicesEx
Dim collSWbemObjectSet
Dim objSWbemObjectEx
Set objFSO = WScript.CreateObject(&quot;Scripting.FileSystemObject&quot;)

Dim strCommandLine
Dim lngProcessID

strComputer = &quot;.&quot;
strShare   = objFSO.GetParentFolderName(WScript.ScriptFullName)

Dim WshShell
Set WshShell = CreateObject(&quot;WScript.Shell&quot;) 


Set objSWbemLocator    = WScript.CreateObject(&quot;WbemScripting.SWbemLocator&quot;)
Set objSWbemServicesEx = objSWbemLocator.ConnectServer(strComputer, &quot;root\cimv2&quot;)
Set collSWbemObjectSet = objSWbemServicesEx.InstancesOf(&quot;Win32_OperatingSystem&quot;)

For Each objSWbemObjectEx In collSWbemObjectSet
    With objSWbemObjectEx
        Select Case .Version
            Case &quot;5.1.2600&quot;             &#039; Windows XP X86
                strCommandLine = strShare &amp; &quot;\xp\x86\46_xp.exe&quot;
            Case &quot;5.2.3790&quot;             &#039; Windows XP X64 (&amp; Windows Server 2003)
                strCommandLine = strShare &amp; &quot;\xp\x64\46_xp.exe&quot;
            Case &quot;6.1.7600&quot;, &quot;6.1.7601&quot; &#039; Windows 7 (&amp; Windows Server 2008 R2)
                Select Case .OSArchitecture
                    Case &quot;32-bit&quot;       &#039; X86
                    strCommandLine = strShare &amp; &quot;\7\x86\46_7.exe&quot;
                    Case &quot;64-bit&quot;       &#039; X64
                    strCommandLine = strShare &amp; &quot;\7\x64\46_7.exe&quot;
                End Select
            Case Else
                &#039; Nothing to do
        End Select
    End With
Next


If Not IsEmpty(strCommandLine) Then
    If objSWbemServicesEx.Get(&quot;Win32_Process&quot;).Create(&quot;&quot;&quot;&quot; &amp; strCommandLine &amp; &quot;&quot;&quot;&quot;, Empty, Nothing, lngProcessID) = 0 Then
    Else
    End If
End If

Set collSWbemObjectSet = Nothing
Set objSWbemServicesEx = Nothing
Set objSWbemLocator    = Nothing
Set WshShell           = Nothing

WScript.Quit 0
</code></pre></div><p>Хочу добавить в код определение windows 8, но он не обрабатывается. <br /></p><div class="codebox"><pre><code>Case &quot;6.2.9200&quot; &#039; Windows 8 (&amp; Windows Server 2012 R2)
                Select Case .OSArchitecture
                    Case &quot;x86-based pc&quot;       &#039; X86
                    strCommandLine = strShare &amp; &quot;\8\x86\46_7.exe&quot;
                    Case &quot;x64-based pc&quot;       &#039; X64
                    strCommandLine = strShare &amp; &quot;\8\x64\46_7.exe&quot;
                End Select</code></pre></div><p>Что я сделал не так?</p>]]></content>
			<author>
				<name><![CDATA[Бродяга]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=28174</uri>
			</author>
			<updated>2014-09-23T06:46:59Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=86677#p86677</id>
		</entry>
</feed>
