Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » Автоматизация администрирования

Модерирует : lynx, Crash_Master, dg, emx, ShriEkeR

emx (13-12-2006 21:07): http://forum.ru-board.com/topic.cgi?forum=8&topic=19088#1  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101

   

ooptimum



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
 

                               Коллеги-администраторы  ....  


Часть 1


Думаю каждый из вас сталкивался с необходимостью выполнять некие несложные рутинные операции, на котороые уходит много драгоценного времени.
 Например, создать определенную структуру каталогов для каждого пользователя домена, изменить некие параметры в профилях всех или части пользователей, изменить полномочия/владельца однотипных файлов в разных каталогах т.д.  
Я, как сисадмин, тоже не раз был вынужден делать все это.  Руками делать это тоскливо и муторно, как вы понимаете. Должен заметить, что по неким "религиозным" убеждениям я всегда старался избегать любых отношений с бейсиком и его производными. Еще мой отец учил меня не иметь с ним никаких дел. Буквально. А теперь я учу своего сына тому же. Но, тем не менее, полностью избежать этого, по всей видимости, невозможно, тем более, что бейсик от M$ сейчас уже далеко не та "лапша", которой он был изначально, а современный структурированный язык, нашедший множество применений. Похоже, что для меня в очередной раз настала пора выучить еще что-то. Знаете, как курильщик много раз безуспешно пытается бросить курить, так и я не раз пытался подступиться к изучению VBScript, но пока никак не одолел. Лень, знаете ли. А инструмент в делах административных был бы весьма пользительный, должен заметить, для быстрого написания всякого рода скриптов.

 
    Внимание   !  !  !  

  • Поскольку данный топ весьма не мал, не забывайте  использовать "версию для печати" для более удобного поиска по теме. А также МЕГА ПОИСКОВИК от NEPa

  • Дабы не раздувать топ,  примеры своих  скриптов  заключаем в тег  "more"

Консольные команды. Командный интерпретатор

Windows Script Host (WSH) &  VBScript  &  JScript


Вышеперечисленные буки можно  взять здесь

    ТOOLS :
  1. Autoit+readme.rus
  2. Scriptologic
  3. AutoMate
  4. KIXTART
  5. nnCron-Планировщик с поддержкой скриптового языка --  РЕКОМЕНДУЮ
  6. WGET, GREP, GETMAIL, BLAT for Windows замечательные консольные утилиты
  7. 4dos/4nt -- отличная замена стандартного коммандного интерпретатора  
  8. JudoScript - java подобный скриптовый язык с исходниками

    Дружественные темы :
  1. Автоматическая (unattended) установка Windows
  2. Интересные команды при работе с Linux
  3. Отличный сайт по скриптингу, и не только
  4. Использование KIX
  5. Использование WMI

 
>>HOW -  TO:
Создается по материалам данного топа

 
Надеюсь данная тема будет полезна для Вас.
 Предложения по реформированию шапки принимаю в ПМ Jovanotti

 

Всего записей: 2898 | Зарегистр. 30-05-2002 | Отправлено: 08:55 13-12-2002 | Исправлено: FreemanRU, 17:29 11-12-2006
Yourbill



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
freegate
В моем батнике из RK используются:

Код:
sleep и now

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

Код:
blat

Все остальное встроенные виндовые комманды.

Всего записей: 565 | Зарегистр. 11-03-2003 | Отправлено: 10:41 14-09-2006 | Исправлено: Yourbill, 10:43 14-09-2006
pav



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Yourbill
И в каком из указанных на сайте MS архивов вышеназванные команды?

Всего записей: 1856 | Зарегистр. 27-01-2002 | Отправлено: 10:47 14-09-2006
Baloven1

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
unhappy
Ты прав бесспорно, однако как писал ранее сразу не нашел этой ветки да и обсуждение там вялое, а хоть текущая решаемая задача и ни каким образом не относится к администрированию, тем не менее за нее взялся именно для того чтоб изучить whs для целей применения в администрировании. Потому как в принципе задачу поставил себе достаточно не ординарную (имхо) в которой достаточно много требуется использовать возможностей языка, а уж с дальнейшим думаю дальше разберусь
 
В общем задача следующая (если, есть дикое желание все же перенести это в "удобняшки" то я туды перекопирую все свои посты, но только если есть кому-то кроме меня в этом интерес):
идея в том чтобы автоматизировать обновления данных по спутниковым транспондерам для программы ProgDVB ну а на выходе данные можно преобразовать уже для какой угодно программы или устройства (для целей перепрошивки тех же спутниковых тюнеров) дописав модуль в скрипт.
Сейчас скрипт умеет:
1. прочитать псевдо-INI (как обрабатывать разделы пока не придумал, потому просто пишет текстовик с расширением INI)
2. открыть форму в соответствии с INI получить данные у пользователя и записать их обратно в INI
3. в зависимости от положения введенных пользователем рассчитывается угол наклона спутниковой антеннны, по нему же определяется а виден ли вообще в точке пользователя спутнк(-и) (реализован расчет но до работы с модулем еще не дошел)
4. ....
на данный момент бьюсь (успешно ) над обработкой сайта _www.lyngsat.com. Зделано: в зависимости от положения пользователя грузится та или иная страница со списком спутников (как раз выше и был пост-вопрос под это, уже зделал) и в зависимости от необходимых пользователю частотных диапазонов обработка некоторых спутников (по цветовой маркеровке на сайте) не производится, собственно на этом и остановился вчера, работаю дальше
 
Добавлено:
Перечитал то что понаписал
Это полный Off-TOP у администраторов прошу прощения...
в общем я так понимаю задача не относится ни к администрированию, ни к удобняшкам (или по крайней мере в большей степени чем к администрированию) если у кого есть желание развивать сею идею дальше то напишите в личку, может тогда проще отдельную ветку зделать будет.

Всего записей: 186 | Зарегистр. 16-09-2004 | Отправлено: 02:08 16-09-2006
Yourbill



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
pav
Не знаю, у меня пакеты RK еще начиная с NT4.0. Вот выложил все три в архиве, забираете кому нужно

Всего записей: 565 | Зарегистр. 11-03-2003 | Отправлено: 13:12 16-09-2006
VanGo

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всем привет! Помогите мне плиз(хоть добрым словом)!)-бился два дня
Исходные данные:есть MS Office 12 Beta, ОС: MS XP
Проблема: истек срок использования у офиса
Анализ: показал что если перевести время на пару месяцев назад то (о чудо) все работает!
Задача: по клику на файл file.doc запускать созданное нами приложение, которое делает:
1) Переводит время на 2 месяца назад
2) Запускает Word с передачей ему в качестве параметра file.doc
3) Возвращает время обратно
4) Все должно быть по возможности незаметно
Решения по ходу возникновения в голове:
1)Воспользоваться всемогущим Neo Sign 0f Misery
Проблема: не смог передать параметр file.doc с ее помощью. В остальном идеальное решение.
2)Написать bat-файл
Недостатки: болтается на экране как бельмо
Ксати вот он:
@echo off
rem сохраняем текущую дату
set tecdata=%DATE%
rem устанавлтваем новую
DATE=18.07.2006  
rem (а почему бы и не такая))
rem запускаем ворд с параметром
start "word" "C:\Program Files\Microsoft Office\OFFICE12\WINWORD.EXE" %*
rem пауза для того что бы ворд запустился
ping -n 5 localhost > nul
rem восстанавливаем дату
date=%tecdata%
3)Написать скрипт VBS (другие языки не рассматриваю по причине полного отсутствия познаний)
Он должен запустить в скрытом режиме предыдущий батник с передачей ему file.doc
Проблема:как реализовать запуск этого скрипта по щелчку на file.doc?????
Ну вот и он сам:
Set objArgs = WScript.Arguments
Set WshShell = CreateObject("WScript.Shell")  
WshShell.Run "cmd.exe /c путь_к_батнику.bat " & objArgs(0), 0, false
Примечание:запускать надо с параметром (file.doc) а то ошибка.....
Ну и наконец пришлось написать еще один батник для запуска скрипта, по другому я не знаю как,вот он:
@echo off
cscript.exe "путь_к_скрипту.vbs" %*
Но возникает опять же мелькание окошка, хотя и недолгое.
Мне бы хотелось:
Обязательно
1) Запускать file.doc с помощью скрипта без последнего батника. Подскажите плиз как это сделать!!!
Желателльно:
2) Реализовать весь алгоритм на скрипте, сам не могу так как плохо его знаю.
Тем кто дочитал все-таки до конца:Заранее спасибо!)
 
---------
Все разобрался сам с помощью волшебной Neo Sign 0f Misery версии 0.4

Всего записей: 2 | Зарегистр. 18-09-2006 | Отправлено: 00:03 19-09-2006 | Исправлено: VanGo, 00:02 20-09-2006
Baloven1

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
VanGo
по сути тебе нет необходимости запускать батник, все можно зделать на VBS позже если никто более решение не подскажет сам отвечу, надеюсь это будет сегодня, а пока посмотри в сторону скриптцентра и документации все есть на мелкософте, ссылки в шапке
 
Добавлено:
VanGo
как набросок алгоритма скрипта:
в реестре:
заменить команду запуска для Doc & XLS файлов вместо них подставить вызов скрипта с передачей параметра из командной строки.
далее в самом теле скрипта:
сохраняем текущую дату в переменную
меняем дату на необходимую
запускаем ворд (ексель) и ждем пока процесс станет доступным с параметром из командной строки, т.е. запущенным файлом.
возвращаем дату на место.
 
собственно все это реализовано в твоем батнике, за исключением подмены команды запуска в реестре, остается его перевести на VBS.

Всего записей: 186 | Зарегистр. 16-09-2004 | Отправлено: 05:06 20-09-2006 | Исправлено: Baloven1, 05:27 20-09-2006
VanGo

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Danke shon, но я уже наплясался с этими скриптами, особенно с чехардой с кавычками для передачи строк состоящих из нескольких слов, связка  
 
' собираем все переданные параметры в одну строку и присваиваем Argum
For i = 0 To objArgs.Count - 1
    Argum = Argum  + objArgs(i)
next
' окружаем Argum кавычками
Argum = " """ & Argum & """ "
' запускаем батник
WshShell.Run "cmd.exe /c ""C:\Program Files\StartMS\qwe.bat "" " & Argum, 2,  
 
не заработала, последняя строка не запускала батник, в чем причина я устал искать, в дебри тоже не захотелось залазить, короче после 3-х дней танцев с кавычками скачал последнюю версию Neo Sign 0f Misery 0.4 и буквально за полчаса сделал все в лучшем виде.) Собственно все...Alles gut))
Баловень первый спасибо!)

Всего записей: 2 | Зарегистр. 18-09-2006 | Отправлено: 00:30 21-09-2006
pav



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Yourbill
Как-то не полностью батник отрабатывает.  
Сегодня с утра пораньше запустил вручную, благо было 6(!) оставшихся со вчерашнего дня пользователей. Выкинул лишь троих из шести. Специально зашёл перед этим ещё и под другим именем в терминал. Второй не был сброшен, более того и никаких сообщений не получил. Хотя в окне консоли батник сообщал, что отсылает сообщения. Может связано это с тем, что пользователи сеанс завершать завершали, но терминальная сессия с парой-тройкой файлов осталась. Хотя новоиспечённый пользователь, зашедший перед запуском батника (т.е. я, но в другой сессии и как простой пользователь) тоже не был разлогинен и остался при своих на сервере.
freegate
Твой батник вообще пролетает и тоже ничего не делает. Хотя в консоли видно, что идёт перебор по существующим сеансам.

Всего записей: 1856 | Зарегистр. 27-01-2002 | Отправлено: 09:08 21-09-2006
Allex_Van_Fogen



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Нетривиальная задача:
 
1. Найти все *.eml файлы в папке С:\Inetpub\mailroot\Mailbox содержащие фразу RDNS Failed.
2. Заменить в найденных файлах строку Subject: #####... на Subject: SPAM: #####...
 
Со спамом боремся? ;o)

Всего записей: 92 | Зарегистр. 09-03-2003 | Отправлено: 09:35 21-09-2006
freegate



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору


Цитата:
freegate  
Твой батник вообще пролетает и тоже ничего не делает. Хотя в консоли видно, что идёт перебор по существующим сеансам.

 
Интересно у тебя в ручную команда Logoff отрабатывает или нет

Всего записей: 44 | Зарегистр. 24-03-2004 | Отправлено: 11:09 21-09-2006
Yourbill



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
pav
А что у тебя за сервер 2000-й или 2003-й. У меня батник заточчен под 2003, на 2000-й могут быть отличия. Вообще я мог гдето в батнике слегка ошибиться, я ведь его вырезал и комметы дописывал. Сделай дебаг Вместо всяких комманд типа отсылки сообщений и т.п подставь echo и паузу в нужных местах и посмотри как парсятся ответы.

Всего записей: 565 | Зарегистр. 11-03-2003 | Отправлено: 11:24 21-09-2006
urel

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Allex_Van_Fogen
 
а ты уверен, в том что это будет спам? Если какой нить клиент/партнет вашей организации заимеет почтовик и не позаботиться о соответственной PTR, то будет висеть в спаме?
 
а так, задача вполне тривиальна - берем Microsoft Technet Scriptcenter  и ищим как:
получить список файлов в директории
как прочитать текстовый файл
как записать текстовый файл
+ можно почитать документацию  
на предмет функций для работы с текстовой строкой (instr mid left right len lcase)

Всего записей: 292 | Зарегистр. 16-09-2004 | Отправлено: 11:28 21-09-2006
Yourbill



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
По поводу сообщений, если пользователь влогинен не один раз а 2 и больше, то все мессаги приходят в одну сессию по колличеству сессий пользователя (три сессии три мессаги в одну сессию, в остальных двух пусто). Я с этим не разбирался, не было необходимости. У меня мессага шлется по имени пользователя, думаю можно еще привязаться к ID сесии. Но выкидывает у меня всех до единого. Проверь еще настройки самого терминала, может там чего

Всего записей: 565 | Зарегистр. 11-03-2003 | Отправлено: 11:28 21-09-2006 | Исправлено: Yourbill, 11:31 21-09-2006
pav



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Yourbill
Сервер 2000-ый. Но троих же выкинуло!  

Цитата:
По поводу сообщений, если пользователь влогинен не один раз а 2 и больше

Двойной логин затруднён. Т.е. всегда на одного пользователя системы один сеанс.

Всего записей: 1856 | Зарегистр. 27-01-2002 | Отправлено: 13:40 21-09-2006
SVOI_CHUVAC



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Тут упоминалось как то удаление программы посредством скрипта, все в принципе работает, но у меня возникла трудность. Задача надо удалить symantec - антивирус, клиентские части со всех компов (обусловлено переходом на другой антивирус), вот тут то и появляется загвоздка- для его удаления надо набрать пароль, пробовал запускать скрипт, указанный в этой ветке ранее все работет, доходит до ввода пароля и останавливается. Может как то можно это обойти, или отправить пароль в это окно? подскажите
 
 
Код:
set wsh=wScript.createObject("wscript.shell")
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _  
   & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")  
 Set colSoftware = objWMIService.ExecQuery _  
("Select * from Win32_Product Where IdentifyingNumber='{0EFC6259-3AD8-4CD2-BC57-D4937AF5CC0E}'")
 For Each objSoftware in colSoftware  
   (objSoftware.Uninstall()  
Next  
   

Всего записей: 95 | Зарегистр. 28-04-2005 | Отправлено: 14:28 21-09-2006
Yourbill



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
pav
Тоесть у тебя пользователь на ТС ограничен одной сессией, ну или просто не логинтся больше одного раза, правильно? Тогда сообщение по команде msg - стопудово должны отрабатывать. А отправляемые по net send, только если на рабочей станции включена служба messenger. В ХП эта служба по умолчанию задизейблена (во 2-м СП точно).
Я вообще не вижу проблемы в коррекции моего примера, ты просто ленишься Пример рабочий, дает общее направление и дает общее понятие... Ну а детали подкорректируй

Всего записей: 565 | Зарегистр. 11-03-2003 | Отправлено: 13:56 22-09-2006
pav



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Yourbill
Бог с ними, с сообщениями. Ночью итак никого нет. Трассировка ругается на параметр %b - неожиданное появление.

Всего записей: 1856 | Зарегистр. 27-01-2002 | Отправлено: 09:39 25-09-2006
Sk1f



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Люди такая проблема написал скрипт, который раздает лицензии на машины в домене.  
Лицензии считываются с базы данных.
Все работало на xp, но оказалось что в сети есть машины с 2000 виндой. И скрипт начал ругаться.  
 
Вот на эту строчку -

Цитата:
 
Set objComputer = CreateObject("Shell.LocalMachine")
 

Пишет что, не найден такой объект
 
Что делать?  
В сети машины с 2000 виндой наверное 200-300. Поэтому вариант вбить руками не подходит.

Всего записей: 198 | Зарегистр. 04-04-2006 | Отправлено: 12:09 26-09-2006 | Исправлено: Sk1f, 12:11 26-09-2006
Yourbill



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
pav
Хватит витать в облаках Проверь бат файл на наличие ошибок... Что то неправильно парсится, возможно ответы ТС на комманды в 2000 и 2003 отличаются, запусти комманду ручками, проверь какие поля формируются в текстовик... Вообщем, дело за тобой, ты же админ своей сетки

Всего записей: 565 | Зарегистр. 11-03-2003 | Отправлено: 13:16 26-09-2006
FreemanRU



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Цитата:
CreateObject("Shell.LocalMachine")

Боюсь такого объекта в Win2000 нет. Так что вохможно надо скрипт переписывать. А скрипт полностью можешь привести? Или скажи где взял, чтоб там посмотреть...

----------
Если не получается с первого раза - прочти инструкцию. (с)
"Откуда нам знать, что такое война, если мы не знаем мира..."(с)
Записки

Всего записей: 3794 | Зарегистр. 16-07-2004 | Отправлено: 13:21 26-09-2006
   

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101

Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » Автоматизация администрирования
emx (13-12-2006 21:07): http://forum.ru-board.com/topic.cgi?forum=8&topic=19088#1


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru