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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » Закладки » Автоматизация администрирования

Модерирует : lynx, Crash_Master, dg, emx, ShriEkeR

emx (13-12-2006 21:07): http://forum.ru-board.com/topic.cgi?forum=8&topic=19088#1  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

   

ooptimum



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

                               Коллеги-администраторы  ....  


Часть 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 подобный скриптовый язык с исходниками

    Дружественные темы :
  1. Автоматическая (unattended) установка Windows
  2. Интересные команды при работе с Linux
  3. Отличный сайт по скриптингу, и не только
  4. Использование KIX
  5. Использование WMI

 
>>HOW -  TO:
Создается по материалам данного топа

 
Надеюсь данная тема будет полезна для Вас.
 Предложения по реформированию шапки принимаю в ПМ Jovanotti

 

Всего записей: 2898 | Зарегистр. 30-05-2002 | Отправлено: 08:55 13-12-2002 | Исправлено: FreemanRU, 17:29 11-12-2006
Yourbill



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
powertim
К тому же непонятно в каком виде храниться админский пароль для RunAs??
Ну и для тренировки в пользовании встроенными командами винды, создай текстовик с масками удаляемых файлов типа:

Код:
 
*.tmp
*.bak
*.log
 

И прикрути этот список к комманде FOR.
Вообще красота получится
 
P.S. Можно еще взять бесплатную утилиту blat и бесплатный mail server... И отправлять себе на почтовый ящик все логи по зачистке файлов. А утром с умным видом их просматривать
В итоге получится, что то типа этого (ha - архиватор)

Код:
for /F "tokens=1" %%b in (этих_мочить.txt) do (del /q /s %%b >> user-01.log)
ha ae2 user-01 user-01.log
blat admin@my.domain.org -s "Отчет по User-01" -attach user-01.ha

P.P.S. Писал на скорую руку, мог ошибиться в мелочах, но в принципе должно работать  

Всего записей: 565 | Зарегистр. 11-03-2003 | Отправлено: 12:49 06-06-2006 | Исправлено: Yourbill, 12:58 06-06-2006
powertim

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
СПАСИБО ВСЕМ, вы правы, мы не ищем легких путей. НО Я ОДНОЗНАЧНО БЛАГОДАРЕН.

Всего записей: 4 | Зарегистр. 24-06-2005 | Отправлено: 17:24 06-06-2006
serstr

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Люди!!!
Помогите решить такую вот задачку.
Можно ли по средствам VBS получить текущий резмер mailboxa, каждого узера в AD?
И если можно, то подскажите как?
 
Забыл добавить Exchange Server - 2000!

Всего записей: 32 | Зарегистр. 26-04-2006 | Отправлено: 12:45 07-06-2006 | Исправлено: serstr, 12:52 07-06-2006
Vby



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
serstr
 
On Error Resume Next
Dim cComputerName
Const cWMINameSpace = "root/MicrosoftExchangeV2"
Const cWMIInstance = "Exchange_Mailbox"
cComputerName = "server"
 
Dim strWinMgmts        ' Connection string for WMI
Dim objWMIExchange    ' Exchange Namespace WMI object
Dim listExchange_Mailboxs    ' ExchangeLogons collection
Dim objExchange_Mailbox        ' A single ExchangeLogon WMI object
 
 
strWinMgmts = "winmgmts:{impersonationLevel=impersonate}!//"& _
cComputerName&"/"&cWMINameSpace
Set objWMIExchange =  GetObject(strWinMgmts)
 
If Err.Number <> 0 Then
  WScript.Echo "ERROR: Unable to connect to the WMI namespace."
Else
 
 
  Set listExchange_Mailboxs = objWMIExchange.InstancesOf(cWMIInstance)
 
  If (listExchange_Mailboxs.count > 0) Then
 
 
    For Each objExchange_Mailbox in listExchange_Mailboxs
 
 
       WScript.echo         "MailBox:  "& objExchange_Mailbox.MailboxDisplayName & "   " & "Size                     = " & _
       objExchange_Mailbox.Size
       '
    Next
  Else
 
    WScript.Echo "WARNING: No Exchange_Mailbox instances were returned."
  End If
End If
 

Всего записей: 781 | Зарегистр. 16-09-2004 | Отправлено: 14:23 07-06-2006 | Исправлено: Vby, 15:46 07-06-2006
serstr

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Проблема в том что Exchange 2000! НЕ поддерживает WMI!!!

Всего записей: 32 | Зарегистр. 26-04-2006 | Отправлено: 15:55 07-06-2006
AleXeyS55



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

Всего записей: 227 | Зарегистр. 30-01-2006 | Отправлено: 12:37 09-06-2006
Sk1f



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Думаю как бы сделать получше, быстрее и проще такое задание:.  
Есть группа. Нужно считать пользователей с нее. И потом пользоваталей воссоздать в другом домене.  
Можно было бы считать пользователей - создать отдельную OU, в ней создать копии нужных пользователей. А потом считать эту OU с помощью ldifde.  
 
Но на рабочем домене такие операции делать не хочется. И поэтому предлагается считать пользователей и потом их добавить в какой-то текстовой файл. И уже с этого файла считывая  sAMAccountName и DisplayName. Создать пользователей.
 
Пользователей считал, но проблема с добавлением в файл и потом считывания с него.  
Может быть лучше не в текстовый, а excel, чтобы потом меньше проблем было с поиском sAMAccountName и соответсвующих ему DisplayName!  

Всего записей: 198 | Зарегистр. 04-04-2006 | Отправлено: 12:39 09-06-2006 | Исправлено: Sk1f, 12:43 09-06-2006
Oldster



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

Цитата:
 
////////////////////////////////////////////////////////////////////////////  
// JScript  
//Этот скрипт предназначен для отправки e-mail с компьютера,  
//на котором не установлен SMTP-протокол  
///////////////////////////////////////////////////////////////////////////  
objEmail = WScript.CreateObject("CDO.Message");  
objEmail.From = "from@domain.ru";  
objEmail.To = "to@domain.ru";  
objEmail.Subject = "Бла-Бла-Бла";  
objEmail.Textbody = "Test";  
objEmail.AddAttachment("attach.txt");
 
objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2;  
objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "mail.domain.ru"  
objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25;  
objEmail.Configuration.Fields.Update();  
 
objEmail.Send();
 

это на JS но переписать на VBS - легко

----------
Ой не TCP моё IP (C) Диман

Всего записей: 1367 | Зарегистр. 08-01-2003 | Отправлено: 13:14 09-06-2006
Sk1f



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

Всего записей: 198 | Зарегистр. 04-04-2006 | Отправлено: 13:19 09-06-2006 | Исправлено: Sk1f, 13:53 09-06-2006
AleXeyS55



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Oldster
Спасибо Сейчас попробую
 
Добавлено:
Oldster
А как быть если у меня этот скрипт надо запускать в локальной сети и ссылки типа http://schemas.microsoft.com/cdo/configuration/smtpserverport наверное ничем не помогут? И логин с паролем тоже нужны обязательно для отправки.

Всего записей: 227 | Зарегистр. 30-01-2006 | Отправлено: 13:26 09-06-2006 | Исправлено: AleXeyS55, 13:45 09-06-2006
FreemanRU



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

Цитата:
ссылки типа  

Это не ссылка, а указание на схему CDO. Схема встроена в CDO, который в своб очередь есть на любой машине с ОС начиная с Windows 2000

----------
Если не получается с первого раза - прочти инструкцию. (с)
"Откуда нам знать, что такое война, если мы не знаем мира..."(с)
Записки

Всего записей: 3795 | Зарегистр. 16-07-2004 | Отправлено: 14:01 09-06-2006
Sk1f



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Всем скорейшего вечера.  
И есть вопрос -  
 

Цитата:
 
...
 Function CrFolder(path)
 
   Set objFolder = objFSO.CreateFolder(path)
   CreateFolderDemo = objFolder.Path
 End Function
 
RootFolder = "\\test\test_folder\"
     
   oFolder = RootFolder & "" & username
    Call CrFolder(oFolder)
...
 

 
Дальше еще на эту папку накладываются ограничения по правам доступа с помощью процедуры subinacl и xcacls. Возникает вопрос, так можно сделать?
 
 
 
 

Всего записей: 198 | Зарегистр. 04-04-2006 | Отправлено: 11:44 13-06-2006 | Исправлено: Sk1f, 12:27 13-06-2006
urel

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

Цитата:
wshell.Run "cmd.exe /c md " & DirName,0,True
wshell.Run "cmd.exe /c ""echo y| CACLS " & DirName & " /e /p " & objUser.sAMAccountName & ":C",0,False  

 
конечно папку можно и через fso сделать, но  как есть =)

Всего записей: 292 | Зарегистр. 16-09-2004 | Отправлено: 17:16 13-06-2006
tanay

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Такой вопрос.
На сервере есть винчестер и RAID-массив.
На винчестере один загрузочный системный раздел.
RAID виден как единый раздел, и подключен как каталог с диску "С", т.е. его как отдельный логический диск не видно.
 
Стоит вопрос о мониторинге свободного места на разделах.
Скрипт написал, но не знаю как определить размер свободного места на разделе, не подключенном как логический диск.
Что делать? Помогите.
 
Вариант с назначением буквы диска для раздела не подходит, так как таких серверов очень много.

Всего записей: 3 | Зарегистр. 13-06-2006 | Отправлено: 17:32 13-06-2006
GaDiNa



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Друзья.  
Не хочу постить дублей, поэтому прошу взглянуть на это:
" На терминальном сервере, в админской консоли, надо запустить reg-файл под профилем пользователя.. "
" возможность редактровать NTUSER.DAT с командной строки"
 
http://forum.ru-board.com/topic.cgi?forum=62&topic=7381&start=140#2

Всего записей: 1551 | Зарегистр. 17-06-2003 | Отправлено: 19:33 13-06-2006
Refugee

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
GaDiNa
запускаешь в цикле по юзерам что-то вроде:
reg LOAD HKU\User path_to_ntuser.dat
regedit /s myreg.reg
reg UNLOAD HKU\User
 
// в myreg.reg надо [HKEY_USERS\User\....
Пользователи, естественно, должны быть разлогинены.

Всего записей: 513 | Зарегистр. 31-03-2004 | Отправлено: 00:06 14-06-2006
urel

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

Цитата:
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
 
Set colDiskDrives = objWMIService.ExecQuery _
    ("Select * from Win32_PerfFormattedData_PerfDisk_LogicalDisk Where " _
        & "Name <> '_Total'")
 
For Each objDiskDrive in colDiskDrives
    Wscript.Echo "Drive Name: " & objDiskDrive.Name
    Wscript.Echo "Free Space: " & objDiskDrive.FreeMegabytes
Next

Всего записей: 292 | Зарегистр. 16-09-2004 | Отправлено: 11:19 14-06-2006
tanay

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Спасибо.
Прежде чем спросить, я искал решение, но дело в том, что в Win2k это не работает.
 
============================
Supported Platforms:
Windows Server 2003, XP - Yes
Windows 2000, NT 4.0, 98 - No
 
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
 
Set colDiskDrives = objWMIService.ExecQuery _
    ("Select * from Win32_PerfFormattedData_PerfDisk_LogicalDisk Where " _
        & "Name <> '_Total'")
 
For Each objDiskDrive in colDiskDrives
    Wscript.Echo "Drive Name: " & objDiskDrive.Name
    Wscript.Echo "Free Space: " & objDiskDrive.FreeMegabytes
Next
============================
 
Может, еще будут какие-нибудь соображения?

Всего записей: 3 | Зарегистр. 13-06-2006 | Отправлено: 12:29 14-06-2006
FreemanRU



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

----------
Если не получается с первого раза - прочти инструкцию. (с)
"Откуда нам знать, что такое война, если мы не знаем мира..."(с)
Записки

Всего записей: 3795 | Зарегистр. 16-07-2004 | Отправлено: 14:21 14-06-2006
Sk1f



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

Всего записей: 198 | Зарегистр. 04-04-2006 | Отправлено: 10:07 15-06-2006
   

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

Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » Закладки » Автоматизация администрирования
emx (13-12-2006 21:07): http://forum.ru-board.com/topic.cgi?forum=8&topic=19088#1


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru