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

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



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

Цитата:
urel
да почти так и будет
Код: Set objFSO = CreateObject("Scripting.FileSystemObject")  
objFSO.MoveFile "D:\Дневной отчет\*.*" , "D:\Rotate\"  

 
Нифига... при таком раскладе перемещает только файлы, причем если файлов нет (а их может не быть) то ругается.
 
Как его заставить перемещать все содержимое папки дневной отчет, и отключить сообщения об ошибках?
 
Хотел это сделать через bat, но там проблема с русским именем папки...

Всего записей: 1033 | Зарегистр. 30-05-2006 | Отправлено: 19:09 25-01-2007
urel

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Bugriy
видать сервис кривоват - и невсегда коректно прибивает свои процессы.
 
Добавлено:
gap5
тогда в 2 раза усложним
Код:
On Error Resume Next  
Set objFSO = CreateObject("Scripting.FileSystemObject")  
objFSO.MoveFile "D:\Дневной отчет\*.*" , "D:\Rotate\"  
objFSO.MoveFolder "D:\Дневной отчет\*" , "D:\Rotate\"

Всего записей: 292 | Зарегистр. 16-09-2004 | Отправлено: 19:14 25-01-2007
gap5



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Кстати, а как лучше запускать скрипты из под "Scheduled tasks"? Из под Administrator не совсем удобно, т.к. пароль меняется и придется его переписывать для каждого задания... Под NTAUTHORITY\SYSTEM винда (2003) запускать не дает.

Всего записей: 1033 | Зарегистр. 30-05-2006 | Отправлено: 20:43 25-01-2007
urel

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
gap5
странно - должно дать, попробуй через at создать

Всего записей: 292 | Зарегистр. 16-09-2004 | Отправлено: 20:59 25-01-2007
gap5



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Cannot Configure Scheduled Tasks to Use System Account
View products that this article applies to.
Article ID : 223375  
Last Review : October 30, 2006  
Revision : 3.1  
This article was previously published under Q223375
SYMPTOMS
When you create or modify a task in the Scheduled Tasks tool to use the System account, the task does not run as scheduled.  
CAUSE
This issue occurs because you cannot configure a task to use the System account using the Scheduled Tasks Wizard.  
 
Не должно оно оказывается ничего...  
С другой стороны, если вбить туда один раз правильный пароль, а потом его поменять - он будет продолжать работать или нет?

Всего записей: 1033 | Зарегистр. 30-05-2006 | Отправлено: 21:32 25-01-2007
urel

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
gap5
имея ввиду schtasks я подразумевал возможность в целом. и сказал что это пожносделать с помощью команды AT. ex: "at 23:00 cmd"
хотя наверно ты не schtasks имел ввиду а визард...
вобщем еще один вариант
schtasks /create /?
    /RU          username          Specifies the "run as" user account
                                   (user context) under which the task
                                   runs. For the system account, valid
                                   values are "", "NT AUTHORITY\SYSTEM"
                                   or "SYSTEM".

Всего записей: 292 | Зарегистр. 16-09-2004 | Отправлено: 22:15 25-01-2007
gap5



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
urel
Столкнулся с еще одной проблемой...
Скрипт перестает работать после того как находит одинаковые имена файлов, сказать бы ему Overwrite.... но
 
objFSO.MoveFile "D:\Дневной отчет\*.*" , "D:\Rotate\"  , True  
 
Не работает, ругается на ошибку...
А как перемещать все содержимое папки (включая подпапки) с помощью move.exe? А то файлы то он перемещает, а вот с папками только если указать имя...
 
 
Добавлено:
Еще такой вопрос - нужен скрпит для автоматического uninstall'а указанного софта, нашел вот такой, но не работает:
 
' These are the Names of Software I want to remove
' and as they appear in Control Panel -> Add/Remove Softyware:
 
Dim ArrOfProcessesToTerminate, strTargetProcToTerminate
ArrOfProcessesToTerminate = Array("iTunes","AdminScriptEditor TRIAL
EDITION","Clipomatic")
 
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
 
For Each strTargetProcToTerminate In ArrOfProcessesToTerminate
Set colProcessList = objWMIService.ExecQuery _
("Select * from Win32_Product Where Name = '" &
strTargetProcToTerminate & "'")
 
For Each oProcess in colProcessList
wscript.popup "oProcess: " & ThisOne _
Chr(13) & "oProcess.InstallDate: " & oProcess.InstallDate _
Chr(13) & "oProcess.InstallLocation: " &
oProcess.InstallLocation _
Chr(13) & "oProcess.Name: " & oProcess.Name _
Chr(13) & "oProcess.Description: " & oProcess.Description
oProcess.Uninstall()
 
Next 'For Each oProcess In colProcesses
 
Next 'For Each strTargetProc In arrTargetProcs
 
Есть идеи почему?

Всего записей: 1033 | Зарегистр. 30-05-2006 | Отправлено: 14:10 28-01-2007
mistx

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

Всего записей: 765 | Зарегистр. 13-01-2005 | Отправлено: 20:01 28-01-2007
Sk1f



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
mistx Самый простой и работоспособный способ
Создаешь групповую политику и приделываешь к ней скрипт.
Скрипт:

Цитата:
 
strComputer = "."
Set objWMIService = GetObject_
    ("winmgmts:{impersonationLevel=impersonate,(Shutdown)}\\" & _
        strComputer & "\root\cimv2")
 
Set colOperating Systems = objWMIService.ExecQuery _
    ("Select * from Win32_OperatingSystem")
 
For Each objOperatingSystem in colOperatingSystems
    objOperatingSystem.Win32Shutdown(1)
Next
 

 

Всего записей: 198 | Зарегистр. 04-04-2006 | Отправлено: 09:36 29-01-2007
SamsungC095

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Привет всем! Вы когда-нибудь делали SQL базу (можно Access) для создания баз по считыванию штрих кодов? Как привязать данные, полученные с лазерников к mdb-файлам?
заранее спасибо.

Всего записей: 4 | Зарегистр. 11-08-2005 | Отправлено: 10:08 29-01-2007
Sk1f



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Граждане Скриптологи. Вопрос не по теме.  
Но спрашивать в другом топике не вижу смысла.
 
Возникла проблема: на работе пишу скрипты на PrimalScript (программа была куплена еще в прошлом году). Хотел поставить ее на ноут, чтобы работать дома. Но потом вспомнил, что активация программы происходит через интернет, поэтому я не думаю что получится поставить два раза на разные машины.
У кого есть PrimalScript с crack-ом. Скиньте на почту.  
 
p.s. email напишу в PM

Всего записей: 198 | Зарегистр. 04-04-2006 | Отправлено: 10:33 29-01-2007 | Исправлено: Sk1f, 13:32 29-01-2007
urel

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
SamsungC095
импортом. для SQL сервера будет мастер - поищи
 
Добавлено:
gap5
3го параметра у movefolder/movefile нет. удали предварительно папку. усли не катит, то тогда наверно рекурсией, пофайлово. другое чтот в голову не прходит. еще можно исспользовать copy/xcopy (кста методы copyfile/copyfolder имеют 3й парамерт overwrite) - но это может занять больше времени чем перемещение(в пределах физического раздела).
у тебя пропущен strComputer  
сделай strComputer ="." для текущего компа.
 
 
Добавлено:
Sk1f
с этим в варезник

Всего записей: 292 | Зарегистр. 16-09-2004 | Отправлено: 13:26 29-01-2007
gap5



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

Цитата:
Sk1f Самый простой и работоспособный способ  
Создаешь групповую политику и приделываешь к ней скрипт.  
Скрипт:  
strComputer = "."  
Set objWMIService = GetObject_  
("winmgmts:{impersonationLevel=impersonate,(Shutdown)}\\" & _  
strComputer & "\root\cimv2")

 
Интересно, а как его запускать? В групповой политике скрипты либо Startup/Logon либо Shutdown/Logoff...  

Всего записей: 1033 | Зарегистр. 30-05-2006 | Отправлено: 13:42 29-01-2007
urel

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ЗЫЖ а я юзаю vbsedit - сейчас есть бесплатная версия но без дебага =)
 
Добавлено:
хттп://www.vbsedit.com/
 
Добавлено:
gap5
смотря как его нужно запускать - разово или постоянно. если разово то можно с удаленной машины, перебрав в strComputer  все интересующие компы(они есесно должны быть включены, и у пользователя запустивщего скрипт должны быть права админа на удаленных машинах)

Всего записей: 292 | Зарегистр. 16-09-2004 | Отправлено: 13:43 29-01-2007
gap5



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
urel
тогда смысл добавлять этот скрипт в групповые политики?

Всего записей: 1033 | Зарегистр. 30-05-2006 | Отправлено: 13:56 29-01-2007
Sk1f



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
gap5 я ошибся. Правильно будет так, как описал urel
 
 

Всего записей: 198 | Зарегистр. 04-04-2006 | Отправлено: 14:45 29-01-2007
gap5



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
urel
Ругается теперь так:
Line 13
Char 45
Error Expected ')'
Code 800A03EE
 

Цитата:
' These are the Names of Software I want to remove  
' and as they appear in Control Panel -> Add/Remove Softyware:  
strComputer ="."
 
Dim ArrOfProcessesToTerminate, strTargetProcToTerminate  
ArrOfProcessesToTerminate = Array("Sonork Server","Intel(R) PRO Network Connections 11.1.0.19")  
 
Set objWMIService = GetObject("winmgmts:" _  
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")  
 
For Each strTargetProcToTerminate In ArrOfProcessesToTerminate  
Set colProcessList = objWMIService.ExecQuery _  
("Select * from Win32_Product Where Name = "'" & strTargetProcToTerminate & "'")
 
For Each oProcess in colProcessList  
wscript.popup "oProcess: " & ThisOne _  
Chr(13) & "oProcess.InstallDate: " & oProcess.InstallDate _  
Chr(13) & "oProcess.InstallLocation: " &  
oProcess.InstallLocation _  
Chr(13) & "oProcess.Name: " & oProcess.Name _  
Chr(13) & "oProcess.Description: " & oProcess.Description  
oProcess.Uninstall()  
 
Next 'For Each oProcess In colProcesses  
 
Next 'For Each strTargetProc In arrTargetProcs  
 

Всего записей: 1033 | Зарегистр. 30-05-2006 | Отправлено: 15:10 29-01-2007
mistx

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Sk1f
urel
А можно ли тогда создать какой-нибудь bat файл
на сервере запустить его,и он бы выключил все компы кроме
себя?

Всего записей: 765 | Зарегистр. 13-01-2005 | Отправлено: 15:13 29-01-2007
Sk1f



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
mistx
Конечно. Можно создать скрипт, не обязатально .bat-ник. Перечислить компьютеры в теле скрипта, которые хочешь выключить:
 strComputer ="comp1"  
 strComputer ="comp2"  
 strComputer ="comp3"  
 strComputer ="comp4"  
и тд.
Не указываешь имена машин, к-е не хочешь чтобы выключались.  
Пример: strComputer="name server" и  strComputer="."  
И запустить скрипт.  
 
Добавлено:
 
gap5 в этой строчке ошибка
("Select * from Win32_Product Where Name = "'" & strTargetProcToTerminate & "'")
 
Попробуй заменить на эту  

Цитата:
 
("Select * from Win32_Product Where Name = """ & strTargetProcToTerminate & """)  
 

 
 

Всего записей: 198 | Зарегистр. 04-04-2006 | Отправлено: 15:29 29-01-2007 | Исправлено: Sk1f, 15:47 29-01-2007
gap5



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Sk1f
теперь line 13 char 81 unterminated string constant...
у вас там дебаггера нет под рукой? а то это как аборт по фотографии...

Всего записей: 1033 | Зарегистр. 30-05-2006 | Отправлено: 15:55 29-01-2007
   

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