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

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

 

Всего записей: 3796 | Зарегистр. 16-07-2004 | Отправлено: 17:27 11-12-2006 | Исправлено: Smitis, 12:30 20-08-2008
jONES1979



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
inew и pusiyjan пример массового создания юзеров в ad,  
в качестве исходных данных - текстовый файл (можно заменить на любой массив строк)
комментарии:
1. пароль пользователю устанавливается ПОСЛЕ того как создана учетка, то есть после вызова  objLeaf.SetInfo .  Иначе у меня генерило ошибку.
2. тут же можно посмотреть как устанавливаются флаги на свойстве "UserAccountControl" В примере - устанавливается "неустаревающий" пароль
3. так же: Созданная учетка активируется (т.к. по умолчанию она заблокирована, locked) и добавляется в указанную группу
 
Подробнее...

Всего записей: 324 | Зарегистр. 20-05-2005 | Отправлено: 00:10 18-09-2007 | Исправлено: jONES1979, 00:11 18-09-2007
pusiyjan



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
jONES1979
спасибо за пример, теперь вопрос - если использовать русские контейнеры для пользователей т.е. например подраздел "бухгалтерия" в корне АД тогда у меня не получается скриптом вкинуть туда пользователя - выдает ошибку может это надо делать передавая данный контейнер пользователя через переменную?!

Всего записей: 823 | Зарегистр. 17-12-2003 | Отправлено: 16:52 18-09-2007
awsswaawsswa

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
klimusu
 
вот примерно то, что ты хотел
Generating RDP Files using VBSCRIPT  
скрипт не проверял - возможны ошибки
 
On Error Resume Next
StrOU = InputBox("Please Enter in the name of the OU that you wish to query, this needs to be in the format OU=<Name>")
 
Set objRootDSE = GetObject("LDAP://rootDSE")
strADsPath = "LDAP://" & strOU & "," & objRootDSE.Get("defaultNamingContext")
Set objDomain = GetObject(strADsPath)
On Error Resume Next
Dim objConn, objRecordSet  
Set wshNetwork = WScript.CreateObject("WScript.Network")
strDomainName = wshNetwork.userDomain
 
Set Filesys = CreateObject ("Scripting.FileSystemObject")  
Set objCommand = CreateObject("ADODB.Command")  
Set objConn = CreateObject("ADODB.Connection")  
objConn.Open "Provider=ADsDSOObject;"  
Set objCommand.ActiveConnection = objConn  
objCommand.CommandText = "SELECT Name FROM "+"'"+strADsPath+"'"+" WHERE objectClass = 'COMPUTER'"
'MsgBox objCommand.CommandText
objCommand.Properties("searchscope") = 2
objCommand.Properties("Page Size") = 1000
Set objRecordSet = objCommand.Execute  
While Not objRecordSet.EOF  
strComputer = objRecordSet.Fields("Name")' ObjFile.Readline
Set objFileOut = Filesys.CreateTextFile(strComputer & ".rdp", TRUE)
objFileOut.Write "screen mode id:i:2" & vbcrlf
objFileOut.Write "desktopwidth:i:1280" & vbcrlf
objFileOut.Write "desktopheight:i:1024" & vbcrlf
objFileOut.Write "session bpp:i:32" & vbcrlf
objFileOut.Write "winposstr:s:0,1,9,302,809,923" & vbcrlf
objFileOut.Write "full address:s:" & strComputer & vbcrlf
objFileOut.Write "compression:i:1" & vbcrlf
objFileOut.Write "keyboardhook:i:2" & vbcrlf
objFileOut.Write "audiomode:i:2" & vbcrlf
objFileOut.Write "redirectprinters:i:0" & vbcrlf
objFileOut.Write "redirectcomports:i:0" & vbcrlf
objFileOut.Write "redirectsmartcards:i:1" & vbcrlf
objFileOut.Write "redirectclipboard:i:1" & vbcrlf
objFileOut.Write "redirectposdevices:i:0" & vbcrlf
objFileOut.Write "drivestoredirect:s:" & vbcrlf
objFileOut.Write "displayconnectionbar:i:1" & vbcrlf
objFileOut.Write "autoreconnection enabled:i:1" & vbcrlf
objFileOut.Write "prompt for credentials:i:0" & vbcrlf
objFileOut.Write "negotiate security layer:i:1" & vbcrlf
objFileOut.Write "remoteapplicationmode:i:0" & vbcrlf
objFileOut.Write "domain:s:" & strDomainName & vbcrlf  
objFileOut.Write "alternate shell:s:" & vbcrlf
objFileOut.Write "shell working directory:s:" & vbcrlf
objFileOut.Write "disable wallpaper:i:0" & vbcrlf
objFileOut.Write "disable full window drag:i:0" & vbcrlf
objFileOut.Write "allow desktop composition:i:1" & vbcrlf
objFileOut.Write "allow font smoothing:i:1" & vbcrlf
objFileOut.Write "disable menu anims:i:0" & vbcrlf
objFileOut.Write "disable themes:i:0" & vbcrlf
objFileOut.Write "disable cursor setting:i:0" & vbcrlf
objFileOut.Write "bitmapcachepersistenable:i:1" & vbcrlf
objFileOut.Write "gatewayhostname:s:" & vbcrlf
objFileOut.Write "gatewayusagemethod:i:0" & vbcrlf
objFileOut.Write "gatewaycredentialssource:i:4" & vbcrlf
objFileOut.Write "gatewayprofileusagemethod:i:0" & vbcrlf
objFileOut.Write "EnableCredSSPSupport:i:0" & vbcrlf
objFileOut.close
Set objFileOut = nothing
objRecordSet.MoveNext  
Wend  
Wscript.echo "The Script has Completed - RDP File created"
Set wshNetwork = Nothing

Всего записей: 91 | Зарегистр. 06-10-2004 | Отправлено: 07:15 19-09-2007
Der Meister

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
1216 скриптов, извлеченных из Community-Submitted Scripts Center

Всего записей: 117 | Зарегистр. 06-08-2005 | Отправлено: 01:10 20-09-2007
SergIRBIS



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Кто-нить может подсказать от чего это может быть и как избавиться от бага :
У меня есть логон скрипт который добовляет кометы рядом с имененм компа в сетевом окружении.
 
Для того чтобы он нормально выполнялся у пользователей ему нужно перезапускать сервис - сервер (У юзера на это прав нет), для этого я создал политику которая разрешает всем прошедшим проверку перезапускать эту службу.  
 
Но в действительности после включения компьютера прав на перезапуск службы нет..... я добавил политику с принудительным обновлением политики безопасности копьютера через 5 минут и о чудо если зайти под пользователем через 5 минут то есть права на перезапуск службы.....  
 
У кого какие соображения как это исправить веть не заставишь всех ждать 5 минут да и обновление политики так часто это не есть гуд...

Всего записей: 52 | Зарегистр. 08-05-2007 | Отправлено: 09:57 20-09-2007
jONES1979



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
pusiyjan про русские названия - ничего не скажу... Опиши ошибку, что конкретно пишет?
 
Добавлено:
Der Meister Сорри, файлик скачивается до 160-220 килобайт и обрывается с ошибкой. Пробовал раз 5-8. Можешь перевыложить на рапиду? Заранее пасиба!

Всего записей: 324 | Зарегистр. 20-05-2005 | Отправлено: 18:51 20-09-2007 | Исправлено: jONES1979, 00:54 21-09-2007
YNY

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

Цитата:
SergIRBIS

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

Цитата:
Shuva
 
ForAppending 8 --- Open a file and write to the end of the file (пишет только в конец, а не туда куда хочешь).

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



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Установка портмаппинга на удаленную машину (аля ~Прокси)
 
Из start.vbs запускается RemoteRun.vbs (Как объеденить код????)
В RemoteRun.vbs указать свой прокси. Runas.exe - Для консперации, не доменный же светить в логах...
 
start.vbs :

Код:
 
Dim WshShell, ObjFSO, Systemroot  
Set WshShell = CreateObject("WScript.Shell")  
set objFSO = CreateObject("Scripting.FileSystemObject")  
 
 
strComputer = "XXXXX"  
appl="cmd /C wscript.exe RemoteRun.vbs"
pass="XXXXXX"  
users="XXXXXX"  
systemroot = WshShell.ExpandEnvironmentStrings("%Systemroot%")
 
Const OverwriteExisting = TRUE  
 
 
objFSO.CopyFile "tcppm.exe" , "\\" & strComputer & "\admin$\tcppm.exe" , OverwriteExisting  
objFSO.CopyFile "RemoteRun.vbs" , systemroot & "\system32\RemoteRun.vbs" , OverwriteExisting    
Set objFSO = NOTHING  
 
wscript.sleep(1000)  
 
 
Set objWMIService = GetObject _  
      ("winmgmts:\\.\root\cimv2:Win32_Process")  
      errReturn = objWMIService.Create _  
("cmd.exe /c ""title RUNAS_AUTO & runas.exe /netonly /user:" & users & " """ & appl & """""", Null, Null, intProcessID)  
wscript.Sleep(1000)  
wshShell.AppActivate "RUNAS_AUTO"  
wshShell.SendKeys pass & "{ENTER}"  
 

 
 
RemoteRun.vbs:

Код:
 
strComputer = "XXXXX"
Set objWMIService = GetObject _
    ("winmgmts:\\" & strComputer & "\root\cimv2:Win32_Process")
errReturn = objWMIService.Create _
("cmd /C tcppm -i 53 proxy 3128", Null, Null, intProcessID)
 

 
tcppm _ttp://3proxy.ru/doc/man8/tcppm.8.html

Всего записей: 345 | Зарегистр. 12-11-2002 | Отправлено: 13:07 21-09-2007 | Исправлено: abasov, 06:25 24-09-2007
Der Meister

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
jONES1979
На рапиду не могу - проблемы
Отсюда качается без проблем
CommunitySubmittedScripts
 
Обновлять буду 1 раз в неделю (Community-Submitted Scripts Center обновляют каждый понедельник)

Всего записей: 117 | Зарегистр. 06-08-2005 | Отправлено: 14:01 21-09-2007
GoodBoy

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите, в каком редакторе лучше писать на VBScript, чтобы выскакивали подсказки и можно было произвести отладку программы? Сам пока использую Far.

Всего записей: 7 | Зарегистр. 14-03-2006 | Отправлено: 20:29 22-09-2007
mozers



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
GoodBoy
Специализированный Adersoft VB Script Editor
или универсальный SciTE. Есть, конечно и другие...

Всего записей: 2187 | Зарегистр. 03-01-2002 | Отправлено: 21:15 22-09-2007
north_crow

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ребята!
как с помощью vbs можно посмотреть пермишены на ветку реестра?

Всего записей: 172 | Зарегистр. 04-12-2002 | Отправлено: 21:44 22-09-2007
YNY

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

Цитата:
GoodBoy

в ворде есть редактор HTML и там мона писать: обрезаная визуал студия )

Всего записей: 476 | Зарегистр. 18-05-2006 | Отправлено: 14:14 23-09-2007
GoodBoy

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

Цитата:
Специализированный Adersoft VB Script Editor
или универсальный SciTE . Есть, конечно и другие...

Из них больше понравился VB Script Editor, т.к. в нем есть пошаговая отладка скрипта. Перехожу на него.
 
YNY

Цитата:
в ворде есть редактор HTML и там мона писать: обрезаная визуал студия )

Наверно ты про Microsoft Script Editor 10.0. В нем тоже есть пошаговая отладка, но нет подсказок по возможным методам и свойствам объекта.
 
Народ, а может есть редактор, как среда Визуал Бэйсик, чтобы и пробелы ставил красиво, и регистр в словах редактировал? Три вышеозвученных редактора этого не делают.

Всего записей: 7 | Зарегистр. 14-03-2006 | Отправлено: 19:57 23-09-2007
YNY

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

Цитата:
нет подсказок по возможным методам и свойствам объекта.

зато если выделить тег и нажать F1, то ты получишь справку и тем более (если просто нажмешь F1 без выделения тега или функции) там все просто написано и про св-ва и про методы, а если к примеру ты после _типа_ "document" поставишь "." то как в ВБейсике увидешь методы и прочее а ранее тут был выложен не плохой наборец файлов с пом кот мона посм все св-ва и т.п. про люб объект

Всего записей: 476 | Зарегистр. 18-05-2006 | Отправлено: 13:19 24-09-2007
awsswaawsswa

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
' Подключение принтеров в зависимости от параметра Location в AD
' например Бухгалтерия и Приёмка
 
option explicit
Dim  Path, strComputerDN, objSysInfo, objComputer,  Network
Dim count
Dim objWMIService,colInstalledPrinters,objPrinter  
Dim PrinterName
Dim temp_bool
Dim strComputer
 
 
sub IsPrinterConnect( PrinterName,temp_bool )  
    on error resume next
    set count=0
   strComputer = "."
    Set objWMIService = GetObject("winmgmts:" _
   & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colInstalledPrinters =  objWMIService.ExecQuery _
   ("Select * from Win32_Printer")
For Each objPrinter in colInstalledPrinters
   If (objPrinter.Name=PrinterName ) then count=count+1
'   Wscript.Echo "Name: " & objPrinter.Name
Next
   if (count >0) then  temp_bool  = true else temp_bool =false
end sub
 
sub ConnectPrinter ( PrinterName )
    on error resume next
           Network.AddWindowsPrinterConnection PrinterName
end sub
 
sub ConnectDefaultPrinter ( PrinterName )
    on error resume next
           Network.AddWindowsPrinterConnection PrinterName
           Network.SetDefaultPrinter PrinterName
end sub
 
on error resume next
 
 
Set Network = CreateObject("Wscript.Network")
Path = Network.ComputerName
Set objSysInfo = CreateObject("ADSystemInfo")
strComputerDN = objSysInfo.ComputerName
Set objComputer = GetObject("LDAP://" & strComputerDN)
'Назначаем необходимый для установки сетевой принтер
'в зависимости от значения поля Location
 
Select Case objComputer.Get("Location")
 
    Case "Бухгалтерия"
call  IsPrinterConnect( "\\Server-1\HP1022", temp_bool)
if (temp_bool=false)then call  ConnectDefaultPrinter("\\Server-1\HP1022")
 
' а сюда подключаем два принтера - первый по умолчанию
    Case "Приёмка"
call  IsPrinterConnect( "\\Server-2\HP1320", temp_bool)
if (temp_bool=false)then call ConnectPrinter( "\\Server-2\HP1320")
call  IsPrinterConnect( "\\Server-3\HPLJ2300", temp_bool)
if (temp_bool=false)then call ConnectDefaultPrinter( "\\Server-3\HPLJ2300")
 
    Case Else
WScript.Quit
    End Select

Всего записей: 91 | Зарегистр. 06-10-2004 | Отправлено: 15:24 24-09-2007
jONES1979



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
GoodBoy PrimalScript - дюже хороший редактор  
http_://enfull.com/english/Programming/%7B83FD34D0-6B29-4E63-8128-DCA25A304DDB%7D.htm
 
Добавлено:
awsswaawsswa пора осваивать теги, например  [more] свой длинный код [/more]

Всего записей: 324 | Зарегистр. 20-05-2005 | Отправлено: 17:53 25-09-2007 | Исправлено: jONES1979, 18:01 25-09-2007
rosalin



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ребята есть какой нибудь скрипт для отключеня компов по сети  
 
но только при простое допустим 2 часа
 
Добавлено:
просто некотрые юзеры леняться выключать свои компьютеры

Всего записей: 2588 | Зарегистр. 15-04-2003 | Отправлено: 19:03 25-09-2007
yazzi

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

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

скрипт должен смотреть какие какой юзер сидит на компьютере, на машине где стоит зр он показывает активного пользователя а на windows 2000 показывает только пользователь с админскими правами вот  
 
 
Добавлено:
GoodBoy
Мне VBSEdit нравиться

Всего записей: 98 | Зарегистр. 14-08-2007 | Отправлено: 20:18 25-09-2007
VirwolfLEOne

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Самый замечательный скрипт shutdown.exe. Кроме серверов, в шедулет таск, работает безотказно И воще: все гениальное - ПРОСТО

Всего записей: 33 | Зарегистр. 28-08-2007 | Отправлено: 23:10 25-09-2007
   

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