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

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



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
такие монстры собрались, и никто не знает как перенести аккаунты...
shame on you.

Всего записей: 26 | Зарегистр. 15-04-2005 | Отправлено: 10:27 20-04-2005
Uriu

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
AlexSSS
Может быть можно использовать (только предполагаю)
Set obj= objWMIService.Get("Win32_Product")
Там  есть метод obj.Install("путь")
В WMI CIM Studio посмотрите.
 
 
 
 

Всего записей: 340 | Зарегистр. 25-11-2004 | Отправлено: 05:02 22-04-2005 | Исправлено: Uriu, 05:16 22-04-2005
AlexSSS

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
проблема с инсталляцией драйвера принтера под XP
 
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
objWMIService.Security_.Privileges.AddAsString "SeLoadDriverPrivilege", True
 
Path = "C:\PI1800"
 
Set objDriver = objWMIService.Get("Win32_PrinterDriver")
objDriver.SupportedPlatform = "Windows NT x86"
objDriver.Version = "3"
objDriver.Name = "Minolta Pi1800"
objDriver.FilePath = Path
objDriver.InfName = "ntprint.inf"
errResult = objDriver.AddPrinterDriver(objDriver)
 
пробовал кучу вариантов, в лучшем случае выдает код ошибки 87

Всего записей: 747 | Зарегистр. 26-06-2004 | Отправлено: 17:36 25-04-2005 | Исправлено: AlexSSS, 22:03 25-04-2005
RussianBear



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Возникла необходимость прочитать SID локальной группы на W2k.
Может кто нибудь делал такое на vbs или других скриптовых языках?

Всего записей: 220 | Зарегистр. 04-04-2003 | Отправлено: 21:28 25-04-2005
AlexSSS

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
RussianBear
 
List Local Groups Using WMI
 
On Error Resume Next
 
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery _
    ("Select * from Win32_Group  Where LocalAccount = True")
 
For Each objItem in colItems
    Wscript.Echo "Caption: " & objItem.Caption
    Wscript.Echo "Description: " & objItem.Description
    Wscript.Echo "Domain: " & objItem.Domain
    Wscript.Echo "Local Account: " & objItem.LocalAccount
    Wscript.Echo "Name: " & objItem.Name
    Wscript.Echo "SID: " & objItem.SID
    Wscript.Echo "SID Type: " & objItem.SIDType
    Wscript.Echo "Status: " & objItem.Status
    Wscript.Echo
Next

Всего записей: 747 | Зарегистр. 26-06-2004 | Отправлено: 22:01 25-04-2005 | Исправлено: AlexSSS, 01:59 26-04-2005
RussianBear



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
AlexSSS
 
Спасибо, добрый человек!!!!
 
Вообще в конце концов сам нашел этот примерчик...стыжусь...искать надо было лучше.
 
Еще раз СПАСИБО что откликнулся!

Всего записей: 220 | Зарегистр. 04-04-2003 | Отправлено: 08:15 26-04-2005
Jovanotti



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

Цитата:
Машинный логон проходит от имени SYSTEM, а у него по умолчанию нет доступа в сеть

Возможно.
Как у меня  ....
Домен, 2003, клиенты XP SP2
   GPO Connect_network_drive  (Раздел Computer Configurationstartup script )   --   написал пару строк подключения сетевого диска.  
Скрипт выполняется на этапе  старта машины.
Подключается диск без проблем.  
Единственное что метка у него прописывается Disconnected network drive  
Но доступен и все ОК.
 

Всего записей: 718 | Зарегистр. 22-12-2002 | Отправлено: 10:36 26-04-2005
FreemanRU



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

Цитата:
Машинный логон проходит от имени SYSTEM, а у него по умолчанию нет доступа в сеть

Как это нет???? Есть конечно. логин происходит от имени COMP_NAME$. Н-р это хорошо видно на примере IIS, когда тот складывает логи в SQL.

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

Всего записей: 3794 | Зарегистр. 16-07-2004 | Отправлено: 10:47 26-04-2005 | Исправлено: FreemanRU, 10:47 26-04-2005
WildCat



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Ткните пожалуйста в решение: надо на нескольких десятках компов в домене добавить ключик в registry. Active Directory нет -- домен под Самбой.

Всего записей: 883 | Зарегистр. 16-10-2001 | Отправлено: 11:10 26-04-2005
AlexSSS

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
WildCat, клиенты XP?
в этом случае достаточно с помощью PsExec (из PsTools, Sysinternals - www.sysinternals.com) на удаленном компе запустить либо скрипт, который сделает все, что надо, либо вообще REG файл, который занесет нужные значения в реестр.
 
Либо это можно сделать с помощью скрипта с WMI, который будет подключаться к удаленному компу. Практически любой скрипт с WMI начинается с  
strComputer = "."
strComputer можно ставить и удаленный компьютер, напр. strComputer = "comp_ivana"
 
Само собой, и в первом и во втором случае нужно иметь учетную запись, которая является локальным админом на удаленном компе
 

Всего записей: 747 | Зарегистр. 26-06-2004 | Отправлено: 11:27 26-04-2005 | Исправлено: AlexSSS, 11:28 26-04-2005
Jovanotti



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Для  реализации удаленного выполнения команды на клиенте  
(в нашем случае: пропись в реестр ключа) необходимо

  1. Утилита PSEXEC из пакета PSTOOLS www.sysinternals.com  
  2. несколько CMD файлов такого содержания
  3. start.cmd --- стартовый файл запускаи (модуль подключения и доставки)

    Код:
     
    @echo on
    rem Параметры коммандной строки запуска данного файла
    rem параметр %1-admin_name %2-admin_pass
    rem Подкючаем сетевой диск целевой машины
    net use r: \\comp-3\admin$\system32 /user:%1 %2
    rem Копируем рабочие файлы
    copy install.cmd r:\ >nul
    copy settings.reg r:\ >nul
    rem Выполняем рабочие файлы
    psexec \\studi-3 install.cmd
    rem Отключаем диск
    net use r: /delete
     

     
  4. install.cmd --- файл действия (пропись ключа реестра)

    Код:
     
    @echo on
    regedit.exe /s settings.reg
    del settings.reg  >nul
     




                 Также смотреть скрипт для домена


Всего записей: 718 | Зарегистр. 22-12-2002 | Отправлено: 15:38 26-04-2005 | Исправлено: Jovanotti, 16:19 27-04-2005
WildCat



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Хм, а вот что PsExec говорит:
 
===
PsExec v1.58 - Execute processes remotely
Copyright (C) 2001-2005 Mark Russinovich
Sysinternals - www.sysinternals.com
 
 
Error establishing communication with PsExec service on COMP:
All pipe instances are busy.
===
 
Что это может быть?

Всего записей: 883 | Зарегистр. 16-10-2001 | Отправлено: 13:09 27-04-2005
AlexSSS

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

Всего записей: 747 | Зарегистр. 26-06-2004 | Отправлено: 13:42 27-04-2005
Jovanotti



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
WildCat
Пробуй вначале  просто подконектись  АДМИНОМ   к машине  

Код:
net use r:  \\comp\c$ /user:admin  pass
 

Затем уже прогу пробуй.

Всего записей: 718 | Зарегистр. 22-12-2002 | Отправлено: 15:44 27-04-2005
AlexSSS

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
в ветке
http://forum.ru-board.com/topic.cgi?forum=8&topic=10659#1
второе сообщение, я написал небольшую заметку по логон скриптам
 
заметка размещена там, а не здесь, так как она подводит некоторую базу под последующие скрипты на KIX, которые будут размещены там.

Всего записей: 747 | Зарегистр. 26-06-2004 | Отправлено: 23:10 27-04-2005
Mishgunnn

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Никто не знает как узнать LastLogon для компьютера? В ADSI Edit у computer'ов есть такой атрибут, но реально он не работает, ошибка выдается. Поискал в гугле, нет ничего по моей проблеме. Вот тут http://beta.communities.jp.msn.com/WindowsScript/general.msnw?action=get_message&mview=0&ID_Message=8925&LastModified=4675463253467036695
 
У товарища тоже  не работает. У меня такая же ошибка про неподдерживаемый метод. Некоторые решают такую проблему через PwdLastSet, но даже если это работает, у меня есть терминальные серверы и если пользователь поменяет пароль в терминальном сервере,то у рабочего компа этот атрибут не смениться.
 
Сейчас сделал логон-скрипт, который создает файл с названием как имя компа, потом с помощью этих файлов можно устаревшие компы отловить. Но придется ждать несколько месяцев. Может кто-нибудь все таки знает как LastLogon для компьютера узнать?

Всего записей: 14 | Зарегистр. 13-05-2004 | Отправлено: 15:58 28-04-2005
AlexSSS

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
> В ADSI Edit у computer'ов есть такой атрибут, но реально он не работает
лови работающий скрипт. Вставь его в excel и получишь все даты
 
правда почему надо брать LastLogin, хотя в ADSI Edit виден аттрибут LastLogon, я так и не понял
 
Sub test()
 
Cells.ClearContents
On Error Resume Next
 
Set objOU = GetObject("LDAP://cn=computers,dc=dom1,dc=dom2")
   
n = 0
For Each obj In objOU
    n = n + 1
    Cells(n, 1).Value = obj.cn
    Cells(n, 2).Value = obj.LastLogin
Next
 
End Sub

Всего записей: 747 | Зарегистр. 26-06-2004 | Отправлено: 16:07 28-04-2005 | Исправлено: AlexSSS, 20:39 28-04-2005
Mishgunnn

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
AlexSSS - тебе гранд-биг-респект и мега-спасибо!!!
Я все перепутал и там действительно все как ты говоришь.
И твоя процедурка работает замечательно!!!!
Оказывается я не только начинающий скриптолог, но и какой-то невнимательный

Всего записей: 14 | Зарегистр. 13-05-2004 | Отправлено: 14:53 02-05-2005
AlexSSS

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mishgunnn, здесь дело не только в твоей невнимательности
В ADSI Edit и на компьютере и на юсере действительно стоит свойство LastLogon. Почему работает LastLogin (которого там нет!!!), я сам не понимаю ;o) Просто вспомнил, что у меня был работающий скрипт, который брал время последнего логона пользователя и там у меня почему-то стоял LastLogin

Всего записей: 747 | Зарегистр. 26-06-2004 | Отправлено: 15:22 02-05-2005
Mishgunnn

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
AlexSSS
Может еще раз поможешь? С компьютерами разобрался, взялся за юзеров, а с ними еще непонятнее Нужно получить список пользователей и время их последнего логона. Написал код, а вместо lastLogon пустые значения получаются, а пользователи нормально всталяются. Если заменить lastLogon на lastLogin, то пишет ошибка в строке где Set objRecordset = objCommand.Execute написано (это конечно если ошибки включить). Совсем что-то тоскливо с этими логонами....
 
On Error Resume Next
Const ADS_UF_ACCOUNTDISABLE = 2
Set objConnection = CreateObject("ADODB.Connection")
objConnection.Open "Provider=ADsDSOObject;"
Set objCommand = CreateObject("ADODB.Command")
objCommand.ActiveConnection = objConnection
objCommand.CommandText = _
    "<GC://dc=my domain ,dc=ru>;(objectCategory=User)" & _
        ";samAccountName,lastLogon;subtree"
Set objRecordset = objCommand.Execute
n = 0
While Not objRecordset.EOF
    n = n + 1
    Cells(n, 1).Value = objRecordset.Fields("samAccountName").Value
    Cells(n, 2).Value = objRecordset.Fields("lastLogon").Value
    objRecordset.MoveNext
Wend

Всего записей: 14 | Зарегистр. 13-05-2004 | Отправлено: 16:34 02-05-2005
   

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