<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; JS:не получается "убить" процесс терминального пользователя]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=9260</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=9260&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «JS:не получается "убить" процесс терминального пользователя».]]></description>
		<lastBuildDate>Sat, 15 Feb 2014 07:46:06 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: JS:не получается "убить" процесс терминального пользователя]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=80074#p80074</link>
			<description><![CDATA[<p><strong>Rumata</strong>, в данном случае Вы не правы... транскрипция записи со скобками или без скобок, значения не имеет. Работает (или как в данном случае НЕ работает) и со скобками и без них.<br />По вашему <strong>alexii</strong> совету проанализировал код возврата операции</p><div class="codebox"><pre><code>i.Terminate</code></pre></div><p> и увидел, что он равен 2, т.е. доступ мне запрещён. Далее добавил строку:<br /></p><div class="codebox"><pre><code>SWbemLocator.Security_.privileges.addasstring(&quot;sedebugprivilege&quot;, true);</code></pre></div><p>и всё заработало как надо.<br />Спасибо за подсказку.</p>]]></description>
			<author><![CDATA[null@example.com (im2002)]]></author>
			<pubDate>Sat, 15 Feb 2014 07:46:06 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=80074#p80074</guid>
		</item>
		<item>
			<title><![CDATA[Re: JS:не получается "убить" процесс терминального пользователя]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=80072#p80072</link>
			<description><![CDATA[<p><strong>im2002</strong>, привилегии нужны. Вы на MSDN были?<br /></p><div class="quotebox"><blockquote><p><strong>Remarks</strong><br />To terminate a process that you do not own, enable the SeDebugPrivilege privilege. In VBScript, you can enable this privilege with the following lines of code:<br /></p><div class="codebox"><pre><code>Set objLoc = createobject(&quot;wbemscripting.swbemlocator&quot;)
objLoc.Security_.privileges.addasstring &quot;sedebugprivilege&quot;, true</code></pre></div></blockquote></div><p>На JScript сами переводите.<br /></p><div class="quotebox"><blockquote><p>смотрю в лог, пишет сколько процессов с таким именем было остановлено,</p></blockquote></div><p>Он у Вас неверно считает. Из той же статьи:<br /></p><div class="quotebox"><blockquote><p><strong>Return Value</strong><br />Returns a value of 0 (zero) if the process was successfully terminated, and any other number to indicate an error.</p><p><strong>Return code</strong> <strong>Description </strong><br />0 Successful Completion<br />2 Access Denied<br />3 Insufficient Privilege<br />8 Unknown Failure<br />9 Path Not Found<br />21 Invalid Parameter</p></blockquote></div>]]></description>
			<author><![CDATA[null@example.com (alexii)]]></author>
			<pubDate>Sat, 15 Feb 2014 01:29:06 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=80072#p80072</guid>
		</item>
		<item>
			<title><![CDATA[Re: JS:не получается "убить" процесс терминального пользователя]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=80069#p80069</link>
			<description><![CDATA[<p>не вдаваясь в подробности<br /></p><div class="codebox"><pre><code>
    i.Terminate() // скобки!!!
</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Rumata)]]></author>
			<pubDate>Fri, 14 Feb 2014 17:53:16 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=80069#p80069</guid>
		</item>
		<item>
			<title><![CDATA[JS:не получается "убить" процесс терминального пользователя]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=80068#p80068</link>
			<description><![CDATA[<p>Написал скрипт для убития процесов, которые остались от незавершённых терминальных сессий:<br /></p><div class="codebox"><pre><code>
var fsObj = new ActiveXObject(&quot;Scripting.FileSystemObject&quot;);    
var SWbemLocator = WScript.CreateObject(&quot;WbemScripting.SWbemLocator&quot;);        
var wbemFlagReturnImmediately = 0x10; 
var wbemFlagForwardOnly = 0x20; 

var strLoc = &quot;.&quot;;                    
var strFile = &quot;Y:\\Backup_1C\\log.txt&quot;;                    // файл для записи результата        
var strProcsToKill = &quot;1cv8.exe&quot;;                // приложение, которое будем останавливать

var SWbemServices = SWbemLocator.ConnectServer(strLoc, &quot;root\\cimv2&quot;, &quot;&quot;, &quot;&quot;);
                        
var SWbemObjectSet = SWbemServices.ExecQuery(&quot;SELECT * FROM Win32_Process WHERE Name = &quot; + &quot;\&quot;&quot; + strProcsToKill + &quot;\&quot;&quot;, &quot;WQL&quot;, wbemFlagReturnImmediately | wbemFlagForwardOnly); 
                        
en = new Enumerator(SWbemObjectSet), k = 0;

while (!en.atEnd())
    {
    i = en.item();                
    i.Terminate, k++;            
    en.moveNext();                
    }

var txtfl_ = fsObj.OpenTextFile(strFile, 8, true);    
if(k !== 0)
    {
    txtfl_.WriteLine(&quot;Было остановлено: &quot; + k + &quot;  процессов \&quot;1cv8.exe\&quot;&quot;);
    txtfl_.WriteLine(&quot;----------------------------------------------------&quot;);
    }
else
    {
    txtfl_.WriteLine(&quot;Активных процессов \&quot;1cv8.exe\&quot; в системе не обнаружено&quot;);
    txtfl_.WriteLine(&quot;----------------------------------------------------&quot;);
    }
txtfl_.close();                        
</code></pre></div><p>Пробую запустить этот скрипт от имени Администратора, правда также из терминальной сессии, смотрю в лог, пишет сколько процессов с таким именем было остановлено, на деле этого не происходит, процессы как висели в диспетчере так и висят... &quot;Руками&quot; убиваются нормально...&nbsp; <br />Думал скрипт кривой, заменил имя процесса на notepad.exe, скрипт его убил, правда этот notepad был запущен мною же... Чёт не пойму почему мне не удаётся остановить процессы, оставшиеся от терминальных пользователей?</p>]]></description>
			<author><![CDATA[null@example.com (im2002)]]></author>
			<pubDate>Fri, 14 Feb 2014 17:26:45 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=80068#p80068</guid>
		</item>
	</channel>
</rss>
