Форум: "Прочее";
Текущий архив: 2007.07.15;
Скачать: [xml.tar.bz2];
ВнизВопрос по WSH и network... Найти похожие ветки
← →
cosinus © (2007-06-16 12:36) [0]Кто знает WSH, не подскажите, как расшарить папку на удаленном компе? Полные права доменного админа присутствуют )))
← →
cosinus © (2007-06-19 12:47) [1]С расшариванием вроде разобрался, но, к огромному моему сожалению ), возникла новая проблемма.
Для начала, я хотел бы описать задачу и мои поползновения в области ее решения.
Задача
Есть некоторая программа от наших разработчиков, которая постоянно обновляется, иной раз по нескольку раз за день. Программа лежит на общем файл-сервере в локальной сети. Для ее обновления необходимо сделать следующие шаги...
1.Отключить общий доступ к папке с программой, вне зависимости от подключений к ней в данный момент.
2.Переименовать экзешник программы app.exe в app_old.exe
3.Скопировать новый app.exe в эту папку
4.Дать общий доступ
Мое решение
Написать скрипт, выполняющий данную процедуру автоматом.
Проблеммы на данный момент
Нужны права доменного админа, они есть, но как человек нормальный, за своим компом, я работаю с другой учеткой, обрезанной в правах.
1.Нигде в сети не могу найти пример, как в самом скрипте задать пользователя и пароль или же запрос оных, для выполнения на удаленной машине по этой учеткой.
2.runas не применим, как я понял, для скриптов и его "интерпритатора" cscript, ибо (как я подозреваю) какая то его часть, а именно та, которая и вызывает cscript в момент выполнения скрипта, уже запущена под тем пользователем, под которым я и работаю. Но это все практически ни на чем не основанные мои предположения.
Попытки решения
1.Пробовал runas - не прокатило
2.Пробовал создать батник, который запускает другой батник под учеткой админа, в котором происходит вызов совственно скрипта vbs (вот таким извращенным методом пытался наследственностью прав воспользоваться) - тоже не катит.
Оба варианта выдают ошибку скрипта, хотя он, сесенно, полностью рабочий и даже никак не завязанный на WMI и иже с ним, просто для теста.
Вероятные проблеммы в будующем
Здесь я опишу те проблеммы, которые вероятно возникнут у меня при дальнейшей разработке скрипта.
1.Подозреваю, что не так просто будет прибить общий доступ с подключенными пользователями. Если он мне предложит да\нет - еще куда ни шло, но хотелось бы полностью автоматизировать процесс.
2.Переименовать экзешник, видимо, тоже будет не банально ибо он будет переименоваться в уже находящийся в данной папке, то есть заменять станет. Ну и опять да\нет - конечно катит, но без него было бы лучше.
Просьба к Вам
Если вы можете чем-нибудь помочь, с моей проблеммой, или отдельными ее частями, то я с удовольствием выслушаю ваши предложения, попытки решения и ссылки на литературу.
PS
Почему WSH и WMI? Потому что вещь действительно полезная и надо учить матчасть ))) Есть 2 книги по WSH. По WMI не нашел ни одной. На msdn-е сижу постоянно, но решения проблемм пока не нашел.
← →
KSergey © (2007-06-19 13:01) [2]> Попытки решения
> 1.Пробовал runas - не прокатило
Как-то это очень странно, если честно.
Пу сути сказать более нечего, но есть пара вопросов по организации процесса.
1) А прям вот сильно хочется запускать со своего компа? ну тама удаленный терминал и т.п. - не подходит?
2) Зачем убивать шару? Чтобы пользователи быстренько побрились с ошибкой "ой, блин. фигня случилась"? А нельзя функционал по принудительному (но корректному!) завершению программы встроить в саму программу при смене версии?
← →
KSergey © (2007-06-19 13:03) [3]Про странно - я в том смысле, что - как я понял - если вы на своей машие заходите с правами доменного админа - то все работает?
А как в так в случае выглядит строчка с runas?
← →
Empleado © (2007-06-19 13:17) [4]
> cosinus © (19.06.07 12:47) [1]
Спасибо за детальное представление проблемы.
Мысли вслух:
Если обновление программы делается одним и тем же пользователем/под одним и тем же пользователем, то достаточно дать этому пользователю права доступа в расшаренную папку, чтобы он выполнил шаги 2 и 3 из поставленной задачи (1 и 4 необязательны)
← →
cosinus © (2007-06-19 13:39) [5]
> KSergey © (19.06.07 13:01) [2]
По первому пункту: да, ибо задач очень много, и как правило висящих терминалов не один или 2. Скрипт то собственно и призван минимизировать время и удалить возможную путанницу при быстром переключении с одной задачи на другую, ибо, повторюсь, работы очень много.
По второму: это обеспечивается транкзакциями, а вот по поводу предупреждения пользователей - это мысль ))).
> KSergey © (19.06.07 13:03) [3]
При недостатке прав - "Разрешение отклонено: "GetObject""
При runas - "Неозможно создание объекта контейнером ActiveX: "DynamicWrapper""
> Empleado © (19.06.07 13:17) [4]
Не за что, тем более, что помимо прозрачности для вас, это структурирует и мои мысли тоже ))) Нет, пользователь не 1, да и подсеть не 1... Не очень хочется усложнять. А то выйдет через год, что на файл-серверах ТАКОЕ количество объектов с СОВЕРШЕННО разными правами... Перенос, в случае чего, будет затруднителен.
← →
umbra © (2007-06-19 14:50) [6]по поводу прав доступа: не проще ли на файловомм сервере создать назначенное задание, запускающееся от имени нужного пользователя?
← →
cosinus © (2007-06-19 14:58) [7]
> umbra © (19.06.07 14:50) [6]
Нет. Ибо событие происходит не регулярно. А файлы присылаются по почте и должны быть немедленно заменены.
← →
Jeer © (2007-06-19 15:07) [8]
> А файлы присылаются по почте и должны быть немедленно заменены.
Бездумное требование, отсюда и промблемы.
← →
KSergey © (2007-06-19 15:42) [9]> cosinus © (19.06.07 14:58) [7]
> Нет. Ибо событие происходит не регулярно. А файлы присылаются
> по почте и должны быть немедленно заменены.
Глупость какая. На пользователей значит плюем? А для кого вообще программа-то? Для программистов?
К стати, елси уж это письма - то полностью автоматизировать проще простого: на целевом компьюьере пишем простенькую прогу, которая по POP3 просматривает дребуемый ящик и выуживает письма с прогой (лучше, конечно, чтобы это был спец. ящик именно для засылки проги). Длаее, как только письмо получено - прога прямо на том же компе делает указанные шаги. Все. Админ вовсе свободен от запуска каких-либо скриптов.
Только вы шепните по секрету программерам сего чуда, что кроме почты - еще много протоколов обмена существует.
← →
KSergey © (2007-06-19 15:49) [10]> cosinus © (19.06.07 13:39) [5]
> При runas
интересует строчка запуска с runas
> cosinus © (19.06.07 13:39) [5]
> По второму: это обеспечивается транкзакциями.
Тразакциями обеспечивается лишь целостность базы, а вот то. что пользователь набивал до этого пол-часа что-то в программу - херится нафиг. Оригинально.
К стати, если уж нужна такая оперативность и частота обновлений - может все же пересмотреть архитектуру приложения? Чтобы его не обязательно было перезапускать полностью вовсе.
К стати, частота обновлений наводит на мысль о каком-то совершенно странном цикле разработаки и полном отсутствии предварительного тестирования (перед отправкой того самого письма).
По поводу же архитектуры "неперегружаемого" приложения - например такой вариант: вся логика в программе прошита в dll, для запуска имеется лишь минимальный exe-модуль, который не должно быть смысла так часто менять :)
Прога может периодически мониторить появление новых версий dll и мягко намекать пользователю что не плохо бы переоткрыть эту форму, т.к. появилась новая версия.
На сервере же имеющиеся dll просто переименовываем и подкладываем новые.
Хотя, очевидно, такая частота - не нужна.
← →
Anatoly Podgoretsky © (2007-06-19 15:53) [11]> KSergey (19.06.2007 15:42:09) [9]
Пусть лучше шепнут программистам, чтобы такой дурью как несколько версий в день больше не занимались, по моему это лохотрон или как минимум простая некомпетентность их как разрабаотчиков.
← →
cosinus © (2007-06-19 16:38) [12]Господа, проблеммы реализации программы и "внушение" программистам по поводу метода, который бы не ущемлял права пользователей, на данном этапе мне неподвласны.
Я спрашиваю про конкретную реализацию, конкретной задачи.
Я и сам могу написать, что здесь неправильно и как можно было бы сделать лучше, однако сейчас(sic!) стоит другая задача. Если условия изменятся, я буду только рад, однако, что то мне подсказывает, что вопросы авторизации по WMI в задачах администрирования, коим я собственно и занимаюсь, всплывут еще не раз и не два.
← →
cosinus © (2007-06-19 16:44) [13]Я нашел реализацию.
SWbemLocator.ConnectServer
Всем спасибо.
← →
Anatoly Podgoretsky © (2007-06-19 16:48) [14]> cosinus (19.06.2007 16:38:12) [12]
А реализацию ты уже выше расписал, пошаговую инструкцию.
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2007.07.15;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.044 c