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

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

 

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

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
firsteducation> RE:предупреждение...
Вот такой скрипт не даст выйти, как я думаю, сообщению которое тебе мешает, но не исключает DVD, который не выдает сообщений о недоступности устройства.
Если и его захочешь обойти, то пиши
 
 
Добавлено:
Как плюшка: можешь создать лог файл для проверки работы скрипта.  
Геморрой с созданием файла (e1.txt) мне пришлось делать т.к. cmd ругается на ('WMIC.Exe Path Win32_LogicalDisk Where DriveType="2" get Caption').

Всего записей: 476 | Зарегистр. 18-05-2006 | Отправлено: 19:49 12-01-2011
Alukardd



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
firsteducation
Вот добрался до винды... А то в bash как-то не очень батники думать)
Вот что вышло, старался максимально под ваши задачи:
Код:
@echo off
 
rem Athor: Alukardd
rem created: 12.01.2011
rem for M$ Windows RU only!!!
rem script must be encodуed in cp866 (thit is due to using command "findstr")
rem tested on WinXP SP2 RU
 
 
rem declaration of drives that need copy to
set drives="A,B,C,D,E,F"
rem declaration of folder from copy (folder itself won't be copied)
set cd=".\qq"
rem declaration of destination folder (files will puts to it)
set p0=folder\
 
echo LIST VOLUME>script.tmp
for /f "tokens=1-3*" %%i in ('diskpart /s script.tmp ^| findstr /i "Раздел"') do (
   echo %drives% | findstr /i %%k > nul
   if errorlevel 0 @xcopy %cd% "%%k:\%p0%" /C /E /H /Y /Q
)
del script.tmp
 
:exit
exit 0
Примичание: т.к. я использовал русские символы в команде findstr, то кодировка скрипта должна быть cp866

----------
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.

Всего записей: 6563 | Зарегистр. 28-08-2008 | Отправлено: 22:26 12-01-2011 | Исправлено: Alukardd, 22:35 12-01-2011
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"

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

Всего записей: 516 | Зарегистр. 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.

Всего записей: 6563 | Зарегистр. 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
   

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