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

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



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Коллеги, простой вопрос, может знает кто навскидку как он решается.
Необходимо пробежаться по определённой OU (и по всем OU внутри неё) в AD и выгрузить списком в текстовичёк User Logon Name всего того, что встретиться на пути.
 
Помогите, пожалуйста, кто знает как делать!
 
Добавлено:
Коллеги, помогите решить простую задачу: нужно пробежаться по определённой OU с пользователями (и всех вложенных в неё OU) и выгрузить в тектовичёк все имеющиеся в ней User Logon Name вида:
 
User1@Domain.Ru
User2@Domain.Ru

Всего записей: 818 | Зарегистр. 25-06-2003 | Отправлено: 17:38 17-05-2008 | Исправлено: PIL123, 18:08 17-05-2008
jONES1979



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
YURETS777
тебе зачем этот Shell.LocalMachine ? Чтобы узнать имя компа? Для этого полно других вариантов. К примеру:
 

Код:
 
  Set objNetwork = CreateObject("Wscript.Network")
  txtdoc_Comp.InnerHTML  = objNetwork.ComputerName ' !!!
  txtdoc_Domen.InnerHTML = objNetwork.UserDomain
  txtdoc_User.InnerHTML  = objNetwork.UserName
 

Всего записей: 324 | Зарегистр. 20-05-2005 | Отправлено: 09:44 19-05-2008
YNY

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

Цитата:
PIL123

ответ нв вскидку: тут (на форуме) был подобный скрипт, так что ишите и обрящите!

Всего записей: 476 | Зарегистр. 18-05-2006 | Отправлено: 10:06 19-05-2008
avoronov

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

Цитата:
PIL123

http://forum.script-coding.info/viewtopic.php?id=679
http://forum.script-coding.info/viewtopic.php?id=920
Думаю это как раз для тебя. Готовое

Всего записей: 10 | Зарегистр. 04-12-2007 | Отправлено: 10:08 19-05-2008
sVx



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

Цитата:
нужно пробежаться по определённой OU с пользователями (и всех вложенных в неё OU) и выгрузить в тектовичёк все имеющиеся в ней User Logon Name вида:  
 
User1@Domain.Ru  
User2@Domain.Ru


Код:
dsquery user [начальный_узел] -o upn -scope subtree -limit [число_объектов] > %systemdrive%\UserLogonName.txt  



Всего записей: 157 | Зарегистр. 17-06-2004 | Отправлено: 11:49 19-05-2008
Serg41

Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Уважаемые коллеги, подскажите, реально ли это и как это сделать:
 
есть файл сервер (server1), он меняется на другой(server2). Нужно незаметно все подменить у пользователей. С сетевыми дисками проблем нет, но есть беда с ярлыками и Excel файлами. Вот вопросик, как:
- поменять на компьютерах пользователей ярлыки с \\server1\share\... на \\server2\share\...
- и (самое важное) в Excel файлах поменять ссылки на файлах (в формулах)
 
Заранее спасибо.

Всего записей: 77 | Зарегистр. 18-09-2006 | Отправлено: 06:24 20-05-2008
kevinkf



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Serg41
по поводу как менять в самих файлах и ссылках не подскажу.
Но я посоветую менять не на server2 , а поднять DFS (Распределенная файловая система), чтоб потом небыло проблем в дальнейшем.

Всего записей: 308 | Зарегистр. 24-05-2004 | Отправлено: 06:49 20-05-2008
YNY

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

Цитата:
но почему то он задваивает,  

Цитата:
avoronov

 
у меня все нормально показвыает, если у меня есть виртуальные машины то и их IP светит, причем даже если не запущены, т.к. вкл виртуальные сетев адаптеры
 
Добавлено:

Цитата:
Serg41

Цитата:
- поменять на компьютерах пользователей ярлыки с ...

 
 
Allows you to create a shortcut programmatically.
<Creates a new shortcut, or opens an existing shortcut.>
<object.CreateShortcut(strPathname) >
 
Example
The following example demonstrates the creation of a shortcut to the script being run:
 
         set WshShell = WScript.CreateObject("WScript.Shell")
         strDesktop = WshShell.SpecialFolders("Desktop")
         set oShellLink = WshShell.CreateShortcut(strDesktop & "\Shortcut Script.lnk")
         
oShellLink.TargetPath = WScript.ScriptFullName
 
         oShellLink.WindowStyle = 1
         oShellLink.Hotkey = "CTRL+SHIFT+F"
         oShellLink.IconLocation = "notepad.exe, 0"
         oShellLink.Description = "Shortcut Script"
 
         oShellLink.WorkingDirectory = strDesktop
 
         oShellLink.Save
     

Всего записей: 476 | Зарегистр. 18-05-2006 | Отправлено: 09:01 20-05-2008
YURETS777



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Как при помощи VBS сделать Вывод сообщения без кнопки.
 
типа такого

Код:
 
 
    for i=1 to 29
             Installed=""
              Installed = MyShell.RegRead(keypath & HotFixName(i) & "\Installed")
              if (Installed<>"1") then
              WaitMessage "ВНИМАНИЕ!!! ИДЕТ УСТАНОВКА ОБНОВЛЕНИЙ, ПОЖАЛУЙСТА НЕ ВЫКЛЮЧАЙТЕ КОМПЬЮТЕР !!!" & "Установка Обновления" &  i & " из 29"
               qwe=MyShell.Run(PatchPath & np(i) & " /quiet /norestart",0,True)  
              end if     
        next
 
 

 
Или вывести сообщение и индикатор процента завершения.

Всего записей: 2161 | Зарегистр. 29-04-2005 | Отправлено: 19:45 21-05-2008
lavren



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Многоуважаемый ALL, помогите решить задачу:
Необходимо удалять ветки реестра в некоторых компьютеров в сети. Желательно чтобы список компов был отдельно (припустим в текстовом файле) и ветки реестра отдельно.
regedit.exe может импортировать файлы *.reg с командами удаления веток и в графическом режиме коннектиться к реестрам на других компах, а как реализовать это в батнике?

Всего записей: 545 | Зарегистр. 29-05-2007 | Отправлено: 10:41 22-05-2008
Serg41

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

Цитата:
YNY

спасибо за ответ, но решил делать по старинке...

Всего записей: 77 | Зарегистр. 18-09-2006 | Отправлено: 11:33 22-05-2008
YNY

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

Цитата:
WaitMessage

The WaitMessage function yields control to other threads when a thread has no other messages in its message queue. The WaitMessage function suspends the thread and does not return until a new message is placed in the thread's message queue.
 
лучше модифицируй вот это (от avoronov)  

Всего записей: 476 | Зарегистр. 18-05-2006 | Отправлено: 12:17 22-05-2008
YURETS777



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
YNY
 
Это скорее всего не подойдёт, потому что скрипт выполняется в составе групповой политики на компьютер, т.е. выполняется до логона.
 
Я просто не знаю, будет ли IE работать до логона.
 
Короче ситуация такая - групповая политика на компы расставляет хотфиксы, но некоторые нетерпеливые пользователи считают что комп запис и ресетом перегружают, не давая хотфиксам доставиться.
 
Нужно во время установки хотфиксов выставить плакат на весь экран что комп нельзя перегружать и обязательно дождаться установки всех хотфиксов.
 
Я вот что думаю, а что если в цикле отслеживать появление лога установки хотфикса, и при появлении такового прятать сообщения.
А для вывода сообщения написать что-нибудь на Дельфи.

Всего записей: 2161 | Зарегистр. 29-04-2005 | Отправлено: 22:27 22-05-2008
YNY

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

Цитата:
YURETS777

нуты блин ... ИСПОЛЬЗУЙ WSUS и все будет OK и никаких проблем с обновками!!!
ну а если так не имется самому все делать, то запускай с помощью:  
 
const intWindowStyle=3 'Activates the window and displays it as a maximized window.  
dim strCommand="c:\...\myscript.bat" '-*.bat; *.exe; ...  
 
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run(strCommand, [intWindowStyle], [bWaitOnReturn])  
 
- раскрывай на всё окно и в нем пиши че хош,
- теоретически (т.к. сам не пробовал) ты могешь КВ*.msi запускать с ключами инсталлера )
- я например выдавал WshShell.Popup("") -- оно само закрывается мона не давить ОК, т.к. мне наоборот не нужно было чтоб пользователь заморачивался лишний раз
 
 
Добавлено:
вообще-то есть давно уже "Patcher.cmd" поищи его

Всего записей: 476 | Зарегистр. 18-05-2006 | Отправлено: 07:50 23-05-2008
Cyril Konst



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Народ, такая задача для логон-скрипта терминального пользователя сервера терминалов:
1. Получить имя клиента.
2. В списке принтеров найти принтеры, в имени которых содержится имя клиента (это автоматически отображаемые принтеры, подключенные к тонким клиентам).
3. Для каждого такого принтера установить права доступа (типа расшарить) с помошью утилиты setprinter из Windows Resource Kit.
 
Проблемма в том, что устанавливать права для своих принтеров юзеры не могут.
Как быть?
 
Второй вариант - сажать скрипт на eventtrigger по событию создания принтера.

Всего записей: 634 | Зарегистр. 12-08-2003 | Отправлено: 10:42 23-05-2008 | Исправлено: Cyril Konst, 10:44 23-05-2008
YURETS777



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
YNY
 
Таки получилось    
IE прекрасно запустился до логона. правда в цикле перед созданием объекта IE пришлось поставить Sleep 200, в противном случае окошки запускались через одного( закрытие страницы требует время).
И если окошко принудительно закрыть (мышкой на крестик) то вываливается ошибка скрипта (objExplorer.Quit  типа объекта уже не существует)
Но это всё мелочи.
Спасибо за идею с Html
 
Скрипт теперь выглядит так:

Код:
 
    for i=1 to 6
                If NeedHf(i) then
'-------------------------------------------------------------
Wscript.Sleep 200  
Set objExplorer = WScript.CreateObject("InternetExplorer.Application")  
objExplorer.Navigate "about:blank "  
objExplorer.ToolBar = 0  
objExplorer.StatusBar = 0  
objExplorer.Width = 800  
objExplorer.Height = 600  
objExplorer.Left = 0  
objExplorer.Top = 0  
objExplorer.Visible = 1  
objExplorer.Document.Write "<br> <b style='color:blue;font-size:40pt'> ВНИМАНИЕ!!! ИДЕТ УСТАНОВКА ОБНОВЛЕНИЙ ОФФИСА, ПОЖАЛУЙСТА НЕ ВЫКЛЮЧАЙТЕ КОМПЬЮТЕР !!!  ДОЖДИТЕСЬ ЛОГИНА !!!" & i & " из 6" & "</b></br>"  
'--------------------------------------------------------------------------
qwe=MyShell.Run(PatchPath & np(i) & Kluc,0,True)  
objExplorer.Quit  
 
              end if     
    next
 
 

 
ЗЫ
 
WSUS-а пока нет, ожидается только через год и то при условии что скорость каналов будет поднята хотя-бы до 10 мегабит.
 

Всего записей: 2161 | Зарегистр. 29-04-2005 | Отправлено: 19:15 23-05-2008
YNY

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

Цитата:
 
WSUS-а пока нет,

на самом деле если компы слабые, то будут просто ох-е тормоза при накате обновок-это касяк микрософт

Всего записей: 476 | Зарегистр. 18-05-2006 | Отправлено: 06:08 27-05-2008
YURETS777



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

Цитата:
на самом деле если компы слабые, то будут просто ох-е тормоза при накате обновок-это касяк микрософт  

 
Компы нормальные, в среднем сел 2000 256 памяти винт 40 ОС - 2к
 
А обновки накатываются уже распакованные (типа  
OE6.0sp1-KB941202\update\update.exe
kb905646\ohotfix.exe)
 
сетка 2 мегабита удаленные, 100 мегабит локальные.
 
Все обновки на один инстал ставятся не более 20 минут, это в принципе нормально, причем юзвери предупреждены.
 
 

Всего записей: 2161 | Зарегистр. 29-04-2005 | Отправлено: 10:20 27-05-2008
Serg41

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

Цитата:
Allows you to create a shortcut programmatically.
<Creates a new shortcut, or opens an existing shortcut.>
<object.CreateShortcut(strPathname) >
 
Example
The following example demonstrates the creation of a shortcut to the script being run:
 
         set WshShell = WScript.CreateObject("WScript.Shell")
         strDesktop = WshShell.SpecialFolders("Desktop")
         set oShellLink = WshShell.CreateShortcut(strDesktop & "\Shortcut Script.lnk")
         
oShellLink.TargetPath = WScript.ScriptFullName
 
         oShellLink.WindowStyle = 1
         oShellLink.Hotkey = "CTRL+SHIFT+F"
         oShellLink.IconLocation = "notepad.exe, 0"
         oShellLink.Description = "Shortcut Script"
 
         oShellLink.WorkingDirectory = strDesktop
 
         oShellLink.Save  

 
извеняюсь, не понял как работает:
результатом получаем ярлык на скрипт, но я не понял где здесь ссылка на него задается,  
--------------------------------------
и еще вопрос: есть подключенные сетевые диски, у них меняется путь (через DFS не прокатывает)
надо проверить у юзера путь сетевых дисков и если в пути присутствует (напр. \\serv1\...) то поменять на (\\server2\share\...), а если не поподает под условие то его не трогать.

Всего записей: 77 | Зарегистр. 18-09-2006 | Отправлено: 08:41 28-05-2008
YNY

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

Цитата:
Serg41
 
Junior Member

звиняй, но если ранее уже было нечто подобное, то я не всегда эго в отв вкл, +  
вот тут указывается  
set oShellLink = WshShell.CreateShortcut(strDesktop & "\Shortcut Script.lnk") -- где  сам ярлык, а то что он запускает указывается в
 
" Объект"
oShellLink.TargetPath = WScript.ScriptFullName
 
" Рабочая папка"
oShellLink.WorkingDirectory = strDesktop
-------
РС: если ты ваще не рубишь в скриптинге или програмировании, то лучше ознакомься, тем более если у тя есть ворд то труда это не составит, т.к. в нем есть редактор HTML!!!    
 
Добавлено:

Цитата:
YURETS777

я говорил про залив обновок через SUS и селероны будут тормозить в момент наката обновок от SUS - проверено на практике, по кр мере P4 /512МБ точно не тормозит
 
Добавлено:

Цитата:
Serg41


Цитата:
надо проверить у юзера путь сетевых дисков и

вот тебе пример мапинга - просмотра списка, сетевых дисков
 
Добавлено:
ОТКЛючаем сетевой диск
 
ПОДКЛючаем сетевой диск
 
Добавлено:
естественно, то что хотим отк/подкл должно реально существовать

Всего записей: 476 | Зарегистр. 18-05-2006 | Отправлено: 09:21 28-05-2008
   

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