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

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

 

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

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Gvozdun
Где-то так...
process.cmd

Код:
@echo off
REM complist.lst - текстовый файл с именами компьютеров, 1строка=1 имя
FOR /F %%N IN (complist.lst) DO (
REM Формируем построчно персональный скрипт для компа
copy nul process.vbs
echo 'Удаление программы >>process.vbs
echo.>>process.vbs
echo 'Этим скриптом можно удалить любую установленную через Windows Installer программу. В этом примере её имя LeftSoft Program. >>process.vbs
echo.  >>process.vbs
echo 'strComputer = "."-для локального компьютера для остальных меняем на имя компа  
echo strComputer = "%%N" >>process.vbs
echo Set objWMIService = GetObject("winmgmts:" _ >>process.vbs
echo  & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") >>process.vbs
echo.  >>process.vbs
echo Set colSoftware = objWMIService.ExecQuery _ >>process.vbs
echo  ("Select * from Win32_Product Where IdentifyingNumber='{446DBFFA-4088-48E3-8932-74316BA4CAE4}'") >>process.vbs
echo.  
echo For Each objSoftware in colSoftware >>process.vbs
echo    objSoftware.Uninstall() >>process.vbs
echo Next >>process.vbs
echo. >>process.vbs
 
REM Запускаем скрипт и ждём его завершения
start /w cscript.exe process.vbs
)


----------
http://www.imho.ws

Всего записей: 2388 | Зарегистр. 12-10-2006 | Отправлено: 00:42 07-10-2008 | Исправлено: BorlandIMHO, 22:17 10-10-2008
YNY

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

Цитата:
Gvozdun

Строчка  strComputer = "." означает, что если скрипт запускается на данной, а не другой машине, то имя само ставится нужное.  
Иными словами если эт скрипт в логон для всех компов прописать, то соотв никакова имени компа писать не надо, надо только чтоб скрипт выполнялся с необходимыми правами!
 
 
Добавлено:
Приведенный BorlandIMHO пример имеет сиысл использовать если ты скрипт будешь запускать со своего компа, а не прописывать его в логон (и с правами все равно прийдется разбираться, а для этого см страницы ранее).  
 
 
Добавлено:

Цитата:
BorlandIMHO

 Ну ты приколист, у тя че все скрипты так формируются и запускаются: ты делаешь 2-ю работу т.к. ты не пишешь скрипт, а формируешь его из другова???

Всего записей: 476 | Зарегистр. 18-05-2006 | Отправлено: 06:00 07-10-2008
XINSIDE



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Привествую.
Подскажите есть утилита psexec.exe.
Мне необходимо, с её помощью, выполнять команды на удалённой машине. Интересует следующее - работает ли она в рабочей группе, нет домена. Есть пароль локального админа. Не могу достучаться до компа.  Говорит - couldn't access.  
Если  psexec.exe не работает в рабочей группе посоветуйте как ещё можно запускать консольные улититы на удалённой машине. Какими программными средствами, чтобы человек нажимал ярлык на bat файл или на скрипт и на удалённой машине выполнялась определённая команда. Всё это не в домене, а в рабочей группе.  
 
Добавлено:
Приветствую.
Подскажите есть утилита psexec.exe.
Мне необходимо, с её помощью, выполнять команды на удалённой машине. Интересует следующее - работает ли она в рабочей группе, нет домена. Есть пароль локального админа. Не могу достучаться до компа.  Говорит - couldn't access.  
Если  psexec.exe не работает в рабочей группе посоветуйте как ещё можно запускать консольные улититы на удалённой машине. Какими программными средствами, чтобы человек нажимал ярлык на bat файл или на скрипт и на удалённой машине выполнялась определённая команда. Всё это не в домене, а в рабочей группе.  

Всего записей: 329 | Зарегистр. 12-12-2005 | Отправлено: 16:42 07-10-2008
abasov



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

Цитата:
Подскажите есть утилита psexec.exe.
Мне необходимо, с её помощью, выполнять команды на удалённой машине. Интересует следующее - работает ли она в рабочей группе, нет домена. Есть пароль локального админа. Не могу достучаться до компа.  Говорит - couldn't access.  
Если  psexec.exe не работает в рабочей группе посоветуйте как ещё можно запускать консольные улититы на удалённой машине. Какими программными средствами, чтобы человек нажимал ярлык на bat файл или на скрипт и на удалённой машине выполнялась определённая команда. Всё это не в домене, а в рабочей группе.  

 
set comp=PC1
psexec \\%comp% -u %comp%\admin -p password cscript.exe \\fs.loc.net\distr\Upload\word.vbs
 

Всего записей: 345 | Зарегистр. 12-11-2002 | Отправлено: 06:34 08-10-2008
phaoost

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
подскажите, можно ли установить статус сервиса в manual из коммндной строки? т.е. есть disabled сервис, нужно его стартануть.

Всего записей: 162 | Зарегистр. 26-08-2005 | Отправлено: 01:10 10-10-2008
abasov



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

Цитата:
подскажите, можно ли установить статус сервиса в manual из коммндной строки? т.е. есть disabled сервис, нужно его стартануть.

sc config

Всего записей: 345 | Зарегистр. 12-11-2002 | Отправлено: 06:45 10-10-2008
phaoost

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
abasov
спасибо, только вот что-то routing and remote access не могу найти как называется там
 
Добавлено:
ой, нашёл. просто там синтаксис странный

Всего записей: 162 | Зарегистр. 26-08-2005 | Отправлено: 13:25 10-10-2008
Fader



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Видел проскакивал здесь вопрос: как изменить имя соединения по локальной сети.
 
Нашел решение:

Код:
 
strComputer = "."  
NewName="NewName"
set wshShell= wscript.CreateObject("Wscript.Shell")  
Set objWMIService = GetObject _  
("winmgmts:\\" & strComputer & "\root\microsoft\homenet")  
Set colItems = objWMIService.ExecQuery("Select * from HNet_Connection")  
For Each objItem in colItems  
if (objItem.IsLANConnection) then
wshShell.Run("netsh interface set interface name = " &chr(34)&objItem.Name &chr(34)& " newname = " & chr(34)&NewName&chr(34))
end if
Next
 

 
Скрипт работает в рамках одной сессии. Т.е. сменив имя адаптера, требуется перезагрузка для повторной смены

----------
Ваш персональный приватный VPN

Всего записей: 898 | Зарегистр. 03-01-2004 | Отправлено: 18:29 10-10-2008
vicwanderer

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Бэкап w2k3 средствами ntbackup по след. схеме. Как сделать?
System state 1 раз в неделю  
Срок хранения: бэкап за последние 4 недели
Бэкап файлов+1С(dbf)
1 раз в неделю
тип: full(в выходные) + increment(ежедневно)
Срок хранения: 6 последних полных бэкапа  
 
Если ставить ежедневный normal бэкап, то бэкап за 2-ую неделю затрёт
бэкап за первую неделю. Ну и по инкрементным тоже самое.
А хотелось бы видеть на внешнем винчестере
System_state-week1.bkf
System_state-week2.bkf
System_state-week3.bkf
System_state-week4.bkf
Files-week1.bkf
Files-week2.bkf
...
Files-week6.bkf
Files-inc1.bkf
...
Files-inc6.bkf

Всего записей: 545 | Зарегистр. 25-12-2005 | Отправлено: 19:43 10-10-2008
BorlandIMHO

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

Цитата:
Ну ты приколист, у тя че все скрипты так формируются и запускаются: ты делаешь 2-ю работу т.к. ты не пишешь скрипт, а формируешь его из другова???
Вообще-то нет...
Я конкретно объяснил, как запускать один и тот же wsh-скрипт для разных машин.
Поскольку сам я wsh не использую, то пошёл "по пути наименьшего сопротивления". Догадываюсь, что скрипт может принимать параметр из командной строки, тогда можно один и тот же скрипт запускать с параметром ИмяКомпа. Просто лень разбираться с параметрами...  
А вариант мой вполне работоспособен - во всяком случае, не менее чем исходный скрипт.

Цитата:
с правами все равно прийдется разбираться
Ну, насколько я понимаю, скрипт запускается доменным админом со своими правами. И если у доменного админа не хватает прав на рабочих станциях - гнать нужно такого админа...
А с правами как раз придётся разбираться при прописывании скрипта во входной...
 


----------
http://www.imho.ws

Всего записей: 2388 | Зарегистр. 12-10-2006 | Отправлено: 22:25 10-10-2008
Fader



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

Цитата:
strComputer = "."  
NewName="NewName"  
set wshShell= wscript.CreateObject("Wscript.Shell")  
Set objWMIService = GetObject _  
("winmgmts:\\" & strComputer & "\root\microsoft\homenet")  
Set colItems = objWMIService.ExecQuery("Select * from HNet_Connection")  
For Each objItem in colItems  
if (objItem.IsLANConnection) then  
wshShell.Run("netsh interface set interface name = " &chr(34)&objItem.Name &chr(34)& " newname = " & chr(34)&NewName&chr(34))  
end if  
Next

 
Хотелось бы внести ясность: к сожалению скрипт в качестве исходного имени соединения воспринимает только лишь дефолтное.

Всего записей: 898 | Зарегистр. 03-01-2004 | Отправлено: 12:10 13-10-2008
zzxx1488

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
hi all
есть скрипт восстанавливающий таблицу рутинга по ip'шникам из файла \defgw, мне нужно чтобы добавились все ip кроме первого в обратном порядке, пытаюсь сделать так, но что-то не выходит  
добавляются все ip с первого по пятый, включая первый, который не нужен  
 
Set fsoWSH = CreateObject("Wscript.Shell")  
Set fsoFCO = CreateObject("Scripting.FileSystemObject")  
Set fsoGFF = fsoFCO.GetFolder(".")  
Set fsoTXT = fsoFCO.OpenTextFile(fsoGFF.Path & "\defgw")  
Do Until fsoTXT.AtEndOfStream  
   m = Split(fsoTXT.Readline)  
   a.Run "route ADD 0.0.0.0 MASK 0.0.0.0 " & m([5 - 1])  
Loop

Всего записей: 62 | Зарегистр. 04-10-2008 | Отправлено: 09:33 14-10-2008
YNY

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

Цитата:
zzxx1488

uses the Split function to return an array from a string), а это значит что при помощи
Readline ты читаешь сторки от начала файла, пока не достигнешь его конца и, непонятно зачем, каждую строку ты переарганизуешь в массив размерности 4)
если тебе надо пропустить какую-то сторку то  
ns=0
Do....
ns=ns+1
if ns=<нужное> then '- тут мы берем только нужный набор строк из файла
m = Split(fsoTXT.Readline)  
a.Run "route ADD 0.0.0.0 MASK 0.0.0.0 " & m
end if
' ns=ns+1 --или тут-как те удобней )
Loop
 
Добавлено:
или попробуй вот эти методы
Skips a specified number of characters when reading a TextStream file.
object.Skip(characters)
characters-- количиство символов которрое надо пропустить от текущей позиции.
 
Skips the next line when reading a TextStream file.
f.SkipLine -- просто пропускает одну линию от текущей позиции  

Всего записей: 476 | Зарегистр. 18-05-2006 | Отправлено: 06:10 15-10-2008
PIL123



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

Всего записей: 818 | Зарегистр. 25-06-2003 | Отправлено: 17:13 15-10-2008
abasov



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

Цитата:
Коллеги, выручайте. Нужно решить дурацкую задачу: через шедулер каждый день проверять некую папочку и всё её содержимое старше 3-х дней - удалять. Помогите наваять такой скрипт, пожалуйста.

вам кажется ответили здесь, еще решение надо?
http://forums.microsoft.com/TechNet-RU/ShowPost.aspx?PostID=4004386&SiteID=40

Всего записей: 345 | Зарегистр. 12-11-2002 | Отправлено: 21:02 15-10-2008
qrock



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

Цитата:
Коллеги, выручайте. Нужно решить дурацкую задачу: через шедулер каждый день проверять некую папочку и всё её содержимое старше 3-х дней - удалять. Помогите наваять такой скрипт, пожалуйста.

 
forfiles.exe спасет отца русской демократии

Всего записей: 128 | Зарегистр. 19-01-2005 | Отправлено: 15:01 16-10-2008
gbcfkf



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Добрый день.. никак не могу выудить информацию о пользователях в AD:
VBS скрипт:
 
On error resume next
Set objConnection = CreateObject("ADODB.Connection")  
Set objCommand = CreateObject("ADODB.Command")  
objConnection.Provider = "ADsDSOObject"  
objConnection.Open "Active Directory Provider"  
Set objCOmmand.ActiveConnection = objConnection  
objCommand.CommandText = "Select Name from 'LDAP://ou=ou1,dc=mydomen,DC=ru' " & "where objectClass='computer'"
objCommand.Properties("Page Size") = 5000  
objCommand.Properties("Timeout") = 10  
objCommand.Properties("Searchscope") = 5  
objCommand.Properties("Cache Results") = False  
Set objRecordSet = objCommand.Execute  
 
objRecordSet.MoveFirst  
Do Until objRecordSet.EOF  
strUser = objRecordSet.Fields("name").Value  
WScript.Echo struser
objRecordSet.MoveNext  
Loop  
 
^Так работает.
 
Но никак не выуживаются другие атрибуты например, что перечислены здесь - выходят пустые строки.
Также не работает такая конструкция:
objCommand.CommandText = "Select * from 'LDAP://ou=ou1,dc=mydomen,DC=ru' " & "where objectClass='computer' , хотя должна
Ниче не понимаю.. где собака зарыта?
 
 
ps Я не совсем прав, когда сказал, что ни один атрибут не выводится. Нормально выводятся атрибуты: ADsPath, Name, samAccountName и mail

Всего записей: 702 | Зарегистр. 17-10-2006 | Отправлено: 08:04 17-10-2008 | Исправлено: gbcfkf, 09:17 17-10-2008
rosalin



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

Всего записей: 2584 | Зарегистр. 15-04-2003 | Отправлено: 13:25 20-10-2008
Starley25



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Господа!
Просьба имеется. Никто не поможет в написании скрипта по такой вот задачке. Необходимо с одного компа проверять скажем наличие некоего файла на другом, причем с измерением времени выполнения проверки (для оценки работы сетевого оборудовани), ну или копирование некоего файла на другой комп (посоянного, то есть если этот файл уже есть, то его удаляем и поверх записываем тот же) с измерением времени выполнения.
 
С уважением Starley25.

Всего записей: 117 | Зарегистр. 07-03-2005 | Отправлено: 20:49 23-10-2008
cluster

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
gbcfkf
а какие аттрибуты тебе ещё нужны? перечисли. завтра попробую на работе. отпишусь.

Всего записей: 1720 | Зарегистр. 21-11-2003 | Отправлено: 23:14 23-10-2008
   

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