Возможно мой метод не самый элегантный, но я решил задачу так:
Обратите внимание, что для работы 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
Всем спасибо!