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

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



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

Цитата:
Пишется логон скрипт, который проверяет  во всех ветках  
[HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Accounts]

А вот здесь можно поподробнее.

Всего записей: 170 | Зарегистр. 06-10-2003 | Отправлено: 22:00 16-03-2005
AlexSSS

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Garreth
Открой Regedit на машине, на которой есть мейловая учетная запись и в ветке HKEY_CURRENT_USER дай поиск по имени этой учетной записи (или IP почтового сервера).
Поиском найдешь, где именно в реестре находятся учетные записи. Для OE6 это будут
[HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Accounts\00000001]
....
[HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Accounts\000000XX]
На каждую учетную запись один ключ (KEY). На этом ключе есть стринговые значения  
POP3 Server
SMTP Server
Вот именно их тебе и надо проверять и при необходимости переписывать новые значения.
 
Если раньше с реестром скриптами не работал, будет проще не проверять все имеющиеся KEY в [HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Accounts\], а проверить наличие  
[HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Accounts\00000001]
[HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Accounts\00000002]
[HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Accounts\00000003]
(столько, сколько у пользователей может быть максимально учетных записей)
 
PS. Если POP3 Server и SMTP Server на ключе отсутствуют, значит это не почтовая учетная запись. таким же образом прописываются новостные (newsgroup) учетные записи.

Всего записей: 747 | Зарегистр. 26-06-2004 | Отправлено: 22:18 16-03-2005
Garreth



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

Цитата:
Открой Regedit на машине, на которой есть мейловая учетная запись и в ветке HKEY_CURRENT_USER дай поиск по имени этой учетной записи (или IP почтового сервера).  
Поиском найдешь, где именно в реестре находятся учетные записи. Для OE6 это будут  
[HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Accounts\00000001]  
....  
[HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Accounts\000000XX]  
На каждую учетную запись один ключ (KEY). На этом ключе есть стринговые значения  
POP3 Server  
SMTP Server  
Вот именно их тебе и надо проверять и при необходимости переписывать новые значения.  

Да это и так понятно.

Цитата:
Если раньше с реестром скриптами не работал, будет проще не проверять все имеющиеся KEY в [HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Accounts\], а проверить наличие  
[HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Accounts\00000001]  
[HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Accounts\00000002]  
[HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Accounts\00000003]  
(столько, сколько у пользователей может быть максимально учетных записей)

А вот в этом вся и загвоздка. Для меня по крайней мере. у одного 00000001, у другого 00000002 - как это проверить? И со скриптами дейстительно не занимался - все больше спортивным администрированием занимался

Всего записей: 170 | Зарегистр. 06-10-2003 | Отправлено: 22:28 16-03-2005
AlexSSS

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Garreth
 
> Для меня по крайней мере. у одного 00000001,  
>у другого 00000002 - как это проверить?  
просто проверяешь первый десяток на значения POP3 Server и SMTP Server.
Это IMHO более простой способ. Чуть сложнее, зато более идеалогически правильным будет Enemerating всех KEY и проверка на всех значения POP3 Server и SMTP Server.
 
у тебя сейчас какие-то логонные скрипты есть?
 
Я пишу в основном на KIX Script, если сам сможешь разобраться, как именно их ставить логон скриптами, могу помочь с самим скриптом.
 
Если логон скриптов сейчас никаких нет и раньше с ними не работал, есть другой вариант - просто выложить скрипт где-то в сети и просто оповестить пользователей, что если у них не работает почта, они должны запустить такой-то файл на таком-то диске в такой-то папке.
 
Могу прикинуть и как это можно сделать на VB Script или WSH, но по читабельности он наверняка будет заметно хуже и сложнее.
 
Добавлено:
Garreth
кстати, нашел тот старый скрипт на KIX Script
 
' новый адрес сервера
$MailServer= "NEW.NEW.NEW.NEW"
 
' Проверка учетных записей для Outlook 2000
$Index = 0
$Accounts= "HKEY_CURRENT_USER\Software\Microsoft\Office\Outlook\OMI Account Manager\Accounts"
$KeyName = ENUMKEY($Accounts, $Index)
$Res= ver_account()
 
' Проверка учетных записей для OE6
$Index = 0
$Accounts= "HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Accounts"
$KeyName = ENUMKEY($Accounts, $Index)
$Res= ver_account()
 
function ver_account()
       WHILE $KeyName<>""
              $Server= ReadValue($Accounts+'\'+$KeyName, "Pop3 Server")
              IF $Server = "OLD.OLD.OLD.OLD"
                     $Res = WriteValue($Accounts+'\'+$KeyName, "Pop3 Server", $MailServer, REG_SZ)
              ENDIF
              $Server= ReadValue($Accounts+'\'+$KeyName, "SMTP Server")
              IF $Server = "OLD.OLD.OLD.OLD"
                     $Res = WriteValue($Accounts+'\'+$KeyName, "SMTP Server", $MailServer, REG_SZ)
              ENDIF
              $Index = $Index + 1
              $KeyName = ENUMKEY($Accounts, $Index)
       LOOP
EndFunction

Всего записей: 747 | Зарегистр. 26-06-2004 | Отправлено: 22:42 16-03-2005 | Исправлено: AlexSSS, 23:06 16-03-2005
Garreth



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

Цитата:
у тебя сейчас какие-то логонные скрипты есть?  

да вот как-то без надобности... ( Нет, сейчас нет.

Цитата:
Если логон скриптов сейчас никаких нет и раньше с ними не работал, есть другой вариант - просто выложить скрипт где-то в сети и просто оповестить пользователей, что если у них не работает почта, они должны запустить такой-то файл на таком-то диске в такой-то папке.  

Плохой вариант. Это уже телефонное администрирование - зайдите туда, найдите то, нажмите сё.... уровень пользователей еще оч низок.
 
Если нетрудно по времени и затратам, то помоги, пожалуйста.

Всего записей: 170 | Зарегистр. 06-10-2003 | Отправлено: 22:50 16-03-2005
AlexSSS

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Garreth
взгляни в мое верхнее сообщение, я там успел добавить сам скрипт, пока ты писал ответ ;o)
правда форум нагло сьел все отступы, которые делали текст читабельным, но разобраться все равно можно. Либо давай мне свой мейл, пришлю на него файл скрипта.

Всего записей: 747 | Зарегистр. 26-06-2004 | Отправлено: 23:00 16-03-2005 | Исправлено: AlexSSS, 23:03 16-03-2005
leputain



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Собиралка логов: (запускать из-под админа)
код
 
Добавлено:
Все WScript.Echo это так для диагностики.
arrComputers - массив компов, откуда собирать
strBackup - куда скидывать дампы локально, соответственно меняем fso.MoveFile строку
в той-же (fso.MoveFile) строке \\\\HOME\\eventlog\\ - это шара
 
теперь на очереди пинг компьютеров перед сбором и ведение текстового лога.





замечание за нарушение пункта 3.9 Правил форума. Исправлено.

кстати, лучше было бы не копировать код сюда, а продолжать в теме Сбор логов из Event Log на центральный сервер.

dg

Всего записей: 1434 | Зарегистр. 24-11-2002 | Отправлено: 04:10 17-03-2005 | Исправлено: dg, 10:05 17-03-2005
LittleJohnny



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Можно ли установить VPN-соединение через скрипт?

Всего записей: 18 | Зарегистр. 02-09-2001 | Отправлено: 09:42 17-03-2005
kibkalo



Убью Билла
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
LittleJohnny - поиграйся с запуском файла C:\Documents and Settings\All Users\Application Data\Microsoft\Network\Connections\Pbk\rasphone.pbk - сначала не из скрипта, чтобы понять какое соединение выбирать, затем в скрипте уже

Всего записей: 2342 | Зарегистр. 10-04-2002 | Отправлено: 13:30 17-03-2005
skylined

Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
LittleJohnny
самый простой способ ИМХО
 
rasdial <имя соединения> <имя юзера> <пароль>

Всего записей: 294 | Зарегистр. 27-06-2003 | Отправлено: 19:23 17-03-2005
alecsandrb

Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Подскажите, пожалуйста, скрипт которым я смог назначить переменные окружения для пользователя домена (Пример: TEMP=C:\temp, TMP=C:\temp и т.д.). Если это можно сделать через групповые политики то подскажите как?
И еще каким образом назначить пользователю перенаправление папок (если можно пример).

Всего записей: 36 | Зарегистр. 03-09-2003 | Отправлено: 12:38 18-03-2005
AlexSSS

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
alecsandrb
Для Win9X это делается c помощью winset.exe
winset USERNAME="Vasja"
 
входит она в состав Win98 или ее надо искать в инете - не помню

Всего записей: 747 | Зарегистр. 26-06-2004 | Отправлено: 12:52 18-03-2005
alecsandrb

Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
А для пользователей Win2k/XP как на контроллере домена переменные окружения установить?

Всего записей: 36 | Зарегистр. 03-09-2003 | Отправлено: 14:10 18-03-2005
YFred



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Помогите пожалуйста...
Есть такая задачка:
Мне привозят комп, переставляю Виндузу (с нуля). На этом компе необходимо установить сетевой принтер.
Вопрос:  
1. Как установить сетевой принтер, если компьютер в данный момент не в сети?  
                         или
2. Возможно ли написать скрипт/батник для установки принтера после подключения компа в сетку.

Всего записей: 210 | Зарегистр. 03-03-2005 | Отправлено: 14:29 18-03-2005
AlexSSS

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
alecsandrb
> А для пользователей Win2k/XP как на контроллере
> домена переменные окружения установить?
этого я так и не нашел. Ставил переменные окружения, однако они сохранялись только в текущей сессии скрипт. После закрытия скрипта они пропадали
 
Посмотри реестр, возможно их можно прописать через него. Но я сам этого не пробовал
добавлено - нашел [HKEY_CURRENT_USER\Environment]
Если записать туда значение, то они появятся после следующего логона пользователя.  
 
YFred
> Возможно ли написать скрипт/батник для установки
> принтера после подключения компа в сетку.  
Для Windows 2000/XP без проблем
 
Set WshNetwork = CreateObject("WScript.Network")
WshNetwork.AddWindowsPrinterConnection "\\PrintServer1\Xerox300"
WshNetwork.SetDefaultPrinter "\\PrintServer1\Xerox300"
 
Это и создаст соединение и скопирует драйвера с сервера
 
Для Win98 IMHO самый простой вариант - устанавливаешь нужный драйвер на компе, который в сетке. Делаешь экспорт веток реестра, где прописался этот принтер. Находишь в Windows\System все файлы, которые относятся к принтеру.
А скриптом копируешь эти файлы на машину и импортируешь ветки реестр.
Я раньше так делал, чтобы на все машины сразу подключить 3 принтера. Но это было давно, подробностей толком не помню

Всего записей: 747 | Зарегистр. 26-06-2004 | Отправлено: 14:55 18-03-2005 | Исправлено: AlexSSS, 15:01 18-03-2005
YFred



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
AlexSSS
Извени если мой вопрос покажется глупым, но как запустить это:

Цитата:
Set WshNetwork = CreateObject("WScript.Network")  
WshNetwork.AddWindowsPrinterConnection "\\PrintServer1\Xerox300"  
WshNetwork.SetDefaultPrinter "\\PrintServer1\Xerox300"
???
Я сохраняю в файл с расширением .js запускаю - ошибка.

Всего записей: 210 | Зарегистр. 03-03-2005 | Отправлено: 15:42 18-03-2005
AlexSSS

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
> Я сохраняю в файл с расширением .js запускаю - ошибка.
дай расширение VBS

Всего записей: 747 | Зарегистр. 26-06-2004 | Отправлено: 15:54 18-03-2005
alecsandrb

Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Кто-нибудь может подсказать как можно получить OU для пользователя Username в виде текстовой строки. OU может быть вложенной и хотелось бы получить полный вариант: OU1/OU2/.. .

Всего записей: 36 | Зарегистр. 03-09-2003 | Отправлено: 12:15 19-03-2005
Jovanotti



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
alecsandrb
Может поможет ?
http://www.osp.ru/win2000/worknt/qna/410_9.htm

Всего записей: 718 | Зарегистр. 22-12-2002 | Отправлено: 13:01 19-03-2005
AlexSSS

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
alecsandrb
вставь в Эксель следующий макрос
distinguishedName - то, что тебе нужно
добавив в запрос дополнительные поля, можно получить любую другую инфу из AD
 
Sub getuserinfo()
    Cells.Clear
     
    Set objConnection = CreateObject("ADODB.Connection")
    objConnection.provider = "ADsDSOObject"
    objConnection.Open ("Active Directory Provider")
 
    CommandText = "Select cn, name, distinguishedName"
    CommandText = CommandText + " from 'LDAP://DC=main,DC=blrt'"
    CommandText = CommandText + " where objectClass='person' and objectClass<>'computer'"
    CommandText = CommandText + " ORDER BY cn"
 
    Set objRecordset = CreateObject("ADODB.Recordset")
    objRecordset.Open CommandText, objConnection
 
    n = 1
    While Not objRecordset.EOF
        Cells(n, 1).Value = objRecordset.fields("cn").Value
        Cells(n, 2).Value = objRecordset.fields("Name").Value
        Cells(n, 3).Value = objRecordset.fields("distinguishedName").Value
        objRecordset.MoveNext
        n = n + 1
    Wend
End Sub

Всего записей: 747 | Зарегистр. 26-06-2004 | Отправлено: 13:52 19-03-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