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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
FreemanRU



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Jovanotti
Они бы с радостью, да прав у них нет....
Sk1f
А не проще  

Код:
 
shutdown -?
 



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

Всего записей: 3795 | Зарегистр. 16-07-2004 | Отправлено: 17:25 24-07-2006
Sk1f



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
FreemanRU, ему же скрипт был нужен.  

Всего записей: 198 | Зарегистр. 04-04-2006 | Отправлено: 11:50 25-07-2006
FreemanRU



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Sk1f
А запихать одну строчку в VBS это оооочень сложно

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

Всего записей: 3795 | Зарегистр. 16-07-2004 | Отправлено: 13:00 25-07-2006
Sk1f



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

Цитата:
 
 Dim WshShell
   
  Set WshShell = Wscript.CreateObject("Wscript.Shell")  
 On Error Resume Next  
 
       Func = "shutdown " & "-argument"  
      Call WshShell.Run(Func)
 

 
"-argument" - смотреть, спомощью cmd -> shutdown /?  

Всего записей: 198 | Зарегистр. 04-04-2006 | Отправлено: 16:25 25-07-2006
Sk1f



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
FreemanRU, если не затруднит. А то уже 3-й день не могу понять как работать с SQL через скрипт.
Есть слово A.
Нужно сделать скрипт, который это слово сравнит с записями из таблицы в SQL сервере и при  положительном рез-те выдаст Echo - запись существует.  

Всего записей: 198 | Зарегистр. 04-04-2006 | Отправлено: 10:32 26-07-2006
FreemanRU



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Sk1f
НЕ очень понятно, что значит
Цитата:
сравнит  с записями из таблицы в SQL сервере

По какому критерию?
Как пример:

Код:
 
Const adOpenStatic = 3
Const adLockOptimistic = 3
Const adUseClient = 3
Set objConnection = CreateObject("ADODB.Connection")
Set objRecordset = CreateObject("ADODB.Recordset")
objConnection.Open "Provider='sqloledb';Data Source=""myserver.domain.local"";Integrated Security='SSPI';Initial Catalog='my_database';"
objRecordset.CursorLocation = adUseClient
objRecordset.Open "SELECT * FROM my_table WHERE my_column LIKE '%wordA'" , objConnection, adOpenStatic, adLockOptimistic
objRecordset.MoveFirst
While (Not objRecordset.EOF)
    WScript.Echo objRecordset("columnName")
    WScript.Echo objRecordset(1) 'номер столбца, начинается с 0
 
    objRecordset.MoveNext
WEnd
objRecordset.Close
objConnection.Close
 

Выберет из базы данных my_database на севрере myserver.domain.local все записи из таблицы my_table, где данные в столбце my_column заканчиваются на wordA

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

Всего записей: 3795 | Зарегистр. 16-07-2004 | Отправлено: 11:35 26-07-2006
Sk1f



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
FreemanRU, спасибо большое. А не знаешь где можно прочитать по ADO?  
Чтобы было внятно написано. И желательно в виде темы именно работы с ADO. А то в в MSDN информации много, но один факт расстраивает - что сделано в виде отдельных статей. а не книги.  

Всего записей: 198 | Зарегистр. 04-04-2006 | Отправлено: 12:36 26-07-2006
FreemanRU



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Sk1f
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/ado270/htm/dasdkadooverview.asp
И далее по ссылкам или дереву.

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

Всего записей: 3795 | Зарегистр. 16-07-2004 | Отправлено: 12:44 26-07-2006
Sk1f



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Для тех кто первый раз будет писать скрипты под SQL советую почитать кроме ссылки Freemana, вот эту ссылку -
http://www.codenet.ru/db/other/sql/

Всего записей: 198 | Зарегистр. 04-04-2006 | Отправлено: 16:59 26-07-2006 | Исправлено: Sk1f, 08:45 27-07-2006
urel

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
я бы еще предложил sql.ru покопать, особенно форумы =)

Всего записей: 292 | Зарегистр. 16-09-2004 | Отправлено: 12:13 28-07-2006
unreal666



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Киньте, плиз, кто-нибудь прямую ссылку на Microsoft Script Debugger или слейте куда-нибудь.  
А то на сайте микрософта уже задолбали со своим валидатором, а как его обходить  не знаю.

Всего записей: 6637 | Зарегистр. 14-02-2005 | Отправлено: 20:38 30-07-2006 | Исправлено: unreal666, 20:39 30-07-2006
Sk1f



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
На SQL есть процедура, как к ней обратиться через скрипт?  
Срочно на работе нужно сделать..

Всего записей: 198 | Зарегистр. 04-04-2006 | Отправлено: 12:42 31-07-2006
FreemanRU



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

Код:
 
EXEC owner.proc_name @param1=12, @param2='string'
 

или тоже самое, не указывая имен параметров (в этом случае будет взят порядок, в котором они записаны в процедуре).

Код:
 
EXEC owner.proc_name 12, 'string'
 


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

Всего записей: 3795 | Зарегистр. 16-07-2004 | Отправлено: 12:51 31-07-2006
Sk1f



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
FreemanRU. можешь по пунктам объяснить запрос? (для непонимающих)

Всего записей: 198 | Зарегистр. 04-04-2006 | Отправлено: 13:35 31-07-2006
FreemanRU



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Sk1f
Выполни на работающем серере (жтрным выделено, что менять)

Код:
 
Const adOpenStatic = 3  
Const adLockOptimistic = 3  
Const adUseClient = 3  
Set objConnection = CreateObject("ADODB.Connection")  
Set objRecordset = CreateObject("ADODB.Recordset")  
objConnection.Open "Provider='sqloledb';Data Source=""myserver.domain.local"";Integrated Security='SSPI';Initial Catalog='master';"  
objRecordset.CursorLocation = adUseClient  
objRecordset.Open "EXEC dbo.sp_who" , objConnection, adOpenStatic, adLockOptimistic  
objRecordset.MoveFirst  
While (Not objRecordset.EOF)  
    WScript.Echo "SPID = " & objRecordset("spid")  
    WScript.Echo "login = " & objRecordset("loginname")  
    WScript.Echo "db = " & objRecordset("dbname")  
    objRecordset.MoveNext  
WEnd  
objRecordset.Close  
objConnection.Close  
 

 
Собсвтенно инструкция EXEC занимается выполнением процедур. Почитай MSSQL Book Online (устанавливает при установки MSSQL 2000)

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

Всего записей: 3795 | Зарегистр. 16-07-2004 | Отправлено: 13:44 31-07-2006
Sk1f



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
@param - это параметры, к-е следует будут использоваться в запросах?

Всего записей: 198 | Зарегистр. 04-04-2006 | Отправлено: 13:44 31-07-2006
FreemanRU



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

Цитата:
@param - это параметры, к-е следует будут использоваться в запросах?

Да, имена параметров надо смотреть в процедуре...

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

Всего записей: 3795 | Зарегистр. 16-07-2004 | Отправлено: 14:14 31-07-2006
Sk1f



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
FreemanRU, спасибо счас попробую.
В целом задача такая есть база данных с ключами реестра.  
1. включается машина, запускается скрипт, считывается информация по определенному адресу.  
2. Далее идет запрос на базу данных с ключами, в которой происходит поиск "считанного значения записи реестра" с записями в базе данных.  
3. Если запись не найдена, то берется первая свободная (неиспользуемая другой машиной запись).
4. По адресу, прописывается ключ
5. Ставится указатель на ключ (на то что ключ занят).
6. Записывается в Log SQL servera - запись сделана на машине(name), ip, использована следующая запись базы данных.
7. Ситуация, когда запись существует, записывается в log, точно так же как в п. 6

Всего записей: 198 | Зарегистр. 04-04-2006 | Отправлено: 16:05 31-07-2006
ali1977



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
товарищи кто нить может помочь с проблемой подключения клиентов
на сервере стоит файрберд 1.5 управляеся через интербейз подключена база данных - при подключении клиентов часть рабочих мест открывается но почему то там не видно объектов и еще клиенты могут подключится к серверу только тогда когда на сервере вручную запускается интербейз и в нем подключается база - пока так не сделать клиенты вааще не подключается - выдает ошибку с сообщение о неверном пароле и т.д

Всего записей: 606 | Зарегистр. 15-07-2006 | Отправлено: 22:10 02-08-2006
Sk1f



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Принципиальные отличия в SQL-DMO от SQL-SMO при работе с объектами sql через wmi есть какие-нибудь?  
 
Добавлено:

Цитата:
 
objRecordSet.Open "SELECT * FROM Table_1 (Test)", objConnection, adOpenStatic, adLockOptimistic
 
Table_1 - таблица 1
Test - колонка.  
 
 
Скрипт ругается на (Test) как сделать обращение именно к нужной колонке в запросе?  
 
 

Всего записей: 198 | Зарегистр. 04-04-2006 | Отправлено: 12:05 04-08-2006 | Исправлено: Sk1f, 13:06 04-08-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