<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; JS: Как запустить скрипт от имени определённого пользователя.]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=7425&amp;type=atom" />
	<updated>2012-08-09T12:00:47Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=7425</id>
		<entry>
			<title type="html"><![CDATA[Re: JS: Как запустить скрипт от имени определённого пользователя.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=62591#p62591" />
			<content type="html"><![CDATA[<p><span class="bbu">использовать объект Fso либо WshNetwork абсолютно без разницы:</span></p><p>строка:<br /></p><div class="codebox"><pre><code>objNet.MapNetworkDrive(&quot;Y:&quot;, rmPath);</code></pre></div><p>где rmPath = путь к папке на удалённом ПК<br />даст ошибку <strong>&quot;неправильный сетевой пароль&quot;</strong>.</p><p>надо понять как пройти авторизацию. я нашел метод (из ADSI):</p><div class="codebox"><pre><code>var dso = GetObject(&quot;WinNT:&quot;);                    
var adsi = dso.OpenDSObject(&quot;WinNT://192.168.7.2&quot;, &quot;UserNeme&quot;, &quot;Password&quot;, 0);</code></pre></div><p>такой метод работает. прочитать бы где подробнее про авторизацию...<br />я например не пойму почему вместо конструкции как выше нельзя использовать:</p><div class="codebox"><pre><code>var dso = GetObject(&quot;WinNT://192.168.7.2&quot;, &quot;UserNeme&quot;, &quot;Password&quot;, 0);</code></pre></div><p>да, кстати, как в вашей <strong>Rom5</strong> ссылке:<br /></p><div class="codebox"><pre><code>objNet.MapNetworkDrive(&quot;Y:&quot;, rmPath, false, &quot;UserNeme&quot;, &quot;Password&quot;);</code></pre></div><p>также работает, т.е. авторизация проходит. спасибо за ответ.<br />Мне бы найти где поподробнее про авторизацию прочесть... как и в каких методах каких объектов используется авторизация...</p>]]></content>
			<author>
				<name><![CDATA[im2002]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=28063</uri>
			</author>
			<updated>2012-08-09T12:00:47Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=62591#p62591</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: JS: Как запустить скрипт от имени определённого пользователя.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=62494#p62494" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>im2002 пишет:</cite><blockquote><p>Не могу грамотно решить такую проблему: есть удалённая машина в локальной сети, на которую хочу скопировать файл test.rar.<br />На удалённом компе мне известны имя пользователи и пароль. Не знаю как их &quot;прикрутить&quot;</p></blockquote></div><p>Если работаете в рамках WSH, то советую посмотреть на метод <strong>&quot;MapNetworkDrive&quot;</strong> объекта <strong>&quot;WScript.Network&quot;</strong>, а после копирования примапленный диск отключать.</p><p>По-умолчанию подключение ресурса выполняется от имени текущего пользователя, но по идее можно в аргументах передавать и имя с паролем. Вот, можно почитать кратенько мануал:<br /><a href="http://www.computerperformance.co.uk/Logon/logon_mapnetworkdrive_arguments.htm">http://www.computerperformance.co.uk/Lo … uments.htm</a></p><p>Имя локального пользователя по идее должно содержать и имя сервера (удаленной машины)</p><p>Вот, пример подключения-отключения ресурса объектом &quot;WScript.Network&quot;, но без передачи еще и данных пользователя:<br /></p><div class="codebox"><pre><code>
//************************************************
// Файл:    MapDrives.js (Пример WSH в JScript) 
// Автор:  (c) G. Born
//
// Отображение сетевых дисководов и Листинг их внутри 
// диалоговое окно
//
// Mapping network drives and listing them in a 
// dialog box
//************************************************
 
var machine = &quot;\\\\Wien\\&quot;;
 
// Create a new WshNetwork object, which we need
// to access network properties.
var WshNetwork = WScript.CreateObject(&quot;WScript.Network&quot;);
 
// Remove mapping to prevent run-time errors.
DisconnectDrive(&quot;X:&quot;);
DisconnectDrive(&quot;Y:&quot;);
DisconnectDrive(&quot;Z:&quot;);
 
// Create some mappings for network drives.
ConnectDrive(&quot;X:&quot;, machine + &quot;C&quot;);
ConnectDrive(&quot;Y:&quot;, machine + &quot;D&quot;);
ConnectDrive(&quot;Z:&quot;, machine + &quot;E&quot;);
 
// List all mapped drives.
Text = &quot;Mapped drives \n&quot;;
 
var oDevices = WshNetwork.EnumNetworkDrives();
 
for (var i = 0; i &lt;= oDevices.length - 2; i = i + 2)
{
    Text = Text + oDevices(i) + &quot;    &quot; + oDevices(i+1) + &quot;\n&quot;;
} 
 
WScript.Echo(Text);
 
function DisconnectDrive(drive)
{
    try
    {
        WshNetwork.RemoveNetworkDrive(drive);
    }
    catch (e)
    {
        if (e != 0)       // Display a possible error message.
            WScript.Echo(&quot;Remove &quot; + drive, &quot;\nError code : &quot;, 
                         e.number, e.description);
    }
}
 
function ConnectDrive(drive, resource)
{
    try
    {
        WshNetwork.MapNetworkDrive(drive, resource);
    }
    catch (e)
    {
        if (e != 0)          // Display a possible error message.
            WScript.Echo(&quot;Map &quot; + drive + &quot; to &quot; + resource,
                         &quot;\nError code : &quot;, e.number, e.description);
    }
}
 
//*** End</code></pre></div><p>ps. А батником можно выполнить копирования на ресурс без примапливания ресурса на привод, например, где-то так:<br /></p><div class="codebox"><pre><code>
rem подключение ресурса с правами указанного пользователя
net use \\192.168.7.2\c$ /user:192.168.7.2\имя_пользователя пароль_пользователя

rem само копирование
copy .\test.rar \\192.168.7.2\c$\Users\Администратор\AppData\Local

rem отключение от ресурса, правда - я не уверен, что так можно
net use \\192.168.7.2\c$ /delete</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Rom5]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=5724</uri>
			</author>
			<updated>2012-08-07T20:06:05Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=62494#p62494</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[JS: Как запустить скрипт от имени определённого пользователя.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=62369#p62369" />
			<content type="html"><![CDATA[<p>Не могу грамотно решить такую проблему: есть удалённая машина в локальной сети, на которую хочу скопировать файл test.rar.<br />На удалённом компе мне известны имя пользователи и пароль. Не знаю как их &quot;прикрутить&quot;&nbsp; к данному скрипту, чтобы последняя строка не <br />выдавала ошибку: <strong>&quot;Вход в систему не произведён, имя пользователя или пароль не опознаны&quot;.</strong></p><div class="codebox"><pre><code>var fsObj = new ActiveXObject(&quot;Scripting.FileSystemObject&quot;);            // объект fso
dest = &quot;\\\\192.168.7.2\\c$\\Users\\Администратор\\AppData\\Local&quot;;        // папка назначения на удалённом компьютере

fl = fsObj.GetFile(&quot;test.rar&quot;);                                           // получение объекта File, test.rar лежит в той же папке, откуда запускается скрипт

fl.Copy(dest + &quot;\\&quot; + fl.Name, true);                                                   // копирование файла test.rar в директорию, определённую в dest, под тем же именем</code></pre></div><p>P.S. домена нет, заводить на своей машине такого же пользователя как на удалённой, входить под ним и потом запускать скрипт - не подходит. (хотя в этом случае всё работает).</p>]]></content>
			<author>
				<name><![CDATA[im2002]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=28063</uri>
			</author>
			<updated>2012-08-04T14:54:53Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=62369#p62369</id>
		</entry>
</feed>
