im2002 пишет:Не могу грамотно решить такую проблему: есть удалённая машина в локальной сети, на которую хочу скопировать файл test.rar.
На удалённом компе мне известны имя пользователи и пароль. Не знаю как их "прикрутить"
Если работаете в рамках WSH, то советую посмотреть на метод "MapNetworkDrive" объекта "WScript.Network", а после копирования примапленный диск отключать.
По-умолчанию подключение ресурса выполняется от имени текущего пользователя, но по идее можно в аргументах передавать и имя с паролем. Вот, можно почитать кратенько мануал:
http://www.computerperformance.co.uk/Lo … uments.htm
Имя локального пользователя по идее должно содержать и имя сервера (удаленной машины)
Вот, пример подключения-отключения ресурса объектом "WScript.Network", но без передачи еще и данных пользователя:
//************************************************
// Файл: MapDrives.js (Пример WSH в JScript)
// Автор: (c) G. Born
//
// Отображение сетевых дисководов и Листинг их внутри
// диалоговое окно
//
// Mapping network drives and listing them in a
// dialog box
//************************************************
var machine = "\\\\Wien\\";
// Create a new WshNetwork object, which we need
// to access network properties.
var WshNetwork = WScript.CreateObject("WScript.Network");
// Remove mapping to prevent run-time errors.
DisconnectDrive("X:");
DisconnectDrive("Y:");
DisconnectDrive("Z:");
// Create some mappings for network drives.
ConnectDrive("X:", machine + "C");
ConnectDrive("Y:", machine + "D");
ConnectDrive("Z:", machine + "E");
// List all mapped drives.
Text = "Mapped drives \n";
var oDevices = WshNetwork.EnumNetworkDrives();
for (var i = 0; i <= oDevices.length - 2; i = i + 2)
{
Text = Text + oDevices(i) + " " + oDevices(i+1) + "\n";
}
WScript.Echo(Text);
function DisconnectDrive(drive)
{
try
{
WshNetwork.RemoveNetworkDrive(drive);
}
catch (e)
{
if (e != 0) // Display a possible error message.
WScript.Echo("Remove " + drive, "\nError code : ",
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("Map " + drive + " to " + resource,
"\nError code : ", e.number, e.description);
}
}
//*** End
ps. А батником можно выполнить копирования на ресурс без примапливания ресурса на привод, например, где-то так:
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
WBR. Roman