Ru-Board.club
← Вернуться в раздел «В помощь системному администратору»

» Автоматизация администрирования. Часть 2

Автор: FreemanRU
Дата сообщения: 11.12.2006 16:27


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


Часть 2я

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


Внимание ! ! !

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

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

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

Очень часто многие задачи можно выполнить применяя CMD и BAT файлы,
в которые включают консольные утилиты.
Командная строка, батники\сценарии
Задачи на bat-файлах
CMD Line Tools for Windows 95/98/NT/2000/XP
Параметры .bat файлов #1
Параметры .bat файлов #2
Microsoft Resource Kits tools
Сайт справочник-поисковик по командам UNIX

Windows Script Host (WSH) & VBScript & JScript

Исчерпывающий набор док и линков по теме (то что нужно начинающему скриптологу )
Учебный курс "Программирование для администраторов " [CHM] - всем начинающим рекомендуется
TechNet Script Center Sample Scripts --- recomend
Microsoft Technet Scriptcenter
Microsoft Technet Community-Submitted Scripts Center
Коллекция примеров скриптов для работы с AD

BOOKS :
eBookz -- Системное администрирование под Windows
eBookz » Системное администрирование под Linux/FreeBSD/....
Windows Server Hacks, By Mitch Tulloch - recomend
Windows Admin Scripting Little Black Book, Second Edition
AdvancedWindows Script Host Developer's Guide
Active Directory Cookbook for Windows Server 2003 --- AD-скриптологампосвящается
MS Windows Command-Line Administrator's --- исчерпывающее руководство
по языку командного процессора (CLI -- Command Line Interface)
Учебный курс "Программирование для администраторов "

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

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

Дружественные темы :
Автоматическая (unattended) установка Windows
Интересные команды при работе с Linux
Отличный сайт по скриптингу, и не только
Использование KIX
Использование WMI
Программирование "удобняшек" на VBScript


[more]
Как сменить владельца файла на произвольного пользователя
Как определить владельца файла
таймер для .bat файла
Как написать скрипт чтобы получить MAC адрес всех машин (в домене)?
Как скриптом определить какая ОС на клиентском ПК?
Как посмореть на раб. станциях какие пользователи находяться в Local Administrator Group ?
Как в зависимости от имени залогинившегося пользователя исполнять разные команды в скрипте ?
Как изменить дату последней модификации файла
Как сделать запрос из AD через LDAP с условием по маске?
Смена букв разделов Е и D местами
Автоматическая установка приложений #1 - recomend
Автоматическая установка приложений #2
Использование VBScript для работы с FTP-протоколом
Работа с принтерами - добавить, удалить, расшарить. Поколдовать с портами
Чистка клиентских компьютеров (в домене) -- темповые папки
Как сравнить дату создания файла с заранее определенной датой
Резервирование базы DHCP сервера
Присвоение IP-адресса в зависимости от имени залогиневшегося пользователя
Удаленное выполнение команд
Скрипт, позволяющий посмотреть ключ (CD-KEY) от XP или 2003
Как изменить метку тома из ком. строки на пустую (ECHO .)
Как подключить несколько сетевых дисков
Как закриптовать тело скрипта
[/more]
Создается по материалам данного топа


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


Автор: urel
Дата сообщения: 11.12.2006 16:53
Lobasterman
Стартап скрипты выполняются при включении компа 1 раз и естественно до логона пользователей.
положить - куда уогдно, лиш бы у компьютеров были права читать из папки, дать read & execute для domain computers, например.
Автор: Lobasterman
Дата сообщения: 11.12.2006 17:32
В том то и бяда, что во-первых:
не всем компам/юзверям в сети нужны эти настроечные файлы.Отсюда во-вторых:
юзверь переполз на др.рабочую станцию, ему автоматом деплоиться инсталяха это проги, после чего надо чтобы именно ему (юзверю), на той машине, за которой он работает, были вкорячены файлы настроек именно этой программы и именно в те папки, которые указаны в скрипте. Посему, в полиси по компам енто не есть решение, т.к. ориентация идет не на комп, а на юзверя. Связанно это с активным обновлением компьютерного парка в конторе и как следствие, броуновским движением техники. Плюс еще и орг.заморочки (ИТ обслуживание у аутсорсера, я как служба заказчика). Посему нужен именно скрипт.
Автор: alfira
Дата сообщения: 12.12.2006 03:20
urel
млин сорри. причина оказалась в том что я в скрипле использую команду Ключ -U — обновить файлы, поэтому и создается временный файл. и как его заставить создаваться на сервере в каталоге для архива? никак не пойму.
Автор: alfira
Дата сообщения: 12.12.2006 09:46
urel
если запускать *.bat в котором прописать аналогичную команду для архивации с ключом -u -as для обновления архива то временный файл создается в каталоге Winrar,
а Оба любезно предложенных вами скрипта vbs пытаются создать временный файл в папке из которой они сами запускается может можно как-то победить?
Автор: urel
Дата сообщения: 12.12.2006 10:55
Lobasterman
а если создать свой MSI который установить прогу и создаст настройки?
установленный софт требует перезагрузки?

alfira
смотри вин рар(у меня 3.61, или исспользуй любой другой доступный архиватор), при апдейте архива временный файл послушно создается в темпе.
PS: есил ты хочеш иметь по одной версии mydocs в день то тебе стоит ограничиться датой в arcName


Автор: fedmun
Дата сообщения: 12.12.2006 12:07
alfira
Ключ -w - каталог для временных файлов
Автор: Lobasterman
Дата сообщения: 12.12.2006 13:20

Цитата:
а если создать свой MSI который установить прогу и создаст настройки?
установленный софт требует перезагрузки?


Гхм... Из пушки по воробьям? Можно, как вариант...
Дело в том, что MSI уже собственный, Wise слепленный.Пробовал перепаковать в InstallShield - получил болт. Но если заделать еще один, дополнительный MSI, закидывающий настроечные файлы - это прокатит... Но все-таки хотелось бы скриптиком вертеж заделать...
ЗЫ: софт перезагрузки не требует...
Автор: urel
Дата сообщения: 12.12.2006 13:41
fedmun
спасибо, прикольно - в документации такого не нашел =)

Lobasterman
в случае если тебе конфиг нужен только вместе с софтом то глянь что это и это
а так ищи в первой части про запуск скриптов от имени другого пользователя
Автор: Lobasterman
Дата сообщения: 12.12.2006 14:39
To urel
Спасибки за ссылки, почитал...
А запуск скрипта от имени другого пользователя - это все полумера. Хотелось увидеть пилотаж с вкл/выкл прав на папки в реальном времени... Ну, видать не судьба.
Автор: alfira
Дата сообщения: 12.12.2006 15:18
urel
fedmun
Спасибо всем! "Ключ -w - каталог для временных файлов" РУЛИТ! проблема решена! Интересно почему его в справку-WINRAR по командной строке не написали!?
Автор: fedmun
Дата сообщения: 12.12.2006 16:44
urel
alfira
Упс... - а вы думаете, откуда я его взял?
C:\Program Files\WinRAR\Rar.txt

Цитата:
-w<кат> Использовать каталог <кат> для создания временных файлов.
Автор: urel
Дата сообщения: 12.12.2006 19:48
Lobasterman
а как ты себе это представляешь?? тк у пользователя нет подходящих прав на папку, нужно кого-то просить это за него делать...
как вариант изначально давать права на папку - например через политики, а потом из скрипта их у самого себя забирать

fedmun
да... интерестно получается - всегда смотрел WinRAR.hlp
Автор: fedmun
Дата сообщения: 12.12.2006 22:34
urel

Цитата:
всегда смотрел WinRAR.hlp

А у меня ДОС-овские замашки, сначала текстовики читаю
Автор: Devil66
Дата сообщения: 13.12.2006 08:56
Такая проблема.
Есть logon-скрипт для запуска приложения (Everest) по понедельникам. Но на некоторых машинах (win2000) появляется ошибка:

Код: Сценарий:
Строка: 7
Символ: 3
Ошибка: 0x
Код: 80041010
Источник: (null)
Автор: urel
Дата сообщения: 13.12.2006 11:13
Devil66
упрости - день недели Weekday(Date,2)

нужно глянуть чет не то возвращает(всмысле проверяй на null - о чем ошибка и гласит), но imho он тут лишний =)
Автор: zorro1967
Дата сообщения: 13.12.2006 15:41
День добрый!
Прошу помощи.
Скриптом получаю список событий на сервере:
Set colEvents = objWMIService.ExecQuery ("Select * from Win32_NTLogEvent Where Logfile = 'System' and SourceName = 'Print' and EventCode = '10' and TimeWritten > '" & dtmStartDate &"' ORDER BY TimeWritten")
проблема в том, что при использовании ORDER BY коллекция возвращается пустой, быть может данный метод не поддерживает полноценный SQL?
Автор: Bugriy
Дата сообщения: 14.12.2006 17:24
Как запустить программу и продолжить выполнение скрипта только после того как пользователь эту программу закроет?
Автор: urel
Дата сообщения: 14.12.2006 17:57
Bugriy

Код: Dim oShell
Set oShell = WScript.CreateObject ("WSCript.shell")
oShell.run "cmd /K CD C:\ & Dir",1,true
Set oShell = Nothing
Автор: north_crow
Дата сообщения: 15.12.2006 12:09
есть всем известный скрипт для отсылки мыла

Код:
Set objEmail = CreateObject("CDO.Message")

objEmail.From = "admin1@fabrikam.com"
objEmail.To = "admin1@fabrikam.com"
objEmail.Subject = "Месага от админа"
objEmail.Textbody = "Текст по русски"
objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "fabrikam"
objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
objEmail.Configuration.Fields.Update
objEmail.Send
Автор: Bugriy
Дата сообщения: 15.12.2006 13:09
urel
Там в примере просто запускается командная строка с параметром cd и так далее. А мне нужно чтобы скрипт дожидался завершения работы программы и только после этого продолжался. Вероятно надо как-то выяснять, запущен ли всё ещё процесс или нет.
Автор: urel
Дата сообщения: 15.12.2006 14:07
Bugriy
ну вобще то это пример был, и ссылка была что за метод run и с чем его едят, смотрел?

Добавлено:
north_crow
objEmail.Bodypart.CharSet = "windows-1251"
Автор: Bugriy
Дата сообщения: 15.12.2006 14:46
urel
Что такое метод ран я и сам знаю. Мне нужно совсем другое.
Автор: urel
Дата сообщения: 15.12.2006 15:02
Bugriy
вот и чудно - тогда вопрос: для чего используется 3й параметр в методе run?

Добавлено:
ЗЫ любителям сложностей посвещается:
Код: On Error Resume Next
Set objClass = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\CIMV2:Win32_Process")
Set objService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\CIMV2")
Set objStartup = objService.Get("Win32_ProcessStartup")
Set objConfig = objStartup.SpawnInstance_
objConfig.ShowWindow = 1
Res = objClass.Create("cmd /K CD C:\ & Dir", Null, objConfig, PID)
If Res <> 0 Then
    WScript.Echo "Код ошибки: " & Res
End If

Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
WScript.Sleep 1000
Do
    Set colProcesses = objWMIService.ExecQuery("Select * from Win32_Process Where ProcessId = " & PID)
    WScript.Sleep 1000    
Loop until cdbl(colProcesses.count)=0
Автор: Bugriy
Дата сообщения: 18.12.2006 10:53
urel
Да, ты прав, третий параметр я проглядел. Посыпаю голову пеплом.
Автор: EmeJIbka
Дата сообщения: 19.12.2006 11:04
Подскажите, плиз, чем можно поменять права на ветку в реестре.
Автор: urel
Дата сообщения: 19.12.2006 11:26
EmeJIbka
есть такое хттп://support.microsoft.com/?kbid=245031
и такое хттп://setacl.sourceforge.net/html/examples.html
Автор: EmeJIbka
Дата сообщения: 19.12.2006 12:28
urel
Посибки, то что надо.
Автор: xpr123
Дата сообщения: 20.12.2006 14:40
Слетела адресная книга у пользователей - в ней перестали отображаться элементы папки контакты. Лечится удалением её и заново подключением. Только как бы это автоматизировать?

Клиенты: WinXpSp2, Outlook 2000/2003
Сервер: Win2k3 SP1, Exchange 2003, Desktop Authority 6.52


Добавлено:
В догонку, нет ли готового скрипта поиска хистори ICQ 2003/5.1, QIP на локальных дисках и перенаправления на сетевую папку?
Автор: Lobasterman
Дата сообщения: 20.12.2006 16:44
Доброго местного времени, коллективный разум...
Есть такая статья: http://www.networkdoc.ru/files/insop/whs/read.html?usernamescript.html
В ней описано, как положитьв поле "Описание" на компюьтере пользователя его AD имя. Все номано, скрипт жужжит как ему и надо. Вот только один проблема: у удаленных пользователей нет прав на эту ветку реестра ... Пробую дать на него разрешение через политику - скрипт проходит, но ничего в реестре не меняется...
Где цапу покрутить?

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576

Предыдущая тема: BackUp Win2003Serer


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.