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

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

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

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22

Открыть новую тему     Написать ответ в эту тему

ShriEkeR



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Предыдущие части: 1 | 2
 
   

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

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

 
    Внимание   !  !  !  

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

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

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

Windows Script Host (WSH) &  VBScript  &  JScript


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

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

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

 
Подробнее...
Создается по материалам данного топа

 
Надеюсь данная тема будет полезна для Вас.
Jovanotti

Всего записей: 6382 | Зарегистр. 27-09-2004 | Отправлено: 21:07 23-05-2011 | Исправлено: djremix, 14:12 25-04-2022
YNY

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

Цитата:
Хотелось бы сразу скормить список

попробуй так:

Всего записей: 476 | Зарегистр. 18-05-2006 | Отправлено: 10:15 10-06-2012 | Исправлено: YNY, 11:06 10-06-2012
dalight



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
YNY
Спасибо, что откликнулся.
А ты можешь подробнее написать, что происходит при выполнении скрипта.
Просто я написал совсем простенькое, а у тебя никак разобраться не могу. Опиши логику скрипта.

Всего записей: 12 | Зарегистр. 19-08-2011 | Отправлено: 16:06 13-06-2012
YNY

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

Цитата:
Опиши логику скрипта

)))))))))))), ну ты отжег!!! Запусти и поматри результат!
'чекаем локальные и встроенные аккаунты  - проверка профиля юзера:
  if Not ChkLAcc(rs.Fields(0).Value) then - локальные и встраиваемые отбрасываем.
 
objUser1.Put "mail", "it@domain.ru" - запись нуного значения, причем, если те нуна  
 
реальный юзер@реальный домен, то  
юзай  
objUser1.Put "mail", objUser1.Get("userPrincipalName")  
 
В общих чертах: формируется и выполняется запрос в AD, возвращающий набор записей Set rs = objCommand.Execute, потом он анализируется и, в процессе движения по набору записей, уже в конкретные места в AD, вносятся изменения!  
 
Если хочешь узнать когда скрипт все выполнит, после Loop вставь msgbox "Done!"

Всего записей: 476 | Зарегистр. 18-05-2006 | Отправлено: 18:25 14-06-2012 | Исправлено: YNY, 18:39 14-06-2012
Vadimsoul

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите плиз, скрипт или политику в active directory..
Нужно чтоб поле "описание" на локальном компьютере и поле "описание" в свойствах компьютеров в active directory синхронизировалось..
Тоесть при каждом изменение в локальном компьютере , переписывалось в active directory .

Всего записей: 20 | Зарегистр. 29-05-2012 | Отправлено: 20:04 18-06-2012
wwladimir



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Vadimsoul
использую несколько лет
Код:
 
' NAME: Login.vbs
' AUTHOR: Max
' DATE : 16.04.2007

http://wiki.sysadmins.su/index.php/%D0%A0%D0%B0%D0%B1%D0%BE%D1%82%D0%B0_%D1%81_Active_Directory(VBS)
(он и здесь, на форуме где-то был, но быстро я  не  нашел).
чуть доработав (у меня еще проверки на "серверность оси " например) и  не забыть  

Цитата:
делегировать права на запись в Description  
'1. правый клик по контейнеру-Делегирование управления...  
'2. Далее-Добавить-Пользователи домена-Далее  
'3. Создать особую задачу для делегирования-Далее  
'4. Только следующим объектам в этой папке-Компьютер объектов-Далее  
'5. Разрешения для свойств-Запись Описание-Далее  
'6. Готово ...

Функция слегка обратная Вашим потребностям, но вполне  "допиливамая"

Всего записей: 526 | Зарегистр. 08-11-2006 | Отправлено: 08:30 19-06-2012 | Исправлено: wwladimir, 08:36 19-06-2012
YNY

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

Всего записей: 476 | Зарегистр. 18-05-2006 | Отправлено: 09:01 19-06-2012 | Исправлено: YNY, 09:02 19-06-2012
Vadimsoul

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
wwladimir
а как тогда создать условие: если меняется "описание" на компе то он переписывает его в ad , и наоборот.
Тоесть везде вносились новые изменения, не зависимо где они внесены, в ad или на компе.
 
 
Добавлено:
Подробнее...

Всего записей: 20 | Зарегистр. 29-05-2012 | Отправлено: 11:43 19-06-2012
wwladimir



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
VadimsoulХоть в цикл, если нагрузка не важна (мне нравится

Код:
 @ping localhost -w 1000 -n 30 > nul
rem пауза 300=5  минут  
 
хоть в планировщик (родной ли, cron ли).
Есть еще, например, в виндах, службы (как вариант, запустите  команду  sc /? и  
обратите внимание на ключик create).
 
Добавлено:
мой, рабочий, как есть из \\NETLOGON
 
Подробнее...

Всего записей: 526 | Зарегистр. 08-11-2006 | Отправлено: 15:10 19-06-2012 | Исправлено: wwladimir, 15:23 19-06-2012
Vadimsoul

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Я имел ввиду немного другое, я буду запускать через доменную политику...
 
Мне не понятно как сделать так, чтоб например часть информации в описании будет заполнятся с компьютеров, а часть из остнастки ad, при этом иногда будет менятся "описание" тоже или локально или в ad.
Как сделать чтоб скрипт перезаписывал более новое описание, не зависимо где его заполнили.
 
К примеру я туда буду писать номер комнаты, специалист из техподдержки после переезда компьютера сам прописал туда новый номер комнаты, и он появился в ad, ну и наборот я прописал номер комнаты и он появился в описании на локальном компе.
 
Исходя из этого скрипта просто получится , что он будет переписывать то что записано в ad.

Всего записей: 20 | Зарегистр. 29-05-2012 | Отправлено: 17:12 19-06-2012
wwladimir



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Vadimsoul
1. Так-сначала сформулируйте себе четко- чего хотим. Откуда-куда и с какими "накладными расходами" (ну поставьте в планировщик gpupdate /force раз в минуту, раз  периодичности применения GPO недостаточно, хотя и там такой параметр настраивается...),
(куда ваш специалист будет номер комнаты писать- в описание компа ???, а куда номер комнаты должен попадать, а который Вы записали куда - откуда), насколько критична актуальность этой информации ? Ежесекундно или достаточно каждый логон.
 
2. Пример, который я показал и использую (спасибо автору ) делает очень простую вещь- пишет имя залогинившегося юзера (беря его из AD) в описание копа и в оснастку AD и имя компа  в поле юзера в ADUS , только для моего личного удобства.
 А дальше уж "напильником" pls.
 

Всего записей: 526 | Зарегистр. 08-11-2006 | Отправлено: 17:33 19-06-2012 | Исправлено: wwladimir, 17:36 19-06-2012
Vadimsoul

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
wwladimir
Из Вашего примера получается , что скрипт просто перезаписывает данные постоянно, тоесть если я ввиду правильные данные в active directory, то скрипт их просто перезапишет старыми данными с компьютера.
Вот как исключить эту перезапись?
 
По поводу скорости обновления, будет достаточно даже раз в неделю.
 
Процесс в моем случае должен идти следующем образом.
 
Появляется компьютер, его настраивает хелп деск, пишет в описание номер комнаты.
Компьютер перезжает, хелп деск переписывает описание , в ад он автоматом меняется.
Компьютер опять перезжает, хелп деск забыл прописать номер комнаты, приходит ко мне и просит поменять поле описание, я его меняю и оно АВТОМАТИЧЕСКИ меняется в обоих полях на новое.

Всего записей: 20 | Зарегистр. 29-05-2012 | Отправлено: 18:15 19-06-2012
wwladimir



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Vadimsoul
Ну в заголовке скрипта же написано "логон"!!!  
Запускается как груп полиси обжект -из раздела "конфиг. пользователя"..."сценарии"-"вход в систему"  .
Работает от имени того (залогинившегося) юзера, потому и права нужны...
Соответственно, срабатывает с периодичностью входа пользователя на данную машину...
 
В описании чего (делегируйте хелпдеску те пункты, что я показал на ADUC , пусть руками пишут в кастом консоли, да и кадровикам в их части) они пишут ???  
 
Откройте по правой кнопки на своей машине (если у админа XP, а нет- тогда из 7 в XP-mode) -управление компом- подключиться (выбирайте нужную машину)- после подключения по  
вершине дерева снова правой, и там свойства - и пишите не вставая со стула в описание, что хотите. Ленивый я...
 
Подкину идею.
Если у вас современное сетевое оборудование (а раз есть целый хелпдеск, то наверно так...), то физическое положение данной рабочей станции (room) можно однозначно получить из таблицы MAC-адрес=порт свича. И даже софт готовый существует для рисования сети.

Всего записей: 526 | Зарегистр. 08-11-2006 | Отправлено: 21:26 19-06-2012 | Исправлено: wwladimir, 21:27 19-06-2012
Leon1978

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
кто может поделиться скриптом для exchange 2010 для удаления логов, проверенным временем?

Всего записей: 342 | Зарегистр. 03-09-2005 | Отправлено: 16:04 21-06-2012
Sta2s

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Многоуважаемые коллеги!
Пишу сценарий на jscript с использованием WMI. Столкнулся с проблемой локализации WIN.
Часть значений возвращаются локализованными, даже если принудительно указывать об обратном.
Например:
Подробнее...
 
Вопрос: как сделать запрос к WMI, чтобы получить ответ на определённом языке?
 
При запуске с установленным английским языком в пользователе "Default User" возвращает значение Version на английском(как и положено), в ином случае(и на русской версии windows) возвращает значение Version на русском вне зависимости от указанной в запросе локали (ms_409 = en_US)
для русского ms_419 ситуация аналогична при установленном английском по умолчанию - значения - только на английском.
 
p.s.: переписал сценарий для SWbemLocator и GetObject - результат одинаковый, всё равно используется только одна локаль.

Всего записей: 4 | Зарегистр. 06-07-2009 | Отправлено: 13:10 03-09-2012 | Исправлено: Sta2s, 09:07 04-09-2012
YNY

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Sta2s
по тестируй вот этот пример, может ты не верно передаешь строку или хз)

Всего записей: 476 | Зарегистр. 18-05-2006 | Отправлено: 17:17 03-09-2012
Sta2s

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
YNY, ваш пример прекрасно работает, но в нём - только цифры, там нечему быть локализованным.
Я уточню свой сценарий:
Подробнее...
согласно:
http://msdn.microsoft.com/en-us/library/windows/desktop/aa393720%28v=vs.85%29.aspx
и
http://nukz.net/reference/wmi/hh/wmisdk/localization_8dm1.htm
должно возвращать значения на разных языках (wbemFlagUseAmendedQualifiers)
 
как выяснилось всем управляет параметр локали в "язык и региональные стандарты"
Подробнее...
однако если запустить сценарий в ХР при установленном английском в профиль Default User получается:

Код:
Version:Model 7, Stepping 6
Version:Model 7, Stepping 6
Version:Model 7, Stepping 6
Version:Model 7, Stepping 6

c русским по методу на скриншотах выше в той же ХР:

Код:
Version:Модель 7, Выпуск 6
Version:Модель 7, Выпуск 6
Version:Модель 7, Выпуск 6
Version:Модель 7, Выпуск 6

что странно - для win7 присутствует другая логика, например при запуске моего скрипта все значения Version как положено на английском, но в других запросах(например к win32_diskdrive или win32_networkadapter) попадаются локализованные значения.
 
в моём понимании(документации), это должно быть вот так вне зависимости от языка системы(при установленом/доступном MUI):

Код:
Version:Model 7, Stepping 6
Version:Модель 7, Выпуск 6
Version:Model 7, Stepping 6
Version:Модель 7, Выпуск 6

Всего записей: 4 | Зарегистр. 06-07-2009 | Отправлено: 00:54 04-09-2012 | Исправлено: Sta2s, 09:09 04-09-2012
YNY

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Sta2s
я думаю, что если скрипт запускается локально ('.'), то и значения он выдает в зависимости от того какая локаль на конкретной машине, если ты будешь подкл к удаленной машине через скрипт, то только в этом случае тебе может прийти значение в твоей локале!  
__________
рс: юзай тег "[more]"  дабы скрыть свой пример кода и чтоб было проще читать)  

Всего записей: 476 | Зарегистр. 18-05-2006 | Отправлено: 08:14 04-09-2012 | Исправлено: YNY, 08:16 04-09-2012
Sta2s

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
YNY, к сожалению тоже не подтверждается практикой
машина с английской локалью отдаёт всё и везде по английски(как в локальные запросы так и запросы с других машин отдаёт в ms_409) и аналогично для русской локали
проверил во всех конфигурациях с методом connectServer
en->ru=en
en->en=en
ru->en=ru
ru->ru=ru
вне зависимости от установленного параметра strLocale и флага wbemFlagUseAmendedQualifiers ответ приходит в локали wmi-сервера вне зависимости от локали на клиентской машине(там где выполняется скрипт)
причём дело даже не в MUI или уже скомпилированных mof файлах, я пробовал запустить скрипт на чистой ENU OEM XP - всё равно если запрос делается с машины на которой установлена русская локаль - ответ приходит по русски
 
к сожалению с GetObject проверить нет возможности

Всего записей: 4 | Зарегистр. 06-07-2009 | Отправлено: 10:42 04-09-2012 | Исправлено: Sta2s, 10:43 04-09-2012
YNY

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Sta2s
ну поиски "почему не работает" могут затянуться на долго, быстрей будет разбить строку по "," затем выделить только цифры)
Посмотри http://msdn.microsoft.com/en-us/library/windows/desktop/aa392276(v=vs.85).aspx

Всего записей: 476 | Зарегистр. 18-05-2006 | Отправлено: 12:40 04-09-2012 | Исправлено: YNY, 12:43 04-09-2012
Xconn



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Коллеги, всем доброго понедельника!
 
Сегодня, после переименования компьютера в домене с установленным сетевым принтером получил три звонка от юзеров, которые, как выяснилось, на этот принтер печатали и соответственно, после переименования, получили болт.
 
Перемапив им принтера я подумал - а можно ли как нибудь, в реальном времени посмотреть, кому из юзеров этот принтерок установлен?

Всего записей: 33 | Зарегистр. 15-12-2010 | Отправлено: 12:46 17-09-2012
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22

Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » Автоматизация администрирования. Часть 3


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru