![]() |
Удалённое монтирование сетевых дисков посредством скрипта
Доброго времени суток, ув. форумчане Помогите разобраться новичку-скриптописателю.Поставил перед собой задачу написать скрипт, выполняющий рутинную работу, причём, удалённо. Застрял на задаче монтирования сетевого диска на удалённом компьютере. Суть следующая. Я выполняю скрипт на компьютере А, он подсоединяется к компьютеру Б, совершает там много всякой всячины, в числе которой и монтирование сетевого диска - шары компьютера В. Вот такой участочек кода. Как видите, я решил заставить WMI выполнить команду чтобы примапить шару, поскольку я не нашёл у WMI специального "инструмента" для этих целей. Этот код отрабатывает на ура на компьютере А - шара мапится. На компьютере Б он тоже отрабатывается, объект objProcess возвращает 0, что означает что ему ничто не помешало отправить команду (ясень пень, что сама утилита net нам ничего таким образом не вернёт). :( А вот результате на компьютере Б диск мапится, но его не видно в проводнике, в списке примапленых дисков он висит как не доступный. Думал что дело в настройках имперсонации и аутентификации WMI. Экспериментировал с ними. Ничего не добился - диск как мапился так и мапится не правильно. Все 3 компьютера - члены домена. На компьютере А я авторизирован под доменной учёткой, на компьютере Б скрипт авторизируется под локальной учёткой с правами админа (потому, что моя учётка там не имеет админ. полномочий), шару В на компьютере Б мапит от имени доменной учётки (я экспериментировал со своей). Буду рад выслушать ваши советы, ув. коллеги. А также буду благодарен если кто подскажет как ещё можно монтировать сетевые диски удалённо (logon скрипты в данном случае мне не нужны). |
Цитата:
Для кого, для какой учётной записи должен быть смонтирован сетевой ресурс на удалённой машине? |
Цитата:
Цитата:
|
Цитата:
Цитата:
такие данные, по которым было бы понятно, где какие имена используются. |
Я со своего компьютера запускаю скрипт и авторизируюсь на компьютере 192.168.1.14 под учётной записью administrator, эта учётная запись хранится локально на 192.168.1.14 и имеет права админа. Общий ресурс хранится на 192.168.1.20, его нужно примонтировать, однако, поскольку компьютер 192.168.1.20 является членом домена и политикой запрещён гостевой доступ (авторизация на 192.168.1.14 прошла не под доменной учёткой, а под локальной), он будет монтироваться от имени доменной учётной записи - domain\username password. |
Elusive87, вот диск смонтирован на разделённый ресурс. Что дальше?
А дальше будет именно это: Цитата:
|
Iska, посмотрите внимательно на код. Я утилите NET передаю те учтёные данные, что имеют доступ на 192.168.1.20
Цитата:
В проводнике его не видно среди перечня логических дисков. Но видно в перечне примонтированных дисков как недоступный (просмотриваем либо утилитой net либо с помощью "отключить сетевой диск"). У меня такое впечатление, что сам процесс, порождаемый методом Create имеет какие-то ограничения. Кстати, я далеко не первый кто столкнулся с этими граблями, долго рылся в инете, но никто из этих ребят, что также столкнулись с этой проблемой, ответа не получил. Пробовал "перехитрить" ограничение - запускал команду через cmd /c start, чтобы таким образом породить новый процесс. Но результат тот же (как такое может быть - ума не приложу). Причём, если сделать то же самое руками на целевом компьютере - всё прекрасно монтируется. Экспериментировал на разных компьютерах. Вот у меня и закрались подозрения насчёт подводных камней самой конструкции класса и метода. Сразу уточню по поводу "делал руками" чтобы не было лишних вопросов: на удалённых компьютерах я авторизировался под localhost\administartor и выполнял команду net use оттуда. И вообще всякую команду, что я передавал методу Create я сначала проверял на целевом компьютере "вручную". |
Как вариант создать задачу через schtasks.
|
Цитата:
|
Petya V4sechkin, все рабочие станции работают на XP. Но всё же спасибо за любопытный нюанс, он мне пригодится, поскольку в сл. году мы все перейдём на "семёрку".
|
Вложений: 1
Цитата:
|
Цитата:
Цитата:
|
я использую psexec для этого.
Код:
@echo off |
Время: 10:32. |
Время: 10:32.
© OSzone.net 2001-