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

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

 

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



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ребята нашел интересный скриптик  
 
Настраиваемый обработчик файлов                  *  
Копирование, перемещение, удаление файлов и         *  
просто отслеживание наличия в лог согласно         *  
настроек ini файла.  
 
Сам скрипт
 
Вот .ini
 
а в логе выдает  
Antonov_Berega.mp3 правило 'copy ' не найдено  

Всего записей: 2588 | Зарегистр. 15-04-2003 | Отправлено: 10:29 22-09-2008
rosalin



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

Всего записей: 2588 | Зарегистр. 15-04-2003 | Отправлено: 16:28 22-09-2008
madr1d



Newbie
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Народ, помогите советом плиз! Пишу свой первый логон скрипт. Ситуация такая:
 
Есть расшареный ресурс Links на сервере, в котором лежат подпапки с ярлыками на разные категории ПО. На каждую подпапку даны права только той группе пользователей, которые имеют права работать с данной категорией ПО. Когда пользователь логинится в AD, ему в Главное Меню, в зависимости от принадлежности к группе, копируются ярлыки для запуска определенного ПО.
Соответственно, если у пользователя нет доступа в папку, то ярлыки ему не копируются. Но копируется только пустая папка!! Как сделать так, чтобы пустая папка тоже не копировалась?
 
кусок скрипта, описывающий копирование одного такого каталога:
 
dim Path 'путь к папке "главное меню" на компе юзера
Dim fLinks ' Папка с ярлыками на сервере
 
set WShell = WScript.CreateObject("WScript.Shell")
Path = Wshell.SpecialFolders("StartMenu") & "\"
fLinks="\\dc01\Links\SoftGroup1"
 
'Копирование папки
CopyFolder DiasoftLinks, Path
 
Sub CopyFolder (fSource, FDestination)
    On Error Resume Next
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    objFSO.CopyFolder fSource, FDestination, TRUE
End Sub

Всего записей: 2 | Зарегистр. 25-09-2008 | Отправлено: 14:20 25-09-2008
cluster

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ребят, есть такой  
скрипт
 
Как его усовершенствовать, чтобы запускать с параметром, указывающим какую OU сканировать на пользователей? По умолчанию OU=Тест

Всего записей: 1720 | Зарегистр. 21-11-2003 | Отправлено: 17:30 25-09-2008
dexs

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Суть задачи , надо disable и переносить юзеров в определёную OU , если юсер неактивен более 60 дней .

Всего записей: 27 | Зарегистр. 18-05-2006 | Отправлено: 17:36 25-09-2008
slech



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

Всего записей: 4893 | Зарегистр. 10-11-2004 | Отправлено: 10:16 02-10-2008
abasov



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

Цитата:
Как его усовершенствовать, чтобы запускать с параметром, указывающим какую OU сканировать на пользователей? По умолчанию OU=Тест

 
если ты о проверке принадлежности к OU. то есть такая функция:

Код:
'====================
asutp = "ou=1Servers"
servers = "ou=2Servers"
'====================
If isMemberOu(asutp) Then  
WScript.Quit
elseIf isMemberOu(servers) Then  
WScript.Quit
else
end if
===================================
' проверка принадлежности ПК к OU  
Private Function isMemberOu(checkOu)  
   Set objSysInfo = CreateObject("ADSystemInfo")  
   strComputerDN = objSysInfo.ComputerName  
   intIndexStart = InStr(LCase(strComputerDN), "ou=")  
   intIndexLength = InStr(LCase(strComputerDN), ",dc=") - intIndexStart  
   isMemberOu = false  
   If intIndexStart > 0 Then  
      compOu = LCase(Mid(strComputerDN, intIndexStart, intIndexLength))  
   End If  
        If InStr(1, compOu, checkOu, 1) Then  
      isMemberOu = true  
   END IF  
   Set objSysInfo = nothing  
End Function  


Всего записей: 345 | Зарегистр. 12-11-2002 | Отправлено: 12:22 02-10-2008 | Исправлено: abasov, 12:23 02-10-2008
cluster

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
abasov
Нее. По умолчанию скрипт обрабатывает объекты в LDAP://OU=Тест,OU=Предприятие,OU=Холдинг,DC=domain,DC=com
 
Хочу поместить обрабатываемую OU в переменную и запускать скрипт с параметром:
script.vbs /ou=OU=Холдинг,DC=domain,DC=com
Типа того.

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

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

Цитата:
slech---** как получить дату месяц назад

currdate=Date()
modD=DatePart("d", date) & "," & (DatePart("m", date)-1) & "," & DatePart("yyyy", date)
msgbox currdate &"--|--"& Cdate(modD)

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

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всем доброго времени суток! Очень необходима помощь! Появилась такая необходимость удалить со всех компов домена симантек. С консоли не удается, нашел здесь скрипт удаляющий программу по ее IdentifyingNumber.  
 
'Удаление программы
 
'Этим скриптом можно удалить любую установленную через Windows Installer программу. В этом примере её имя LeftSoft Program.
 
'strComputer = "."-для локального компьютера для остальных меняем на имя компа
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
   & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
 
Set colSoftware = objWMIService.ExecQuery _
("Select * from Win32_Product Where IdentifyingNumber='{446DBFFA-4088-48E3-8932-74316BA4CAE4}'")
 
For Each objSoftware in colSoftware
   objSoftware.Uninstall()
Next
 
Только вот, как сделать чтоб имя компьютера не вручную для каждой машины прописывать, а чтоб скрипт сам проверял имя компа и вставлял уже в нужное поле.  
Буду безмерно благодарен за помощь...заранее спасибо!  

Всего записей: 1 | Зарегистр. 06-10-2008 | Отправлено: 21:58 06-10-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

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

Всего записей: 2403 | Зарегистр. 12-10-2006 | Отправлено: 22:25 10-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