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

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

 

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



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
YNY Да это уже метод, просто придётся добавить на флеху это файл, да уже близко.
 
 
Добавлено:
YNY спс всё работает как надо!

Всего записей: 95 | Зарегистр. 19-10-2010 | Отправлено: 15:17 13-01-2011
Scaramanga



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Всем привет.  
На sysadmin взял скрипт для подключения к сетевым дискам следующего содержания

Код:
'Скрипт подключения сетевого диска с определенной меткой.
'ВНИМАНИЕ!!!
'Скрипт не будет работать, если буква подключаемого диска совпадает с буквой локального диска.
'****************************************************************************
Option Explicit
 
Dim objFSO
Dim strDriveLetter, strRemotePath, strNewDiskName
 
strDriveLetter = "Z:"
strRemotePath = "\\
strNewDiskName = "Free"
 
On Error Resume Next
Set objFSO = CreateObject("Scripting.FileSystemObject")
 
'Если такой сетевой диск существует, отключаем его и переподключаем по новой.
'На тот случай, если был подключен не тот диск. Затем переименовываем.
'Если диск не существует, подключаем и переименовываем.
If objFSO.DriveExists(strDriveLetter) = True Then
        RemNetDrive strDriveLetter, True, True
        MapNetDrive strDriveLetter, strRemotePath, False
        RenameNetDrive strDriveLetter, strNewDiskName
Else
        MapNetDrive strDriveLetter, strRemotePath, False
        RenameNetDrive strDriveLetter, strNewDiskName
End If
 
 
'****************************************************************************
'ПРОЦЕДУРЫ
'****************************************************************************
 
'Процедура переименования сетевого диска.
'Принимаемые параметры:
'strDriveLetter - буква диска + двоеточие, например "P:"
'strNewDiskName - новая метка диска, например "Документы бухгалтерии"
Sub RenameNetDrive (strDriveLetter, strNewDiskName)
        Dim objShell
        Set objShell = CreateObject("Shell.Application")
         
        objShell.NameSpace(strDriveLetter).Self.Name = strNewDiskName
End Sub
 
'Процедура подключения сетевого диска.
'Принимаемые параметры:
'strDriveLetter - буква диска + двоеточие, например "P:"
'strRemotePath - путь к общему ресурсу, монтируемому, как диск, например "\\Fileserver01\Buh"
'bUpdateProfile - сохранять ли информацию в профиле пользователя. Аналог ключа /PERSISTENT:YES команды net use.
Sub MapNetDrive (strDriveLetter, strRemotePath, bUpdateProfile)
        Dim objNetwork
        Set objNetwork = CreateObject("WScript.Network")  
         
        objNetwork.MapNetworkDrive strDriveLetter, strRemotePath, bUpdateProfile  
End Sub
 
'Процедура удаления сетевого диска.
'Принимаемые параметры:
'strDriveLetter - буква диска + двоеточие, например "P:"
'bForce - отключать ли диск, если он в данный момент используется
'bUpdateProfile - сохранять ли информацию в профиле пользователя.
Sub RemNetDrive (strDriveLetter, bForce, bUpdateProfile)
        Dim objNetwork
        Set objNetwork = CreateObject("WScript.Network")  
         
        objNetwork.RemoveNetworkDrive strDriveLetter, bForce, bUpdateProfile
End Sub

 
Активно им пользуюсь, но сейчас возникла необходимость чтобы подключался диск от имени другого пользователя, но и чтобы функции этого скрипта не потерялись (т.е. переименование имени диска, проверка на уже уже существующий и т.п.) Грубо говоря. Нужно объеденить этот скрипт и  

Код:
Dim WshNetwork  
Set WshNetwork = WScript.CreateObject("WScript.Network")  
WshNetwork.MapNetworkDrive "q:", "\\192.168.1.100\e$", , "administrator", "password"

этот. Заранее спасибо за помошь

Всего записей: 514 | Зарегистр. 24-04-2008 | Отправлено: 18:22 18-01-2011
kakaw

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Есть сетевая папка. Требуется, чтобы при поступлении новых файлов в эту папку, определённый пользователь получал уведомление. Подскажите пожалуйста чем можно реализовать подобное ?  

Всего записей: 1 | Зарегистр. 22-07-2010 | Отправлено: 14:14 20-01-2011
YNY

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
kakaw> при поступлении новых файлов...
смотри темы/ключевые слова:  "настройка аудита", "подписка на события",  "чтение эвентлога"

Всего записей: 476 | Зарегистр. 18-05-2006 | Отправлено: 14:51 20-01-2011 | Исправлено: YNY, 15:03 20-01-2011
firsteducation



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

Всего записей: 95 | Зарегистр. 19-10-2010 | Отправлено: 20:01 25-01-2011
Rush

Уже за тридцать...
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
firsteducation

Цитата:
Есть задача по переименованию файла, имя файла известно, нужно его переименовать, но расположение файла на жёстком диске может быть разным, да файлов этих может быть несколько, в общем если этих файлов несколько, то нужно переименовать все.


Код:
@echo off
 
set "Drive=Z:\"
set "OldName=read.txt"
set "NewName=write.txt"
 
for /f "tokens=*" %%i in ('dir "%Drive%%OldName%" /a-d/s/b') do ren "%%i" "%NewName%"

Всего записей: 3551 | Зарегистр. 20-11-2003 | Отправлено: 13:34 26-01-2011
YNY

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
firsteducation> задача по переименованию файла... c разным местоположением
Плюшка к варианту от Rush (без тестирования работоспособности):  
Файл Cmd.exe разворачивает переменные с %0 по %9. При использовании пакетных параметров переменная %0 заменяется на имя пакетного файла, а переменные с %1 по %9 — на соответствующие аргументы, напечатанные в командной строке.
Т.о. вместо %OldName% мона использовать %1, а вместо %NewName% -- %2, тогда вызов батника будет типа: S.bat OldName NewName
 

Всего записей: 476 | Зарегистр. 18-05-2006 | Отправлено: 15:33 26-01-2011
firsteducation



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Rush спасибо проверим!
YNY спс, занесу всё в свой архив, есчё пригодится!
 

Всего записей: 95 | Зарегистр. 19-10-2010 | Отправлено: 15:42 26-01-2011
champa



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Добрый день!
Подскажите, пожалуйста, по следующему вопросу:
имеется мед. программа (Полиус), в которую каждый день надо подгружать через ВЭБ-интерфейс базы застрахованных лиц от 3-4 компаний. Базы приходят по почте, причем шифруются Вербой. Реально ли все это автоматизировать?
Что нужно, могу уточнить. Больше интересует вопрос по расшифровке Вербой.

Всего записей: 281 | Зарегистр. 05-03-2007 | Отправлено: 10:29 27-01-2011
res2001



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
champa
У вербы есть пакетный режим работы, написав простенький сценарий можно все автоматизировать.
В мануале по вербе есть описание команд и способа запуска.
Одно напрягает - при первом запуске все равно приходится руками инициализировать ДСЧ.
Так же есть и консольные утилиты, но тут я не очень в курсе, использую пакетный режим.

Всего записей: 2580 | Зарегистр. 11-04-2003 | Отправлено: 10:48 27-01-2011
champa



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
res2001
спасибо. Посмотрим. Теоритически задача, как я понял, выполнима и не составит особого труда?

Всего записей: 281 | Зарегистр. 05-03-2007 | Отправлено: 11:41 27-01-2011
res2001



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

Цитата:
Теоритически задача, как я понял, выполнима и не составит особого труда?

и теоретически и практически

Всего записей: 2580 | Зарегистр. 11-04-2003 | Отправлено: 11:54 27-01-2011
champa



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
res2001
пошел читать матчасть! давно скриптов не делал - со времен диплома универа=)) но ниче вспоминать легче, чем изучать заново. Вопросик сразу: почту получаю Батом, может для удобства лучше специально для скрипта консольное че-нить, типа blat'a?
 
Добавлено:
хотя, вспоминая, диплом - именно Мышь и использовалась.

Всего записей: 281 | Зарегистр. 05-03-2007 | Отправлено: 13:57 27-01-2011
res2001



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
champa
В бате есть такая фишка как ipc файл - это текстовый файл, в котором содержаться команды для бата. Файл должен лежать в каталоге с батом, называться thebat.ipc. BAT сканирует свой каталог на предмет наличия этого файла и выполняет команды, которые в нем содержаться.
Так что можно и с батом все автоматизировать.

Всего записей: 2580 | Зарегистр. 11-04-2003 | Отправлено: 14:20 27-01-2011
firsteducation



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Люди есть проблема, сделал пакетный файл, в нём два батника и один wsh скриптик, один батник добавляет в реестр запись на запуск wsh скрипта, wsh скрипт должен запустить второй батник, лежащий в той же папке, но wsh выдаёт ошибку что файл ненайден.
Если запускать wsh скрипт вручную всё работает, в чём дело?
Пример моего wsh скрипта:
 
On Error Resume Next
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run "test.bat", 0, false

Всего записей: 95 | Зарегистр. 19-10-2010 | Отправлено: 19:28 28-01-2011
Alukardd



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
firsteducation
ИМХО...
Потому что когда вы запускаете скрипт ручками то находитесь в той же папке, и он считается, что отсюда и вызван, а когда он вызывается из реестра (вы кстати не сказали откуда именно, и при каких обстоятельствах, и вообще зачем такая канитель?)  то вызов считается из какой-нить %systemroot%\system32, ну а там файлика-то вашего и нету...
Как вариант решения проблемы либо использовать абсолютные пути, либо 1-ый батник пусть копирует wsh, и 2-ой батник куда-нить на %systemdrive% и пути уже пишите от этой переменной...

----------
Microsoft gives you windows, linuх gives you the whole house...
I've been using Vim for about 4 years now, mostly because I can't figure out how to exit it.

Всего записей: 6477 | Зарегистр. 28-08-2008 | Отправлено: 21:01 28-01-2011 | Исправлено: Alukardd, 21:02 28-01-2011
firsteducation



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Люди есть проблема, сделал пакетный файл, в нём два батника и один wsh скриптик, один батник добавляет в реестр запись на запуск wsh скрипта, wsh скрипт должен запустить второй батник, лежащий в той же папке, но wsh выдаёт ошибку что файл ненайден.
Если запускать wsh скрипт вручную всё работает, в чём дело?
Пример моего wsh скрипта:
 
On Error Resume Next
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run "test.bat", 0, false
 

Цитата:
ИМХО...
Потому что когда вы запускаете скрипт ручками то находитесь в той же папке, и он считается, что отсюда и вызван, а когда он вызывается из реестра (вы кстати не сказали откуда именно, и при каких обстоятельствах, и вообще зачем такая канитель?)  то вызов считается из какой-нить %systemroot%\system32, ну а там файлика-то вашего и нету...
Как вариант решения проблемы либо использовать абсолютные пути, либо 1-ый батник пусть копирует wsh, и 2-ой батник куда-нить на %systemdrive% и пути уже пишите от этой переменной...

 
Мне нужно чтоб папка в которой лежит wsh скрипт была папкой из которой он был вызван, т.к иначе ничего не срабатывает.

Всего записей: 95 | Зарегистр. 19-10-2010 | Отправлено: 04:19 29-01-2011
attaattaatta



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

Цитата:
On Error Resume Next  
Set WshShell = CreateObject("WScript.Shell")  
WshShell.Run "test.bat", 0, false

 

Цитата:
Dim LaunchDir, FSO, WSHShell
Set WSHShell = WScript.CreateObject("WScript.Shell")
LaunchDir = WSHShell.CurrentDirectory
 
WSHShell.Run ""LaunchDir & "\test.bat""


Всего записей: 1118 | Зарегистр. 25-09-2007 | Отправлено: 09:53 29-01-2011 | Исправлено: attaattaatta, 09:54 29-01-2011
firsteducation



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
attaattaatta А можно поподробней?
 
 
Добавлено:

Цитата:
Dim LaunchDir, FSO, WSHShell
Set WSHShell = WScript.CreateObject("WScript.Shell")
LaunchDir = WSHShell.CurrentDirectory
 
WSHShell.Run ""LaunchDir & "\test.bat""  

 
Выдаёт ошибку: предполагается наличие окончания инструкции.

Всего записей: 95 | Зарегистр. 19-10-2010 | Отправлено: 13:55 29-01-2011
YNY

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
firsteducation> Выдаёт ошибку: предполагается наличие окончания инструкции
Т.к. не правильное использование двойных кавычек!  
Правильно типа вот так:
WSHShell.Run LaunchDir & "\test.bat"
или если в  LaunchDir есть пробелы, то  
WSHShell.Run """"&LaunchDir&"\test.bat"&""""  
 
 
Добавлено:
ДЛЯ ВСЕХ  
VBSCRIP5.CHM -- справка по VBScript из ворда XP (и возмона 2k) до 2007
C:\Program Files\Microsoft Office\Office10\1049\VBSCRIP5.CHM

Всего записей: 476 | Зарегистр. 18-05-2006 | Отправлено: 11:31 30-01-2011 | Исправлено: YNY, 12:07 30-01-2011
   

Страницы: 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.Board
© Ru.Board 2000-2020

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru