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

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



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

Цитата:
Нужно проверить станции в сетке, какая стоит ОС, и в зависимости от этого запустить на них sp4w2k.exe, если w2k или sp1xp.exe, если xp.

А не проще ли использовать WSUS?

Всего записей: 9 | Зарегистр. 08-09-2004 | Отправлено: 09:03 10-08-2005
FormatM

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
AlexSSS
В Explorer есть такая фича как скрыть расшаренный диск, в ScriptLogic нужно отметить галочку Hiden, отсюда и вопрос как это сделать средствами VBS?

Всего записей: 38 | Зарегистр. 15-02-2005 | Отправлено: 12:07 10-08-2005
AlexSSS

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
спасибо, понял. Сам раньше никогда не пользовался. Сейчас проверил - TweakUI именно скрывает диск в эксплорере, при этом переход на, напр, T: работает (хотя диск скрыт)
Поищу, это должно делаться достаточно просто

Всего записей: 747 | Зарегистр. 26-06-2004 | Отправлено: 13:48 10-08-2005
Ge0rge

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Люди!!!
 Использую exec.vbs из Resource Kit'a, но на удаленных машинах все программы запускаются в виде неинтерактивных процессов, которые не делают то что нужно! В чем может быть проблема?

Всего записей: 19 | Зарегистр. 10-08-2005 | Отправлено: 15:18 10-08-2005
urel

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

Цитата:
В Explorer есть такая фича как скрыть расшаренный диск, в ScriptLogic нужно отметить галочку Hiden, отсюда и вопрос как это сделать средствами VBS?

 
в реестре  
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NODRIVES
 
Последние 26 бит определяют буквы дисков от A до Z. Диск виден при установленном 0 и скрыт если установлена 1.
 
Диск A представлен последней правой цифрой при двоичном представлении.
 
например 00000000000000000000010101(0x7h)
 
Здесь скрыты диски A, C, и E
 
Диски скрытые таким образом (с помощью NODRIVES) не доступны из Explorer, окна My Computer и диалоговых окон File Open\Save 32bit Windows приложенй. На File Manager и командную строку эти установки не влияют.
 
Но диски остаются видны из тоталкомандера и ему подобных.

Всего записей: 292 | Зарегистр. 16-09-2004 | Отправлено: 14:45 12-08-2005
AlexSSS

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ge0rge
попробуй PsExec из PsTools
www.sysinternals.com
запускает процесс на удаленной машине, один из ее ключей как раз отвечает за то, чтобы интерфейс выводился на экран удаленной машины

Всего записей: 747 | Зарегистр. 26-06-2004 | Отправлено: 15:43 12-08-2005
FreemanRU



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Скрипт, позволяющий посмотреть ключ (CD-KEY) от XP или 2003
 
После небольшой переделки позволяет также смотреть ключи Office XP и 2003.
Ключ в реестре:
HKLM\SOFTWARE\MICROSOFT\Office\XX.0\Registration\'GUID'\DigitalProductId
где:
 XX - 10 для Office XP или 11 для Office 2003
 'GUID' - индетификатор продукта. Чтобы узнать все ключи, надо делть enumerate
 
Узнать имя продукта можно из HKLM\SOFTWARE\MICROSOFT\Office\XX.0\Registration\'GUID'\ProductName
 
Принимаются предложения.
 
PS В VBScript похоже реализовать это нельзя, т.к. в нем нет функции "битовое OR"
Если кто знает, как можно реализовать "битовое OR" в VBScript - напишите. Буду очень признателен.


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

Всего записей: 3795 | Зарегистр. 16-07-2004 | Отправлено: 16:40 22-08-2005 | Исправлено: FreemanRU, 17:01 22-08-2005
AlexSSS

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
FreemanRU, спасибо за скрипт, пока использовали внешние утилиты для доставания SN, но засунуть все в логон скрипты - это будет здорово

Всего записей: 747 | Зарегистр. 26-06-2004 | Отправлено: 09:23 23-08-2005
FreemanRU



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Вот и я наступил на грабли различий между VBScript (далее VBS) и Jscript (далее JS). Первый, как понятно, имеет в своей основе Visual Basic, а соотвественно крайне скудный запас типов данных. В основном используется Variant, т.е. общий тип данных. Jscript основан на Java, который в свою очередь основан на C. Это дает более гибкий инструмент для манипуляции различными типами данных, но при этом теряется удобство общих типов данных.  
Первое на что надо обратить внимание - JS чувствителен к регистру и каждая строка должна завершаться ";" (точкой с запятой)
Очень сильно отличаются массивы. В VBS маccив - это любой набор данных, тогда как в JS есть два типа массива - Array и VBArray. Первый - это массив любых данных, создается стандартными средствами:

Код:
 
var Arr1 = new Array                   //  
var Arr2 = new Array('1','2','3');    // это массив типа char
var Arr3 = new Array("1","2","3"); // это массив типа string
var Arr2 = new Array(2,2);        // это двухмерный массив 2х2
 

VBArray служит для совместимости с массивами из VBS и создается только так:

Код:
 
var Arr2 = new VBArray(VBarr1);
 

где VBarr1 - это уже заполненный массив VBarray.  
Пример использования
Что еще можно отметиь про работу с массивами - так это определение длины.
 
Также, как было отмечено выше, в VBS напрочь отсутвуют функции работы с бинарными операторами (битовое OR, AND и пр.)
 
Но проблема в том, что Microsoft выбрала основой для себя именно VBS (что вобщем-то не удивительно). Н-р все функции работы с реестром, возращаюищие массив значений работают только с VBS. Многие запросы WMI также работают только с VBS.
Вопрос - что делать. Ответ очень простой. С версии WSH (Windows Script Host) 2 поддерживаются мультизадачьнуе (multy job) файлы. Такие файлы имеют расширение .wsf и следующий общий синтаксис
 
Исходя из всего вышеизложенного удобнее писать основной текст на VBS, и использовать функции, написанные на JS.
Вот пример, показывающий все вышеизложенные способы. Данный скрипт стоит у меня как login для пользователей и записывает информацию в БД MSSQL. Коментарии отсутвуют, но думаю и так все понятно. Если не понятно - спрашивайте в топике.
Пример скрипта
 


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

Всего записей: 3795 | Зарегистр. 16-07-2004 | Отправлено: 13:59 23-08-2005 | Исправлено: FreemanRU, 14:02 23-08-2005
AlexSSS

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
а ты не пробовал в качестве битовых операций использовать обычный AND или OR?
не помню, где именно, на VBS или VBA, но это работало
 
коственно на это указывает и
http://mavweb.net/javascript_and_vbscript_operators.asp
правда сдвига вроде нет все равно

Всего записей: 747 | Зарегистр. 26-06-2004 | Отправлено: 16:15 23-08-2005 | Исправлено: AlexSSS, 16:29 23-08-2005
FreemanRU



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

Цитата:
не легче ли из VBS вызвать js c параметром и получить ответ  

я так и сделал. см. выше.
 

Цитата:
а ты не пробовал в качестве битовых операций использовать обычный AND или OR?

пробовал. не то. возращает 1 или 0. Что логично

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

Всего записей: 3795 | Зарегистр. 16-07-2004 | Отправлено: 16:32 23-08-2005
AlexSSS

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
set WshShell = WScript.CreateObject("WScript.Shell")
a="101"
b="011"
str = a or b
WScript.Echo(str)
 
возвращает точно не 0 или 1 ;o)

Всего записей: 747 | Зарегистр. 26-06-2004 | Отправлено: 17:06 23-08-2005
FreemanRU



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

Цитата:
a="101"  
b="011"  

Это ж строковй тип.. а у мне числа нужны... причем даже не целые..  


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

Всего записей: 3795 | Зарегистр. 16-07-2004 | Отправлено: 17:07 23-08-2005
AlexSSS

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ты будешь смеяться, но если убрать кавычки (присвоить переменным цифровые значения), результат не изменится ;o)

Всего записей: 747 | Зарегистр. 26-06-2004 | Отправлено: 17:16 23-08-2005
FreemanRU



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
AlexSSS
дествительно. Но факт остается фактом - не работало в VBS вот эта часть:

Код:
 
for (var n = sLen - 1; n>=0; n--)  
{  
var Value = (HN << 8) | Src[n];  
Src[n] = Value / 24;  
HN = Value % 24;  
}  
 

А сдвиг реализуется просто.
влево:
val = val * (2^bit)
вправо
val = val / (2^bit)


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

Всего записей: 3795 | Зарегистр. 16-07-2004 | Отправлено: 17:25 23-08-2005
AlexSSS

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
вспомнил, где использовал побитовый AND
скрипт на VBS достает данные по пользователям из ADSI. Заблокирован пользователь или нет, иожно узнать по второму биту в userAccountControl. Соответственно код выглядит примерно так
IF сobjUser.userAccountControl And 2...

Всего записей: 747 | Зарегистр. 26-06-2004 | Отправлено: 09:11 24-08-2005
GTHack



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Господ и дамы, помогите плс скрипт написать который мне выдаст список всем компов в домене следующего содержания
IP компа - Сетевое имя

Всего записей: 554 | Зарегистр. 03-03-2003 | Отправлено: 11:33 24-08-2005
FreemanRU



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
GTHack
 
Список компов с IP, VBS
Тока запускать лучше из командной строки.
cscript name_of_file.vbs

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

Всего записей: 3795 | Зарегистр. 16-07-2004 | Отправлено: 11:42 24-08-2005
AlexSSS

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
GTHack
FreemanRU привел работающий скрипт. Единственное, что я рекомендую делать для для подобных скриптов (получение какого-то списка) своего же удобства - засовывать подобные скрипты в эксель (visual basic editor) и запускать оттуда, выводя данные на экселевский лист - тогда у тебя получается нормальный список
 
Экселевский VBA практически полностью совместим с VBS, поэтому никаких изменений в коде делать не надо. За исключением вывода ;o)

Всего записей: 747 | Зарегистр. 26-06-2004 | Отправлено: 12:57 24-08-2005
FreemanRU



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

Цитата:
своего же удобства

Или делать вывод в файл .csv. РАзделители обычно в таком случае - ";"

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

Всего записей: 3795 | Зарегистр. 16-07-2004 | Отправлено: 13:13 24-08-2005
   

Страницы: 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