Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   NET USE на удаленной машине (http://forum.oszone.net/showthread.php?t=293952)

The_Immortal 15-01-2015 12:32 2456349

NET USE на удаленной машине
 
Всех приветствую!

Друзья, пытаюсь подключить сетевой диск на удаленной машине через PsExec следующим образом:

Код:

PsExec.exe \\Ws1 -u domain\user -p password net use z: \\Ws2\SharedFolder

PsExec v1.98 - Execute processes remotely
Copyright (C) 2001-2010 Mark Russinovich
Sysinternals - www.sysinternals.com


Команда выполнена успешно.

net exited on Ws1 with error code 0.

Но в итоге сетевой диск на машине Ws2 не создается.

cameron 15-01-2015 12:51 2456358

Цитата:

Цитата The_Immortal
Но в итоге сетевой диск на машине Ws2 не создается. »

читаем документацю, вслух
http://technet.microsoft.com/en-us/s.../bb897553.aspx
Цитата:

If you omit a user name, the process will run in the context of your account on the remote system, but will not have access to network resources (because it is impersonating). Specify a valid user name in the Domain\User syntax if the remote process requires access to network resources or to run in a different account. Note that the password and command are encrypted in transit to the remote system.

The_Immortal 15-01-2015 14:39 2456418

cameron,
Цитата:

Цитата cameron
Specify a valid user name in the Domain\User syntax »

Цитата:

Цитата The_Immortal
PsExec.exe \\Ws1 -u domain\user -p password net use z: \\Ws2\SharedFolder »

Что не так?

Iska 15-01-2015 14:45 2456426

Цитата:

Цитата The_Immortal
Что не так? »

Как именно Вы определяете, что:
Цитата:

Цитата The_Immortal
в итоге сетевой диск на машине Ws2 не создается. »


The_Immortal 15-01-2015 16:48 2456509

Iska,
Цитата:

Цитата Iska
Как именно»

Легко:
Код:

>PsExec.exe \\Ws1 -u domain\user -p password net use z: \\Ws2\SharedFolder

PsExec v1.98 - Execute processes remotely
Copyright (C) 2001-2010 Mark Russinovich
Sysinternals - www.sysinternals.com


Команда выполнена успешно.

net exited on Ws1 with error code 0.

>PsExec.exe \\Ws1 -u domain\user -p password net use

PsExec v1.98 - Execute processes remotely
Copyright (C) 2001-2010 Mark Russinovich
Sysinternals - www.sysinternals.com


Новые подключения не будут запомнены.

В списке нет элементов.

net exited on Ws1 with error code 0.

cameron,
Цитата:

Цитата cameron
читаем документацю, вслух »

Готов еще что-нибудь почитать вслух и даже с выражением... Но только что? :-(

Попробовал вот таким образом:
Код:

>PsExec.exe -u domain\user -p password \\ws1 -e net use z: \\Ws2\SharedFolder

PsExec v1.98 - Execute processes remotely
Copyright (C) 2001-2010 Mark Russinovich
Sysinternals - www.sysinternals.com


Команда выполнена успешно.

net exited on ws1 with error code 0.

>PsExec.exe -u domain\user -p password \\ws1 net use

PsExec v1.98 - Execute processes remotely
Copyright (C) 2001-2010 Mark Russinovich
Sysinternals - www.sysinternals.com


Новые подключения будут запомнены.


Состояние  Локальный  Удаленный                Сеть

-------------------------------------------------------------------------------
Нет доступа  z:        \\Ws2\SharedFolder    Microsoft Windows Network
Команда выполнена успешно.

net exited on ws1 with error code 0.

Диск создается, но он недоступен. Если создавать его локальным образом, то все в порядке.
Конечно, можно запускать на удаленной машине батник, в котором будет сидеть net use с созданием диска, но это как-то не комильфо.

Iska 15-01-2015 17:02 2456517

Цитата:

Цитата The_Immortal
Диск создается, но он недоступен. »

Недоступен тому же пользователю, под которым он присоединялся?

The_Immortal 15-01-2015 17:09 2456525

Iska, да.

The_Immortal 15-01-2015 20:20 2456639

Еще одна попытка (запускаю net use через cmd на стороне клиента):
Код:

>PsExec.exe -i -d -u domain\user -p password \\ws1 cmd /c net use z: \\Ws2\SharedFolder

cmd started on ws1 with process ID 3516.

>PsExec.exe -u domain\user -p password \\ws1 net use

Новые подключения будут запомнены.


Состояние  Локальный  Удаленный                Сеть

-------------------------------------------------------------------------------
Нет доступа  z:        \\Ws2\SharedFolder    Microsoft Windows Network
Команда выполнена успешно.

net exited on ws1 with error code 0.

Но диск опять недоступен...


UPD: ох этот синтаксис...
Код:

>PsExec.exe -e cmd /c net use z: \\Ws2\SharedFolder /user:domain\user password
 
Команда выполнена успешно.
 
net exited on ws1 with error code 0.
 
>PsExec.exe \\ws1 net use
 
Новые подключения будут запомнены.
 
Состояние  Локальный  Удаленный                Сеть
 
-------------------------------------------------------------------------------
OK          Z:        \\ws12\ConsultantPlus    Microsoft Windows Network
Команда выполнена успешно.
 
net exited on ws1 with error code 0.

Думал, что сработало, но потом залез на машину, а там диска не оказалось... Повторил PsExec.exe \\ws1 net use еще раз и мне выдало состояние "Нет доступа" :-(


UPD2: в общем, исходя из рассуждений отсюда:
Цитата:

The reason why dirve mappings which are created remotely with the help of psexec are useless is pretty trivial:
The mapped drive is valid for the account only under which psexec authenitcated on the remote machine.
The mapped drive is valid only as long as the psexec session lasts. Once psexec disconnects from the remote machine the mapped drive is inaccessible.
можно сделать вывод, что задача в рамках использования PsExec нерешаема...

Может, есть другие варианты удаленного маппинга сетевого диска?

Цитата:

Цитата The_Immortal
Конечно, можно запускать на удаленной машине батник, в котором будет сидеть net use с созданием диска »

Даже это оказалось не "конечно"...

Rivendell 06-02-2015 11:33 2467267

The_Immortal, не получилось? Столкнулся с такой же потребностью

username0 26-01-2016 01:50 2599116

Возможно мой метод не самый элегантный, но я решил задачу так:
Обратите внимание, что для работы psexec необходимо наличие у целевого компа системных шар admin$ ipc$
Понадобится psexec и runfromprocess (http://www.nirsoft.net/utils/run_from_process.html), предварительно складываем runfromprocess.exe и MountX.bat(он ниже) в папку с общим доступом, например \\192.168.0.1\Test\

Пишем батник, назовём его MountX.bat:
Код:

@echo off
:: Можно исключить строку с удалением диска, мне она нужна по ряду причин.
net use X: /Delete /Y
net use X: \\192.168.0.1\share

Пишем второй батник, назовем его RunMountX.bat:
Код:


@echo off

:: Ключи -d и -n 12 нужны мне для выполнения данной процедуры на большом количестве виндовых машин
:: @iplist.txt можно заменить на IP целевой машины, если у вас одна, например \\192.168.0.2


:: Работает это вкратце так: Копируем на целевую машину в корень винды батник, монтирующий
:: сетевой диск, и runfromprocess, который этот батник выполнит на целевой машине от имени cmd

psexec.exe @iplist.txt -u User1 -p 123 -d -n 12 cmd /c "copy /Y \\192.168.0.1\Test\MountX.bat & copy /Y \\192.168.0.1\Test\RunFromProcess.exe %%systemroot%% & RunFromProcess cmd MountX.bat"

Echo Space to exit
pause > null


Всем спасибо!


Время: 08:39.

Время: 08:39.
© OSzone.net 2001-