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

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

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

ShriEkeR (23-05-2011 23:06): Автоматизация администрирования. Часть 3  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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 102 103 104 105 106 107 108 109 110 111 112 113 114

   

FreemanRU



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

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


Часть 2я

Часть 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 подобный скриптовый язык с исходниками
  9. VBS2EXE - утилита для компиляции vbs и js скриптов в exe выдранная из пакета PrimalScript

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

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

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

 

Всего записей: 3794 | Зарегистр. 16-07-2004 | Отправлено: 17:27 11-12-2006 | Исправлено: Smitis, 12:30 20-08-2008
hamet2000

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
не пойму как с помощью vbs поменять нужную мне строку, например 4ю  в txt файле?

Всего записей: 57 | Зарегистр. 21-12-2005 | Отправлено: 11:35 27-12-2007
jONES1979



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
hamet2000 ну а что понимаешь в vbs? а как построчно файл прочитать понимаешь?

Всего записей: 324 | Зарегистр. 20-05-2005 | Отправлено: 21:52 27-12-2007
veryom



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

Цитата:
не пойму как с помощью vbs поменять нужную мне строку, например 4ю  в txt файле?

Нужно именно четвертую? А если просто найти и заменить? Например, так:
Код:
Const ForReading = 1
Const ForWriting = 2
 
strFileName = Wscript.Arguments(0)
strOldText = Wscript.Arguments(1)
strNewText = Wscript.Arguments(2)
 
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile(strFileName, ForReading)
 
strText = objFile.ReadAll
objFile.Close
strNewText = Replace(strText, strOldText, strNewText)
 
Set objFile = objFSO.OpenTextFile(strFileName, ForWriting)
objFile.WriteLine strNewText
objFile.Close
Взято с Hey, Scripting Guy!

----------
Как обойти административные ограничения

Всего записей: 1242 | Зарегистр. 24-03-2006 | Отправлено: 22:47 27-12-2007
5555555



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
veryom
а если содержимое 4-ой строки = части 8-ой строки, которую не надо править?
это я так, придираюсь - шутю.. ))

Всего записей: 2593 | Зарегистр. 01-04-2004 | Отправлено: 22:56 27-12-2007
veryom



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

Цитата:
а если содержимое 4-ой строки = части 8-ой строки, которую не надо править?


Цитата:
Replace(expression, find, replacewith[, start[, count[, compare]]])
 
start  
Optional. Position within expression where substring search is to begin. If omitted, 1 is assumed. Must be used in conjunction with count.
 
count  
Optional. Number of substring substitutions to perform. If omitted, the default value is -1, which means make all possible substitutions. Must be used in conjunction with start.

В вышеприведенном скрипте заменятся все вхождения подстроки, но, можно поставить count=1, тогда в 8 строке замены не будет. В общем, можно играться параметрами. В конце-концов, можно тупо перебрать все строки файла, одну за одной, записывая новый файл.

----------
Как обойти административные ограничения

Всего записей: 1242 | Зарегистр. 24-03-2006 | Отправлено: 23:15 27-12-2007
crazy_dead

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всех с наступающим!
 
Спецы, прошу помощи. Тривиальная задачка: внести изменение в реестр на всех тачках в сети Netware. Ессно, все юзеры не имеют админских прав. Так вот именно это и мешает мне ее решить. Как изменить реестр Виндовс из-под пользователя?

Всего записей: 22 | Зарегистр. 29-09-2005 | Отправлено: 12:28 29-12-2007
5555555



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

Цитата:
реестр Виндовс из-под пользователя

смотря какую его ветвь, если пользовательскую - придумывать ничего и не надо..

Всего записей: 2593 | Зарегистр. 01-04-2004 | Отправлено: 18:10 29-12-2007
veryom



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

Цитата:
Тривиальная задачка: внести изменение в реестр на всех тачках в сети Netware. Ессно, все юзеры не имеют админских прав. Так вот именно это и мешает мне ее решить. Как изменить реестр Виндовс из-под пользователя?

    Создаем скрипт, который должен делать следующее:
  1. Проверить доступность машины, например, при помощи пинга.
  2. Если коннект есть, то подсоединиться к машине и изменить нужную ветку реестра.
  3. Повторить предыдущие пункты по числу машин в сети.
  4. В сети Windows AD я бы запускал скрипт под доменной учетной записью, имеющей права локального администратора на машинах сети.

 
Пример того, что можно делать в цикле:
Код:
Const HKEY_LOCAL_MACHINE = &H80000002
 
strComputer = "<сюда нужно подставлять имена или IP-адреса машин>"
 
Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & _  
    strComputer & "\root\default:StdRegProv")
 
strKeyPath = "SOFTWARE\System Admin Scripting Guide"
strValueName = "String Value Name"
strValue = "string value"
oReg.SetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,strValue
 
strValueName = "DWORD Value Name"
dwValue = 82
oReg.SetDWORDValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,dwValue

Взято с Script Center (очень хороший ресурс, не пренебрегай им ).

----------
Как обойти административные ограничения

Всего записей: 1242 | Зарегистр. 24-03-2006 | Отправлено: 12:32 01-01-2008
crazy_dead

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
5555555
 
HKLM/Software

Всего записей: 22 | Зарегистр. 29-09-2005 | Отправлено: 11:18 09-01-2008
mistx

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

Цитата:
сюда нужно подставлять имена или IP-адреса машин

1.указывать машины через запятую ?
2. Если нужно изменить несколько значений в одном ключе, например сделать автологон на всех машинах в домене, то просто можно добавить несколько  strValue?

Цитата:
dwValue = 82

3. Что означает 82?
 

Всего записей: 765 | Зарегистр. 13-01-2005 | Отправлено: 16:32 10-01-2008
YNY

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

Цитата:
mistx
тебе
Цитата:
veryom
дал "рыбу", а ты вопросы... сыпешь.
 
strComputer для каждого Set oReg=GetObject() свой, если надо по списку компов, то формируй массив и цикл.

Всего записей: 476 | Зарегистр. 18-05-2006 | Отправлено: 06:56 11-01-2008
veryom



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

Цитата:
указывать машины через запятую ?


Цитата:
  1. Проверить доступность машины, например, при помощи пинга.
  2. Если коннект есть, то подсоединиться к машине и изменить нужную ветку реестра.
  3. Повторить предыдущие пункты по числу машин в сети.
Нужно использовать цикл по IP-адресам машин сети, например с 192.168.45.1 до 192.168.45.254. Т.е. как сказал YNY:
Цитата:
strComputer для каждого Set oReg=GetObject() свой, если надо по списку компов, то формируй массив и цикл.

 

Цитата:
Если нужно изменить несколько значений в одном ключе, например сделать автологон на всех машинах в домене, то просто можно добавить несколько  strValue?

Нет. Этим ты перезапишешь значение ключа. Нужно указать значения через какой-нибудь разделитель.
 

Цитата:
Что означает 82?

Это просто пример установки в ключе реестра HKLM\SOFTWARE\System Admin Scripting Guide\DWORD Value Name значения 82. Можешь подставить что-нибудь свое.

----------
Как обойти административные ограничения

Всего записей: 1242 | Зарегистр. 24-03-2006 | Отправлено: 08:18 11-01-2008
mistx

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
veryom
Спасибо! буду переваривать
 
YNY

Цитата:
strComputer для каждого Set oReg=GetObject() свой

 
если не трудно для тех, кто в танке
что значит свой Set oReg=GetObject()?
Какие именно параметры я сюда должен вставить?
GetObject("LDAP://dc=nwtraders,dc=msft")
на живой пример бы посмотреть

Всего записей: 765 | Зарегистр. 13-01-2005 | Отправлено: 16:44 11-01-2008 | Исправлено: mistx, 16:49 11-01-2008
WSQ

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

Всего записей: 47 | Зарегистр. 14-06-2006 | Отправлено: 17:22 12-01-2008 | Исправлено: WSQ, 18:46 14-01-2008
veryom



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

Цитата:
меняю имя группы на название группы с пробелом "Опытные пользователи" - скрипт не работает. Как же записать имя группы с пробелом?

Попробуй имя группы в одинарных кавычках.

----------
Как обойти административные ограничения

Всего записей: 1242 | Зарегистр. 24-03-2006 | Отправлено: 22:05 12-01-2008
YNY

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

Цитата:
mistx

 
куда уж "живее" чем то что было указанно???
 
[b]Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & _  
    strComputer & "\root\default:StdRegProv")[b]
 

Цитата:
что значит свой Set oReg=GetObject()?
--- это значит, что мне было влом (для тех кто умеет читать) переписывать соотоветствующую строку от
Цитата:
veryom
!
 
лучше чем массив IP это вызов твоего скрипта меняющего ключики из другова скрипта, который бежит по LDAP, т.к. не прийдется лишней работы делать, да и DHCP тоды никак не повлияет, в общем будет более программерски)!
 
(...бежит по LDAP... -- есть на страницах см. внимательно, не ленисьЯ)  

Всего записей: 476 | Зарегистр. 18-05-2006 | Отправлено: 09:06 14-01-2008
Vladimir54

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Ребят, подскажите как написать скрипт, чтобы при его запуске например выдавалось сообщение "В данный момент работает программа Антиюзер!!!" При этом скрипт должен запускаться у пользователя, имеющего права "Пользователь"

Всего записей: 868 | Зарегистр. 06-11-2005 | Отправлено: 23:17 14-01-2008 | Исправлено: Vladimir54, 23:19 14-01-2008
veryom



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Vladimir54
 
WScript.Echo "В данный момент работает программа Антиюзер!!!"

----------
Как обойти административные ограничения

Всего записей: 1242 | Зарегистр. 24-03-2006 | Отправлено: 23:30 14-01-2008
Vladimir54

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
veryom
 Здравствуйте, спасибо, вы мне уже какой раз помогаете, кстати помоему програмку с кабелем вы написали на скрипте
 
Добавлено:
veryom
 А скрипт разве будет запускать с компа пользователя, который добавлен в группу "Пользователи"

Всего записей: 868 | Зарегистр. 06-11-2005 | Отправлено: 23:34 14-01-2008
veryom



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Vladimir54
 
Лучше так:
Код:
MsgBox "В данный момент работает программа Антиюзер!!!", 16, "Предупреждение"

 

Цитата:
А скрипт разве будет запускать с компа пользователя, который добавлен в группу "Пользователи"

Если этот скрипт показывает только окошко с предупреждением, то да.

----------
Как обойти административные ограничения

Всего записей: 1242 | Зарегистр. 24-03-2006 | Отправлено: 00:17 15-01-2008
   

Страницы: 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 102 103 104 105 106 107 108 109 110 111 112 113 114

Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » Автоматизация администрирования. Часть 2
ShriEkeR (23-05-2011 23:06): Автоматизация администрирования. Часть 3


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru