1 (изменено: im2002, 2013-09-25 12:08:25)

Тема: JS: Как авторизоваться на NT 4.0

Надо написать скрипт для копирования/архивирования папки находящейся на сервере с ОС NT 4.0 SP 6 в локальной сети.
Скрипт будет запускаться с другой рабочей станции, и соответственно копировать/архивировать должен на свой локальный диск.
Не могу авторизоваться на сервере.
пробую:

var dso = GetObject("WinNT:");                    
try
    {
    var adsi = dso.OpenDSObject("WinNT://192.168.1.201", "Administrator", "error", 0);
    WScript.Echo("Успех");
    }
catch(e)
    {
    WScript.Echo("Отказ");
    }

Получаю Отказ, хотя имя пользователя и пароль верные, пробовал "прикручивать домен", т.е. писать имя пользователя в виде "Administrator@nxms" или "nxms\Administrator" та же фигня...

Рабочая станция, с которой запускается скрипт к домену nxms (PDC-контроллером которого является вышеуказанный сервер) никакого отношения не имеет, просто находится в одной локальной сети.

2

Re: JS: Как авторизоваться на NT 4.0

var adsi = dso.OpenDSObject("WinNT://192.168.1.201", "Administrator", "error", 0);

Э… чего Вы, собственно, хотите этим добиться?

3

Re: JS: Как авторизоваться на NT 4.0

alexii пишет:

Э… чего Вы, собственно, хотите этим добиться?

Этим я хочу авторизоваться на сервере с адресом 192.168.1.201, иначе при выполнении такого кода:

var shObj = new ActiveXObject("WScript.Shell");            
var dest = "D:\\testarch";                    
var sour = "\\\\192.168.1.201\\c$\\test";            
var archpref = "archive";
var rarExe = "\"C:\\Program Files (x86)\\WinRAR\\rar.exe\"";    
ret = shObj.Run(rarExe + " a -r -y -x~*.* -x*.tmp -ag " + dest + "\\" + archpref + " \"" + sour + "\"", 1, true);

архив не создастся, по анализу ret (цифра 6) будет понятно, что это ошибка доступа.
Чтобы такого не возникало надо "авторизоваться" на той машине, с которой я хочу брать файлы для архивации на свой локальный ПК. То, как я писал в 1-ом сообщении, я делал для подобной авторизации, но на удалённом ПК была ОС Windows Server 2003, всё проходило, работало, а тут ОС = NT 4.0.
НЕ ВЫХОДИТ.

4

Re: JS: Как авторизоваться на NT 4.0

Этим я хочу авторизоваться на сервере с адресом 192.168.1.201,

И что — такое работает?

Почему не просто:

Set objWshNetwork = WScript.CreateObject("WScript.Network")
objWshNetwork.MapNetworkDrive(…)

?!

5 (изменено: im2002, 2013-09-25 22:04:33)

Re: JS: Как авторизоваться на NT 4.0

alexii пишет:

И что — такое работает?
Почему не просто:

Set objWshNetwork = WScript.CreateObject("WScript.Network")
objWshNetwork.MapNetworkDrive(…)

?!

Да, это работает, но можно и так как вы пишите, только вместо (...) будет:

var sour = "\\\\192.168.1.201\\c$\\test";
var shObj = new ActiveXObject("WScript.Shell");   
shObj.MapNetworkDrive("Y:", sour, false, "Administrator", "error");

не вижу особой разницы, опять же эту конструкцию надо ставить в try()-catch(), чтобы понять
подключился ли сетевой диск. результат будет точно таким же.

6

Re: JS: Как авторизоваться на NT 4.0

ничего не получалось, пока не настроил доверительные отношения между двумя доменами: 1-й домен который на NT4 (откуда надо брать файлы) и 2-ой - домен в который входит комп, на который эти файлы сохранять... (на платформе win2003) только так всё заработало.  очень "ракообразно", надо признать это на NT 4 настраивается.