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

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



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
%TIME% текущее время, %TIME:~0,-3% - время без долей сек.
%DATE% - текущая дата
- b - значит это же передается в %2, если %2 используется только для получения даты то используйте %DATE%
ЗЫ: и вот тут про батники можно посмотреть

Всего записей: 195 | Зарегистр. 10-10-2003 | Отправлено: 10:00 16-11-2006 | Исправлено: uZver, 10:26 16-11-2006
Plaston

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите пожалуйста решение следующей задачи.  
Есть сеть: 1 КД, ~500 компов, IP у всех статические. Необходимо на всех компах поменять маску (только маску, IP оставить старым). Так вот, помогите пожалуйста с написанием скрипта для решения данной задачи, потомучто руками менять на каждом компе сами понимаете... А может есть другой способ?

Всего записей: 49 | Зарегистр. 07-08-2006 | Отправлено: 10:07 16-11-2006
Geduc



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
uZver, спасибо большое! =)
А вот результат:
Просто создает несколько директорий и файл с информацией о создателе и времени.
Подробнее...

Всего записей: 26 | Зарегистр. 18-03-2006 | Отправлено: 10:45 16-11-2006
strizhakovs

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Люди подскажите, как поправить скрипт?
Есть скрипт который получает инфу об установленном на машине софте:
 
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTextFile = objFSO.CreateTextFile("c:\scripts\software.txt", True)
 
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colSoftware = objWMIService.ExecQuery _
    ("Select * from Win32_Product")
 
objTextFile.WriteLine "Caption" & vbtab & _
    "Description" & vbtab & "Identifying Number" & vbtab & _
    "Install Date" & vbtab & "Install Location" & vbtab & _
    "Install State" & vbtab & "Name" & vbtab & _  
    "Package Cache" & vbtab & "SKU Number" & vbtab & "Vendor" & vbtab _
        & "Version"  
 
For Each objSoftware in colSoftware
    objTextFile.WriteLine objSoftware.Caption & vbtab & _
    objSoftware.Description & vbtab & _
    objSoftware.IdentifyingNumber & vbtab & _
    objSoftware.InstallDate2 & vbtab & _
    objSoftware.InstallLocation & vbtab & _
    objSoftware.InstallState & vbtab & _
    objSoftware.Name & vbtab & _
    objSoftware.PackageCache & vbtab & _
    objSoftware.SKUNumber & vbtab & _
    objSoftware.Vendor & vbtab & _
    objSoftware.Version
Next
objTextFile.Close
 
 
ВОПРОС! Как изменить WMI запрос, чтобы получать этуже инфу но для удаленного компьютера???т.е. я хочу получить инфу о том какой софт стоит на удаленном компьютере...

Всего записей: 51 | Зарегистр. 26-09-2006 | Отправлено: 15:27 16-11-2006
Vby



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
strizhakovs
Похоже здесь поменять надо:

Цитата:
strComputer = "."

 
Должен иметь соостетствующие права на удаленной машине.

Всего записей: 781 | Зарегистр. 16-09-2004 | Отправлено: 15:45 16-11-2006
jONES1979



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
strizhakovs
 
уже пора осваивать теги more и code!

Всего записей: 324 | Зарегистр. 20-05-2005 | Отправлено: 16:30 16-11-2006
maGELan



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Plaston, боюсь что тебе ....как и мне (двумя страницами выше) не ответят
У меня похожая задача, но несколько сложнее...
Чтобы написать такой скриптик нужно знать имя подключения по локальной сети (а оно у половины людей будет называться "Локальная сеть", а у остальных как им угодно) на чем я собственно и застрял в решении своей задачи.  
 кстати повторю свой вопрос, раз уж он остался незамеченным)
 

Цитата:
Долго мурыжился, но так до конца и не нашел возможности переименовать имя подключения по локальной сети с текущего (которое может быть каким угодно) в "новое имя"
Помогите ПЖЛСТ сделать ЭТО при помощи командной строки.  
 
Нашел такой вот способ, НО он как-то не так (только с подтверждением или я не там ставлю "/y") срабатывет ...? (к слову, Нужен ли второй ключ моего скрипта?)
 
Код:
 
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}\{9DA79BA9-4817-4800-9425-30B4E7067E83}\Connection" /v Name /t reg_sz /d "Имя"
reg add "HKLM\SYSTEM\ControlSet001\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}\{9DA79BA9-4817-4800-9425-30B4E7067E83}\Connection" /v Name /t reg_sz /d "Имя"
 
 Задача стоит не сколько иначе ...  
1. Допустим у пользователя две сетевых карты из которых подключена к сети только одна (как определить активную ?) и переименовать именно ее?

 
 
Дальнейшее решение твоей задачи выглядит проще простого  
 

Код:
netsh interface ip set address name="Локальная сеть" source=static addr=10.55.22.100 mask=255.255.0.0
netsh interface ip set address name="Локальная сеть" gateway=10.55.0.1 gwmetric=1
netsh interface ip set dns name="Локальная сеть" source=static addr=81.25.32.34 register=PRIMARY
netsh interface ip add dns name="Локальная сеть" addr=81.25.32.9 index=2
netsh interface ip set wins name="Локальная сеть" source=static addr=none

 
думаю разберешься где здесь что?
 

Всего записей: 108 | Зарегистр. 19-11-2001 | Отправлено: 17:12 16-11-2006 | Исправлено: maGELan, 17:16 16-11-2006
strizhakovs

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ребят я немного сображаю и до этого использовал вот такой листинг для удаленного WMI запроса

Цитата:
 
strComputer = "computer hostname"
strUserName = "\administrator"
strPassword = "password"
Set objLocator = CreateObject("WbemScripting.SWbemLocator")
Set objWMIService = objLocator.ConnectServer(strComputer, "root\cimv2", strComputer & _
                                      strUserName, strPassword)
Set colItems = objWMIService.ExecQuery("Select * from Win32_Processor")
 

 
но такой запрос не работает в данном случае, применительно для вышеуказанного мной листинга с получением инфы о софте на удаленном компе ((
как нажно правльно составить WMI запрос?

Всего записей: 51 | Зарегистр. 26-09-2006 | Отправлено: 17:30 16-11-2006
Plaston

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
maGELan, кажется мне что дальнейшее решение задачи не выглядит проще простого. Маску нужно поменять одновременно на 500 компах!!! IP должен остаться старым, меняется только маска. Т.е. скрипт должен быть универсален, для любого IP, для любого названия соединения. Возможно ли такое ?

Всего записей: 49 | Зарегистр. 07-08-2006 | Отправлено: 09:59 17-11-2006
uZver



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

Цитата:
должен быть универсален, для любого IP, для любого названия соединения

DHCP


Всего записей: 195 | Зарегистр. 10-10-2003 | Отправлено: 12:47 17-11-2006
jONES1979



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
strizhakovs
 
ты должен сказать какую конкретно ошибку выдает. Это может быть просто связано с настройками DCOM. Даже хоть ты DomainAdmin, всё равно, если в этих настройках чего-т не так, будешь обламываться...

Всего записей: 324 | Зарегистр. 20-05-2005 | Отправлено: 14:23 17-11-2006
maGELan



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
на счет одновременно ты не уточнял ..., а только, на сколько я понимаю, твоя задача разрешима только в случае если у вас в сети поднят DHCP (я не волшебник, а тока учусь)

Всего записей: 108 | Зарегистр. 19-11-2001 | Отправлено: 15:42 17-11-2006
strizhakovs

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

Цитата:
ты должен сказать какую конкретно ошибку выдает. Это может быть просто связано с настройками DCOM. Даже хоть ты DomainAdmin, всё равно, если в этих настройках чего-т не так, будешь обламываться...

 
Как раз никаких ошибок и нету, скрипт отробатывает но объекты пустые
colItems, как и остальные используемые объекты выше, просто пустые

Всего записей: 51 | Зарегистр. 26-09-2006 | Отправлено: 16:30 17-11-2006
urel

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Plaston
как было сказано ранее внедрение DHCP упростит решение задачи сейчас и в дальнейшем
+ я бы еще порекомендовал добавить еще один контроллер
переходить на динамику я пытался так:

Цитата:
strComputer = "."
strOurNet="192.168.0."
 
Set Shell = WScript.CreateObject("WScript.Shell")
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
 
Set colNetAdapters = objWMIService.ExecQuery _
    ("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")
 
For Each objNetAdapter In colNetAdapters
    f=False
    If Not IsNull(objNetAdapter.IPAddress) Then  
        For i=LBound(objNetAdapter.IPAddress) to UBound(objNetAdapter.IPAddress)
            'WScript.Echo objNetAdapter.IPAddress(i)
            If InStr(objNetAdapter.IPAddress(i),strOurNet)>0 Then f=True    
        Next
    End If
    If f Then      
        errEnable = objNetAdapter.EnableDHCP()
        
        
        srtNetName = ""
        Set colItems = objWMIService.ExecQuery("Select * from Win32_NetworkAdapter")
        For Each objItem in colItems
            'WScript.Echo objItem.MACAddress &" - "& objNetAdapter.MACAddress &" - "& objItem.NetConnectionID
            If Not IsNull(objItem.NetConnectionID) Then
                If objNetAdapter.MACAddress=objItem.MACAddress Then  
                    srtNetName = objItem.NetConnectionID
                End If    
            End If
        Next
        'WScript.Echo srtNetName
        shell.run "cmd /C netsh interface ip set dns name=""" & srtNetName &""" source=dhcp",0,True
    End If  
     
Next

 
maGELan
 
кста - последний запрос дает имя подключения (srtNetName );)  
 
ЗЫ скрипт раздавался через политики состветственно

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



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

Цитата:
кста - последний запрос дает имя подключения (srtNetName );)  

 
мне лично она(команда) не дала или вернее дала не совсем то что от нее хотел
 
кста это не совсем то. напоминаю свою задачу:
1. получить имя действительного активного соединения (допустим у USER-а две сетевые карты или соединение переименовано.
2. переименовать его в "ИмяЛокальнойСети" для дальнейшей манипуляции.
 
если мона пример в CMD
 
сенк.

Всего записей: 108 | Зарегистр. 19-11-2001 | Отправлено: 18:58 17-11-2006
pe3yc



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


Цитата:
Хотелось бы иметь возможность автоматического заполнения этой формы при ее появлении.

WINDOWS XP
Click Start, Run and type CONTROL USERPASSWORDS2, and click Ok. Select the user account from the list (to which account you want to automatically logon). Uncheck Users must enter a user name and password to use this computer option, and click Ok. Type the user account password and complete the process.
For Windows XP Home, don't try to auto-login as the built-in Administrator, as you'll receive a restrictions error.

Всего записей: 2434 | Зарегистр. 25-07-2001 | Отправлено: 21:37 18-11-2006
jONES1979



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

Код:
on error resume next  

может ошибки все же есть, но от тебя скрываются?
 

Всего записей: 324 | Зарегистр. 20-05-2005 | Отправлено: 15:45 20-11-2006
Etalon

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Народ подскажите пожалуйста
Как из сценария на VBScript проверить доступен сетевой принтер или нет
Что нибудь типа
 
Если СетевойПринтерДоступен = Истина то
 Печатать "Сетвой принтер доступен"
Иначе
 Печатать "Сетвой принтер доступен"

Всего записей: 306 | Зарегистр. 03-02-2006 | Отправлено: 18:38 20-11-2006 | Исправлено: Etalon, 18:39 20-11-2006
strizhakovs

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

Цитата:
а не стоит у тебя директива  
 
Код:on error resume next  
 
может ошибки все же есть, но от тебя скрываются?  

 
Слушай, так и есть , что то я упустил
Появилась ошибка "Automation error "
Run-time error "-2147217407(80041001)"
 
Сам скрипт я из экселя запускал.

Всего записей: 51 | Зарегистр. 26-09-2006 | Отправлено: 13:02 21-11-2006 | Исправлено: strizhakovs, 13:03 21-11-2006
cluster

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ребят, подскажите, как у всех пользователей в АД в определённой OU и входящих в нёё OU, поменять web page?

Всего записей: 1720 | Зарегистр. 21-11-2003 | Отправлено: 17:11 21-11-2006 | Исправлено: cluster, 08:51 22-11-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