<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; Компоненты Com+]]></title>
		<link>http://forum.script-coding.com/viewtopic.php?id=5400</link>
		<atom:link href="http://forum.script-coding.com/extern.php?action=feed&amp;tid=5400&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «Компоненты Com+».]]></description>
		<lastBuildDate>Tue, 25 Jan 2011 07:15:08 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: Компоненты Com+]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=44389#p44389</link>
			<description><![CDATA[<p>Благодарю Вас.</p>]]></description>
			<author><![CDATA[null@example.com (alexii)]]></author>
			<pubDate>Tue, 25 Jan 2011 07:15:08 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=44389#p44389</guid>
		</item>
		<item>
			<title><![CDATA[Re: Компоненты Com+]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=44388#p44388</link>
			<description><![CDATA[<p>В моём случае работает если указана привелегия<br />&nbsp; </p><div class="codebox"><pre><code> objSWbemServicesEx.Security_.Privileges.AddAsString &quot;SeDebugPrivilege&quot;,                True</code></pre></div><p>Остальные не влияют.</p>]]></description>
			<author><![CDATA[null@example.com (stasMsv)]]></author>
			<pubDate>Tue, 25 Jan 2011 07:01:56 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=44388#p44388</guid>
		</item>
		<item>
			<title><![CDATA[Re: Компоненты Com+]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=44380#p44380</link>
			<description><![CDATA[<div class="quotebox"><cite>stasMsv пишет:</cite><blockquote><p>А как запустить dllhost.exe не озадачивался, у нас на сервере соит приложение &quot;Integrated Logistics Solutions&quot; оно и порождает часть своих процессов таким образом.</p></blockquote></div><p>Спасибо, ясно. Тогда Вам ещё одна просьба: Вы можете проделать такую работу — выяснить, какие именно привилегии понадобились в данном случае? То есть, выкидывать по одной привилегии, пока не останутся все необходимые, и их здесь указать. Сделаете?</p>]]></description>
			<author><![CDATA[null@example.com (alexii)]]></author>
			<pubDate>Mon, 24 Jan 2011 17:33:50 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=44380#p44380</guid>
		</item>
		<item>
			<title><![CDATA[Re: Компоненты Com+]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=44275#p44275</link>
			<description><![CDATA[<p>Спасибо за совет. Всё заработало без wmic.exe&nbsp; <img src="//forum.script-coding.com/img/smilies/big_smile.png" width="15" height="15" /></p><p>А как запустить dllhost.exe не озадачивался, у нас на сервере соит приложение &quot;Integrated Logistics Solutions&quot; оно и порождает часть своих процессов таким образом.</p>]]></description>
			<author><![CDATA[null@example.com (stasMsv)]]></author>
			<pubDate>Sat, 22 Jan 2011 15:34:03 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=44275#p44275</guid>
		</item>
		<item>
			<title><![CDATA[Re: Компоненты Com+]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=44212#p44212</link>
			<description><![CDATA[<div class="quotebox"><cite>stasMsv пишет:</cite><blockquote><p>Моя оплошность, тестировал на другой машине, там должно быть dllhost.exe.</p></blockquote></div><p>Ясно.<br /></p><div class="quotebox"><cite>stasMsv пишет:</cite><blockquote><p>Сложности: Эти процессы запущены как дочерние от dllhost.exe и через SELECT * FROM Win32_Process нельзя узнать имя процесса или его SID</p></blockquote></div><p>Если выводит «wmic.exe», то и приведённый запрос WMI должен работать. Возможно, требуется указать дополнительные привилегии при создании объекта «WbemServices». Попробуйте с ними поиграться, например:<br /></p><div class="codebox"><pre><code>Option Explicit

Dim strComputer

Dim objSWbemLocator
Dim objSWbemServicesEx
Dim collSWbemObjectSet
Dim objSWbemObjectEx


strComputer = &quot;.&quot;

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

objSWbemServicesEx.Security_.Privileges.AddAsString &quot;SeDebugPrivilege&quot;,                True
objSWbemServicesEx.Security_.Privileges.AddAsString &quot;SeProfileSingleProcessPrivilege&quot;, True
objSWbemServicesEx.Security_.Privileges.AddAsString &quot;SeCreatePermanentPrivilege&quot;,      True
objSWbemServicesEx.Security_.Privileges.AddAsString &quot;SeRestorePrivilege&quot;,              True

Set collSWbemObjectSet = objSWbemServicesEx.ExecQuery(&quot;SELECT * FROM Win32_Process&quot;)

For Each objSWbemObjectEx In collSWbemObjectSet
    With objSWbemObjectEx
        WScript.Echo &quot;-----------------------------------&quot;
        WScript.Echo .Name
        WScript.Echo .ExecutablePath
        WScript.Echo .CommandLine
        WScript.Echo .ProcessID
        WScript.Echo .WorkingSetSize
        WScript.Echo
    End With
Next

Set objSWbemObjectEx   = Nothing
Set collSWbemObjectSet = Nothing
Set objSWbemServicesEx = Nothing
Set objSWbemLocator    = Nothing

WScript.Quit 0</code></pre></div><p><strong>stasMsv</strong>, каким образом мне можно добиться появления «dllhost.exe» в запущенных процессах? Что для этого нужно сделать?</p>]]></description>
			<author><![CDATA[null@example.com (alexii)]]></author>
			<pubDate>Fri, 21 Jan 2011 19:11:35 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=44212#p44212</guid>
		</item>
		<item>
			<title><![CDATA[Re: Компоненты Com+]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=44178#p44178</link>
			<description><![CDATA[<p>Моя оплошность, тестировал на другой машине, там должно быть dllhost.exe.</p><p>Задача: Выводить информацию в файл о процессах: Имя процесса, его PID, количество занимаеиой памяти.</p><p>Сложности: Эти процессы запущены как дочерние от dllhost.exe и через SELECT * FROM Win32_Process нельзя узнать имя процесса или его SID</p><p>Временное решение: Программа wmic.exe выводит подробную информацию о процессах, в том числе SID процесса который запустился как dllhost.exe. Своим скриптом я делаю вывод этой программы во временный файл, затем открываю его, сохраняю всё в массив, заменяю SID на реальное имя процесса и вывожу это в файл.</p>]]></description>
			<author><![CDATA[null@example.com (stasMsv)]]></author>
			<pubDate>Fri, 21 Jan 2011 08:53:30 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=44178#p44178</guid>
		</item>
		<item>
			<title><![CDATA[Re: Компоненты Com+]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=44112#p44112</link>
			<description><![CDATA[<p>А почему тогда у Вас выше?<br /></p><div class="codebox"><pre><code>…wmic process where(Description=&#039;smss.exe&#039;…</code></pre></div><p>Я общий принцип пока не понял, теорию.</p>]]></description>
			<author><![CDATA[null@example.com (alexii)]]></author>
			<pubDate>Thu, 20 Jan 2011 13:44:50 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=44112#p44112</guid>
		</item>
		<item>
			<title><![CDATA[Re: Компоненты Com+]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=44107#p44107</link>
			<description><![CDATA[<p>Смотрит три парамера у всех процессов dllhost.exe - название, PID, количество занимаемой памяти, подставляет поняные имена и сохраняет это в файл.<br />И всётаки через </p><div class="codebox"><pre><code>objServices.ExecQuery(&quot;SELECT * FROM Win32_Process&quot;)</code></pre></div><p>не получаеться, т.к. SID он показывает только для родительского dllhost.exe, а для дочерних нет. Буду исследоваь дальше.</p>]]></description>
			<author><![CDATA[null@example.com (stasMsv)]]></author>
			<pubDate>Thu, 20 Jan 2011 13:05:35 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=44107#p44107</guid>
		</item>
		<item>
			<title><![CDATA[Re: Компоненты Com+]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=44106#p44106</link>
			<description><![CDATA[<p>А мой вопрос?<br /></p><div class="quotebox"><blockquote><p>…что этот код делает.</p></blockquote></div>]]></description>
			<author><![CDATA[null@example.com (alexii)]]></author>
			<pubDate>Thu, 20 Jan 2011 12:34:49 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=44106#p44106</guid>
		</item>
		<item>
			<title><![CDATA[Re: Компоненты Com+]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=44103#p44103</link>
			<description><![CDATA[<p>В общем логику понял, попробую решить через&nbsp; </p><div class="codebox"><pre><code>objServices.ExecQuery(&quot;SELECT * FROM Win32_Process&quot;)</code></pre></div><p>Данный скрипт следит за сосоянием процессов помещённых в dllhost.exe.</p>]]></description>
			<author><![CDATA[null@example.com (stasMsv)]]></author>
			<pubDate>Thu, 20 Jan 2011 12:09:33 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=44103#p44103</guid>
		</item>
		<item>
			<title><![CDATA[Re: Компоненты Com+]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=44102#p44102</link>
			<description><![CDATA[<p>Теперь объясните, что этот код делает.</p>]]></description>
			<author><![CDATA[null@example.com (alexii)]]></author>
			<pubDate>Thu, 20 Jan 2011 12:02:38 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=44102#p44102</guid>
		</item>
		<item>
			<title><![CDATA[Re: Компоненты Com+]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=44101#p44101</link>
			<description><![CDATA[<p>В данном скрипте не нравиться взаимодействие с программой wmic.exe, я думаю можно получить информацию о компанентах через пространство имён WMI. На данный момент скрипт имеет вид:<br /></p><div class="codebox"><pre><code>File_tmp = &quot;ILS_View.tmp&quot;              &#039; временный файл&#039;
File_name_out = &quot;Manx_ILS_Components_Info.txt&quot;             &#039; файл для вывода информации&#039;

&#039; эту информацию можно получить у свойств компонентов COM+&#039;

Name_ILS_directory = &quot;C:\WINDOWS\system32\dllhost.exe&quot;
Name_dllhost = &quot;/Processid:{02D4B3F1-FD88-11D1-960D-00805FC79235}&quot;

Name_ILS_1 = &quot;/Processid:{8F60B80B-D3CE-479F-AE1B-C5AC9C1EE7F6}&quot;
Name_ILS_2 = &quot;/Processid:{6D13CEC1-771D-4023-A511-F4B64529098B}&quot;
Name_ILS_3 = &quot;/Processid:{D3937BA7-3DF8-4222-9B96-6B5ED8A8CCAD}&quot;
Name_ILS_4 = &quot;/Processid:{F74F7701-1792-4BBE-9F58-4D6D45AE1243}&quot;
Name_ILS_5 = &quot;/Processid:{2DED7A83-2B13-4C9D-BFD2-AAC5A300B4DE}&quot;
Name_ILS_6 = &quot;/Processid:{714633DB-7E5D-46F4-8C2A-FF6094578E93}&quot;
Name_ILS_7 = &quot;/Processid:{ECBAD076-2CBF-445D-8B7B-9B334F21ADB5}&quot;
Name_ILS_8 = &quot;/Processid:{31B98513-605F-4DD9-B215-DED72CE9B761}&quot;
Name_ILS_9 = &quot;/Processid:{B0C86DE7-053E-40AA-BC81-3C81F34E5D46}&quot;
Name_ILS_10= &quot;/Processid:{F61D8907-8751-4E22-A016-B8034A074689}&quot;
Name_ILS_11= &quot;/Processid:{44D8FE1B-7C5C-402C-87D6-AD8D879462C9}&quot;
Name_ILS_12= &quot;/Processid:{9E78CF32-BFBF-4427-AF14-C0BF9D0FFED9}&quot;

R_name_ILS_1 = &quot;ILSConfigs&quot;
R_name_ILS_2 = &quot;ILSInterface&quot;
R_name_ILS_3 = &quot;ILSInventory&quot;
R_name_ILS_4 = &quot;ILSProgistics&quot;
R_name_ILS_5 = &quot;ILSReceiving&quot;
R_name_ILS_6 = &quot;ILSReporting&quot;
R_name_ILS_7 = &quot;ILSShipping&quot;
R_name_ILS_8 = &quot;ILSSystemManager&quot;
R_name_ILS_9 = &quot;ILSUtility&quot;
R_name_ILS_10= &quot;ILSWave&quot;
R_name_ILS_11= &quot;ILSWop&quot;
R_name_ILS_12= &quot;ILSWork&quot;


Dim Data(100)    &#039;  Массив для хранения данных получаемых от программы wmic.exe&#039;


On Error Resume Next


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

WshShell.Run &quot;cmd /c wmic process where(Description=&quot;&amp;Chr(34)&amp;&quot;smss.exe&quot;&amp;Chr(34)&amp;&quot;) GET CommandLine,ProcessId,WorkingSetSize &gt; &quot; &amp; File_tmp


&#039;=============================================================  Чение файла с данными о процессах ---------------------------------&#039;


Set fsol = CreateObject(&quot;Scripting.FileSystemObject&quot;)

i=0
t=0


Do While Not(fsol.FileExists(File_tmp))
if t&gt;5 then WScript.Quit
WScript.Sleep 500
t=t+1
Loop
    If fsol.FileExists(File_tmp) Then
       Set file_in = fsol.OpenTextFile(File_tmp, 1, False, -1)
       If Err.Number &lt;&gt; 0 Then
        WScript.Quit
        end if
    else    
     WScript.Echo WScript.Quit
    end if
    
    


file_in.SkipLine

Do While Not(file_in.AtEndofStream)
    Data(i) = File_in.ReadLine
    i=i+1
Loop
i=i-1
File_in.close

&#039;=============================================================  Удаление временного файла ---------------------------------&#039;
t=0
Do While Not(fsol.FileExists(File_tmp) &lt;&gt; 0)
if t&gt;5 then WScript.Quit
WScript.Sleep 500
t=t+1
Loop
    If fsol.FileExists(File_tmp) &lt;&gt; 0  Then
       fsol.DeleteFile(File_tmp)
    end if


&#039;=============================================================  Записываем данные в файл ---------------------------------&#039;

Name_Id =0
Name_Pr =0
UseMem  =0
k =0 
l =0
Mas_out = 0 


Set FSO = CreateObject(&quot;Scripting.FileSystemObject&quot;)
Set File_out = FSO.OpenTextFile(File_name_out, 2, True)
    If Err.Number &lt;&gt; 0 Then
        WScript.Quit
    end if


for k=0 to i

    if InStr(Data(k), Name_dllhost) then 
    k=k+1
    end if
    
    Mas_out = split(Data(k))
    
    for l=0 to UBound(Mas_out)
 
       
        if Mas_out(l) &lt;&gt; &quot;&quot; then
        
        File_out.Write(&quot; &quot;)
        select case Mas_out(l)
        case Name_ILS_1: File_out.Write(R_name_ILS_1) 
        case Name_ILS_2: File_out.Write(R_name_ILS_2)
        case Name_ILS_3: File_out.Write(R_name_ILS_3)
        case Name_ILS_4: File_out.Write(R_name_ILS_4)
        case Name_ILS_5: File_out.Write(R_name_ILS_5)
        case Name_ILS_6: File_out.Write(R_name_ILS_6)
        case Name_ILS_7: File_out.Write(R_name_ILS_7)
        case Name_ILS_8: File_out.Write(R_name_ILS_8)
        case Name_ILS_9: File_out.Write(R_name_ILS_9)
        case Name_ILS_10: File_out.Write(R_name_ILS_10)
        case Name_ILS_11: File_out.Write(R_name_ILS_11)
        case Name_ILS_12: File_out.Write(R_name_ILS_12)
        case Name_ILS_directory: &#039;File_out.Write(&quot;&quot;)
        
        case else: File_out.Write(Mas_out(l))
        
        end select
        end if
        
    next
    File_out.Write(Chr(13)&amp;Chr(10))
  

next

WScript.Quit</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (stasMsv)]]></author>
			<pubDate>Thu, 20 Jan 2011 11:43:53 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=44101#p44101</guid>
		</item>
		<item>
			<title><![CDATA[Re: Компоненты Com+]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=44078#p44078</link>
			<description><![CDATA[<p><strong>stasMsv</strong>, ну, если Вы сделали на «wmic.exe», то перевести на VBScript труда не составит. Выложите сюда Ваш код для «wmic.exe», обрамив его <a href="http://forum.script-coding.com/help.php#bbcode">тэгом «code»</a>.</p>]]></description>
			<author><![CDATA[null@example.com (alexii)]]></author>
			<pubDate>Thu, 20 Jan 2011 04:34:18 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=44078#p44078</guid>
		</item>
		<item>
			<title><![CDATA[Re: Компоненты Com+]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=44068#p44068</link>
			<description><![CDATA[<p>Нет. Компоненты COM+ можно создавать свои и запускаться они будут как dllhost.exe&nbsp; и не видно какой конкретно компонент запущен. Сделал временное решение через wmic.exe(он выводит подробную информацию о процесса), но это не средствами vbs, хочеться сделать поэлегантнее.</p>]]></description>
			<author><![CDATA[null@example.com (stasMsv)]]></author>
			<pubDate>Wed, 19 Jan 2011 17:38:29 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=44068#p44068</guid>
		</item>
		<item>
			<title><![CDATA[Re: Компоненты Com+]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=44067#p44067</link>
			<description><![CDATA[<p>Тебе нужно ветку реестра перебрать?</p>]]></description>
			<author><![CDATA[null@example.com (chessman)]]></author>
			<pubDate>Wed, 19 Jan 2011 16:58:20 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=44067#p44067</guid>
		</item>
	</channel>
</rss>
