Что нового

Работа по SMB с авторизацией

ZaEzzz

Новичок
Сообщения
28
Репутация
2
Приветствую всех!
Расскажите пожалуйста, как работать с протоколом SMB, если стоит авторизация?

Пример:
Есть:
  • Сервер AD, на котором расшарен ресурс \\AD\share - к нему доступ имеется по групповым политикам
    Машины, не способные работать с доменом и на них имеются расшареные ресурсы по протоколу smb типа \\nas1\share - доступ к ресурсам осуществляется только по логину и паролю (shareuser1:sharepassword1) и таких машин порядка 40
Требуется:
  • Зайти на машину nas1 и скопировать все файлы на сервер AD
    Повторить действие для всех машин nasXX
Итог:
  • На сервер AD доступ имеется
    На машины nasXX доступ имеется только при самостоятельно заходе на шару и вводе реквизитов доступа
  • Если не зайти заранее на машину, то копирование не происходит (не хватает прав).
 
Автор
Z

ZaEzzz

Новичок
Сообщения
28
Репутация
2
Подскажите пожалуйста, я хоть верную ветку выбрал?
 

sngr

AutoIT Гуру
Сообщения
1,015
Репутация
411
Код:
Run('net use \\nas1\share /user:shareuser1 sharepassword1','',@SW_HIDE)

Запускаешь, а после хоть с помощью filecopy копируешь.
 

darkwhite

Знающий
Сообщения
129
Репутация
5
Автор: sngr
Код:
Run('net use \\nas1\share /user:shareuser1 sharepassword1','',@SW_HIDE)

Запускаешь, а после хоть с помощью filecopy копируешь.
забыл имя диска указать
Код:
Run('net use z: \\nas1\share /user:shareuser1 sharepassword1','',@SW_HIDE)
 
Автор
Z

ZaEzzz

Новичок
Сообщения
28
Репутация
2
Значит нет такой возможности...
За каждый заход постоянно пересоздавать достаточное количество сетевых дисков - это как-то, мягко говоря, чересчур костыльно - сейчас этим занимается bat'ник, собственно и вопрос и возник из-за огромнейшеего желания уйти от данного решения.
 

sngr

AutoIT Гуру
Сообщения
1,015
Репутация
411
Ненужно никаких сетевых дисков. Написал же
Код:
Run('net use \\nas1\share /user:shareuser1 sharepassword1','',@SW_HIDE)
, ты пробовал это в деле?
Код:
FileCopy('\\nas1\share\1.exe',@ScriptDir&'\123')
 
Автор
Z

ZaEzzz

Новичок
Сообщения
28
Репутация
2
sngr, спасибо, это я проглядел пункт в справке к команде net.
Жаль, кончено, что AutoIT сам не умеет, но такой костыль действительно вполне подходит для решения задачи.
 

djasup

Новичок
Сообщения
64
Репутация
1
AutoiT это умеет, вот тебе ссыль на функции http://autoit-script.ru/autoit3_docs/libfunctions/winnet%20management.htm


Добавлено:
Сообщение автоматически объединено:

Соеденяюсь я так .
Код:
_WinNet_AddConnection2("","\\"&$AddrTo, $aLogin, $aPassword, 0, 1)



А отключаюсь так
Код:
_WinNet_CancelConnection2("\\"&$AddrTo)

Передаю файлы с помощью
Код:
FileCopy("D:\file.txt", "\\"&$AddrTo&"\, 9)

По названию переменных думаю все понятно.
 
Автор
Z

ZaEzzz

Новичок
Сообщения
28
Репутация
2
djasup, огромнейшее спасибо!
Это действительно именно то, что мне нужно))))
 
Верх