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

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

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
PIL123
Блин, путь недоглядел. Лови исправленный вариант:

Код:
for /F %%i in ('reg query HKCU\Software\Mirabilis\ICQCorp\Owners') do reg add %%i\Prefs\Servers\Server1 /v Host /t REG_SZ /d "Здесь твой новый адрес" /f


----------
Ребята, давайте жить дружно. Кот Леопольд

Всего записей: 1116 | Зарегистр. 22-07-2004 | Отправлено: 17:20 30-05-2005 | Исправлено: Alan Mon, 17:22 30-05-2005
PIL123



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Alan Mon
 
Урра, заработалааа. Немного лишней информации в реестре пишет, ну да ничего - главное значение меняет там где надо.
 
Я тут пока ковырялся в реестре понял, что, если полностью замочить веточку:
[HKEY_CURRENT_USER\Software\Mirabilis\ICQCorp\Owners\1075\Prefs\Servers]
со всеми подпапками и пр., а значение Default Server Host в  
[HKEY_CURRENT_USER\Software\Mirabilis\ICQCorp\DefaultPrefs]
изменить на новое необходимое, то тогда всё становится ОК и приследующей загрузке программка берёт адрес сервера именно из дефалтовых установок. По моему это более изящное решение проблемы. Не помогут ли мне Уважаемые скриптологи, е если я конечно не слишком много прошу

Всего записей: 818 | Зарегистр. 25-06-2003 | Отправлено: 17:49 30-05-2005
Alan Mon

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
PIL123
Ну тогда вместо add пишем delete:

Код:
for /F %%i in ('reg query HKCU\Software\Mirabilis\ICQCorp\Owners') do reg delete %%i\Prefs\Servers
reg add HKCU\Software\Mirabilis\ICQCorp\DefaultPrefs /v "Default Server Host" /t REG_SZ /d "новый адрес" /f

Только перед тем, как экспериментировать сохрани ветку реестра, а то вдруг поудаляет чего лишнего.

----------
Ребята, давайте жить дружно. Кот Леопольд

Всего записей: 1116 | Зарегистр. 22-07-2004 | Отправлено: 18:04 30-05-2005
FreemanRU



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

Код:
 
const HKEY_LOCAL_MACHINE = &H80000002  
const HKEY_CURRENT_USER = &H80000001  
strComputer = "."  
 
Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" &strComputer & "\root\default:StdRegProv")  
 
strKeyPath = "Software\Mirabilis\ICQCorp\Owners'"  
oReg.EnumKey HKEY_CURRENT_USER, strKeyPath, arrSubKeys  
 
oReg.SetStringValue HKEY_CURRENT_USER, strKeyPath &"\"& arrSubKeys&"\Prefs\Servers\Server1","Host","192.168.X.110"  
 
oReg.SetDWORDValue HKEY_CURRENT_USER, strKeyPath &"\"& arrSubKeys&"\Prefs\Servers\Server1","Port","4000"  
 
 

Всего записей: 3795 | Зарегистр. 16-07-2004 | Отправлено: 18:11 30-05-2005
pe3yc



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Никто случайно не встречал как отключить возможность коннектиться ts юзеров в консоль под win2k3?
пол гугла перелопатил - не видать

Всего записей: 2434 | Зарегистр. 25-07-2001 | Отправлено: 23:31 30-05-2005
PIL123



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
FreemanRU
Alan Mon
 
Мужики, спасибо большое за Вашу помощь - всё заработало как надо - двигаюсь дальше.

Всего записей: 818 | Зарегистр. 25-06-2003 | Отправлено: 16:10 31-05-2005
Anik777

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

Всего записей: 11 | Зарегистр. 12-07-2004 | Отправлено: 13:18 01-06-2005
ghost3k



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

Цитата:
Hi all! Такая проблемка - сетка (30 pc), на машинах шары //wks1...30/dir$/programs/ - установлен стандартный набор софта - например: proga1, proga2, progaX (директории) - так вот как бы с помощью WSH тереть все что не progaX? Так сказать зачистка после рабочего дня жизнидеятельности юзеров;) Как замутить - написать - я пока в WSH не очень...

 
Ну блин неужели никто не знает как это сделать? Хоть примерчик один подкиньтееее ЛЮЮДИИИ!

Всего записей: 264 | Зарегистр. 07-04-2005 | Отправлено: 00:09 03-06-2005
kinnegan

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

Всего записей: 141 | Зарегистр. 30-01-2003 | Отправлено: 08:32 10-06-2005
FRIbourg

Newbie
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
а технология автономных файлов уже не действует?

Всего записей: 23 | Зарегистр. 27-01-2004 | Отправлено: 08:40 10-06-2005
AlexSSS

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
kinnegan
как самый простой вариант, XCOPY, смотри ключи
можно и скриптами, проверяя есть ли файл на сервере и время последней можификации файла
 
 
 

Всего записей: 747 | Зарегистр. 26-06-2004 | Отправлено: 09:34 10-06-2005
Alan Mon

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
kinnegan
Посмотри утилитку robocopy из Resource Kit. Она это умеет. И еще много чего.

----------
Ребята, давайте жить дружно. Кот Леопольд

Всего записей: 1116 | Зарегистр. 22-07-2004 | Отправлено: 09:34 10-06-2005
FRIbourg

Newbie
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
угу, при логофе пользователя можно скопировать с помощью xcopy (ключики на проверку недостающих или измененных файлов)

Всего записей: 23 | Зарегистр. 27-01-2004 | Отправлено: 09:41 10-06-2005 | Исправлено: FRIbourg, 09:44 10-06-2005
realister12



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Господа! Помогите разобраться.
При запуске wscript.exe появляется сообщение "..отключен доступ к серверу сценариев Windows" Как его включить? Система Windows XP SP2 Pro.

Всего записей: 507 | Зарегистр. 10-03-2005 | Отправлено: 17:23 14-06-2005
Mishgunnn

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Есть интересные ссылки по теме, возможно пригодятся начинающим. Все это находится на сайте полезного журнала "Системный администратор". Возможно есть еще другие статьи -  я не нашел. Может в шапу даже можно добавить
 
http://www.samag.ru/art/02.2004/02.2004_05.zip
В предыдущей статье были рассмотрены теоретические аспекты построения Active Directory и проведен обзор доступных провайдеров, с помощью которых можно программно управлять Active Directory. Одним из таких провайдеров является WinNT, основы программирования которого будут рассмотрены в данной статье.
 
http://www.samag.ru/art/03.2004/03.2004_09.zip
«Программное управление ADSI: LDAP»
(Автор: Иван Коробко.)
Данный материал содержит основы программирования провайдера LDAP, объектная модель которого рассмотрена на примере стандартных утилит, созданных компанией Microsoft.
 
 

Всего записей: 14 | Зарегистр. 13-05-2004 | Отправлено: 10:24 16-06-2005
buks2004

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

Всего записей: 5 | Зарегистр. 20-04-2005 | Отправлено: 15:16 16-06-2005
Mishgunnn

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
buks2004
 
Могу подкинуть шаблон как со службами работать.  Скрипт список служб выдает. Тебе нужно его модернизировать. Он подключается к одному компу, надо сделать чтоб обходил все компы в AD. Можно искалку касперского прикрутить еще. Скрипт вот:
 
'*******************************************************************
' Описание: Вывод информации о службах  
'*******************************************************************
Option Explicit
 
' Объявляем переменные
Dim strComputer       ' Имя компьютера
Dim strNamespace      ' Имя пространства имен
Dim objWMIService        ' Объект SWbemServices    
Dim colServices       ' Коллекция экземпляров класса WMI
Dim objService        ' Элемент коллекции
Dim strResult         ' Результирующая строка
Dim WshShell          ' Объект WshShell
Dim theNotepad        ' Объект WshScriptExec
 
' Объявляем константы
Const wbemFlagForwardOnly = 32
Const wbemFlagReturnImmediately = 16
Const ForWriting = 2
 
' Функция для записи информации в файл  
Sub TextOut (Text, File)
  ' Объявляем переменные
  Dim  objFSO, FOut  
  ' Создаем объект FileSystemObject
  Set  objFSO=WScript.CreateObject("Scripting.FileSystemObject")
  ' Открываем выходной файл для записи
  Set  FOut = objFSO.OpenTextFile (File,ForWriting,true)
  ' Записываем текстовую строку в файл
  FOut.WriteLine Text
  ' Закрываем выходной файл
  FOut.Close
End Sub
 
'********************** Начало *************************************
' Присваиваем начальные значения переменным
strComputer = "."
strNamespace = "Root\CIMV2"
strResult = "Информация о службах " & VbCrLf & VbCrLf
 
' Подключаемся к пространству имен WMI
Set objWMIService = GetObject("WinMgmts:\\" & _
                                   strComputer & "\" & strNamespace)
 
Set colServices = objWMIService.ExecQuery("SELECT * FROM Win32_Service"_
                  ,,wbemFlagReturnImmediately+wbemFlagForwardOnly)
For Each objService In colServices
  strResult = strResult & "Name: " & _
              objService.Name & VbCrLf
  strResult = strResult & "Display Name: " & _
              objService.DisplayName & VbCrLf
  strResult = strResult & "Caption: " & _
              objService.Caption & VbCrLf
  strResult = strResult & "Description: " & _
              objService.Description & VbCrLf
  strResult = strResult & "Path Name: " & _
              objService.PathName & VbCrLf
  strResult = strResult & "ServiceType: " & _
              objService.ServiceType & VbCrLf
  strResult = strResult & "Status: " & _
              objService.Status & VbCrLf
  strResult = strResult & "State: " & _
              objService.State & VbCrLf
  strResult = strResult & "Started: " & _
              objService.Started & VbCrLf
  strResult = strResult & "Start Mode: " & _
              objService.StartMode & VbCrLf
  strResult = strResult & "Start Name: " & _
              objService.StartName & VbCrLf
  strResult = strResult & "Accept pause: " & _
              objService.AcceptPause & VbCrLf
  strResult = strResult & "Accept stop: " & _
              objService.AcceptStop & VbCrLf
  strResult = strResult & "********************************" & VbCrLf &_
              VbCrLf
Next
 
' Выводим результат в текстовый файл
TextOut  strResult, "C:\Services.txt"  
 
'Создаем объект WshShell
Set WshShell = WScript.CreateObject("WScript.Shell")
'Открываем созданный файл в Блокноте
Set theNotepad = WshShell.Exec("notepad " & "C:\Services.txt" )
'************************* Конец ***********************************

Всего записей: 14 | Зарегистр. 13-05-2004 | Отправлено: 16:03 16-06-2005
AlexSSS

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
buks2004
1. Логон скрипт проверяет наличие нужной записи в ветке реестра Uninstall
2. Если все клиенты на XP, то наличие записи в реестре можно проверить дистанционно с помощью WMI. Скрипт берет список всех компов из AD и дистанционно проверяет реестр.

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

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
AlexSSS
можно твой метод чуть подробней??
Все клиенты под XP.

Всего записей: 5 | Зарегистр. 20-04-2005 | Отправлено: 17:12 16-06-2005
AlexSSS

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
buks2004
1. В шапке темы находишь "TechNet Script Center Sample Scripts" и скачиваешь
2. Там находишь "List All Computer Accounts in Active Directory" - это для получения списка компьютеров
3. Там же находишь "Ping Multiple Computers" - там вырезаешь кусок для пингования компьютера. по полученному списку компов можно запускать проверку реестра, но лучше вначале пингануть комп на проверку наличия его в сети - это будет гораздо быстрее
4. Привожу простой скрипт для чтения ветки Uninstall. Запускаешь Visual Basic Editor в Excel, вставляешь в него нижеприведенный скрипт и запускаешь его. Он даст тебе все, что проинсталлировано на компе. Сделать проверку на наличие конкретной ветки будет уже несложно. Запускать скрипт необходимо с правами локального админа для удаленного компа (обычно в эту группу входят и домен админы).  
 
Sub Test()
Const HKEY_LOCAL_MACHINE = &H80000002
 
Cells.ClearContents
 
strComputer = "ComputerName"
 
Set oReg = GetObject("winmgmts:\\" & strComputer & "\root\default:StdRegProv")
strKeyPath = "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall"
oReg.EnumKey HKEY_LOCAL_MACHINE, strKeyPath, arrSubKeys
 
Row = 1
For Each subkey In arrSubKeys
    Cells(Row, 1).Value = subkey
    Row = Row + 1
Next
 
End Sub
 
PS. Я предпочитаю запускать подобные скрипты в Экселе - там уже есть и проверка синтаксиса, да и вывести любые результаты, включая любые промежуточные, очень просто
 
Добавлено:
Как показано в примере Mishgunnn, практически таким же способом можно посмотреть и реально запущенные сервисы.
См. его пример или в "TechNet Script Center Sample Scripts" - "List Service Properties".
Пример практически этот же, но там он чуть нагляднее из-за форматирования.

Всего записей: 747 | Зарегистр. 26-06-2004 | Отправлено: 17:58 16-06-2005 | Исправлено: AlexSSS, 18:04 16-06-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