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

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

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

Цитата:
скрипт ничего не выводит.

Цитата:
YURETS777

, смотри содержимое переменной sValue !
 
 
 
Добавлено:

Цитата:
Vetkol

ексли у тя сеть валится и ты думанещь что XP гонит, то юзай Пингвинятину.
а если в че, то смотри как службы воркают и не глючит ли "Обозреватель компов (Computer Browser)" и подобные ей.
Снач настройки проверь!!!  
 
Добавлено:

Цитата:
Cyril Konst


Цитата:
При подключении через терминал

кокой именно терминал, точней терминальный клиент, если стандартный ремот десктоп винды, то ...

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



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
YNY
 
Попробовал через WMI, очень понравилось как оно работает но выводит только софт, проинсталлированный MSI-ками, половина софта не видна.
Как при помощи WMI вывести весь софт?
 
скрипт такой:
 
Set colSoftware = objWMIService.ExecQuery ("Select * from Win32_Product")
For Each objSoftware in colSoftware
   objTextFile.WriteLine objSoftware.Caption & vbtab & objSoftware.Vendor & vbtab & objSoftware.Version & vbtab & objSoftware.InstallDate & vbtab & objSoftware.InstallLocation & vbtab & objSoftware.PackageCache
Next

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



Старик
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Господа, есть задача:
как узнать серийные номера в установленной винде и M$ офисе? Про существование программ, которые это делают я знаю, но это не вариант. Надо удаленно запустить их на филиалах и сохранить (отправить по почте). Желательно скриптом.

----------
Ой не TCP моё IP (C) Диман

Всего записей: 1367 | Зарегистр. 08-01-2003 | Отправлено: 11:35 10-05-2008
gap5



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Можно как то передать юзеру сообщение от имени system?
Т.е., от имени системы стартует vbs скрипт, по итогам работы выдается MsgBox, но юзер его не видит, видит только тот юзер, под чьим именем стартовал скрипт.

Всего записей: 1033 | Зарегистр. 30-05-2006 | Отправлено: 11:05 11-05-2008
YNY

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

Цитата:
YURETS777

доработай вот это (вр небыло самому доделать)
'________________________________________________
 
const HKEY_LOCAL_MACHINE = &H80000002
const REG_SZ = 1
const REG_EXPAND_SZ = 2
const REG_BINARY = 3
const REG_DWORD = 4
const REG_MULTI_SZ = 7
strComputer = "."
Set objReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\default:StdRegProv")
 
strKeyPath = "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall"
 
objReg.EnumKey HKEY_LOCAL_MACHINE, strKeyPath, arrSubKeys
 
WScript.Echo "Subkeys under " & "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall"
 
For Each subkey In arrSubKeys
    WScript.Echo subkey
    strKeyPath2 = strKeyPath &"\"& subkey
        objReg.EnumValues HKEY_LOCAL_MACHINE, strKeyPath2, arrValueNames, arrValueTypes
        For I=0 To UBound(arrValueNames)
                WScript.Echo "Value Name: " & arrValueNames(I)  
                Select Case arrValueTypes(I)
                        Case REG_SZ
                              WScript.Echo "Data Type: String"
                        Case REG_EXPAND_SZ
                             WScript.Echo "Data Type: Expanded String"
                     Case REG_BINARY
                                 WScript.Echo "Data Type: Binary"
                        Case REG_DWORD
                                WScript.Echo "Data Type: DWORD"
                        Case REG_MULTI_SZ
                                WScript.Echo "Data Type: Multi String"
                End Select  
'_________________________________________________

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



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
подскажите, а есть ли софт, который постоянно мониторит запущенные процессы и, сравнивая с белым списком, извещает по почте или еще как админа при запуске чего-то неизвестного?

Всего записей: 349 | Зарегистр. 18-12-2002 | Отправлено: 15:44 12-05-2008
Vetkol



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
YNY
 
пингвинов для юзеров? Вы, никак, изволите смеяться? ) Им даже солнце особо не поставишь, вопить будут ))
 
Кроме того, тут сочетание Интел-Асер-Вынь играет Причём, больше первые двое, скорее всего, чудят. И я просил тут помощи В НАПИСАНИИ по алгоритму решения проблемы СКРИПТА.  
С настройками абсолютно точно порядок Всё по дефолту. И по дефолту всё изначально работает.

Всего записей: 78 | Зарегистр. 08-03-2005 | Отправлено: 17:42 12-05-2008
YURETS777



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
YNY
 
Скрипт по разбору UnInstall я сделал.
Теперь задача - как сделать сортировку.
 

Код:
 
 
strValueName = "DisplayName"
strValueName2 = "DisplayVersion"
strValueName3 = "UninstallString"
strValueName4 = "SystemComponent"
strValueName5 = "ParentDisplayName"
 
oReg.EnumKey HKEY_LOCAL_MACHINE, strKeyPath, arrSubKeys  
strInfo=strInfo + vbCrLf+  "Список установленного ПО Полный список !!!"  
strInfo=strInfo + vbCrLf+  "===================="  
For Each subkey In arrSubKeys
if Left(subkey,2) <> "KB"  Then
     sbbkey = strKeyPath & "\" & subkey
     intRes = oReg.GetDWORDValue(HKEY_LOCAL_MACHINE,sbbkey,strValueName4,BinarValue)
     intRes2 = oReg.GetStringValue(HKEY_LOCAL_MACHINE,sbbkey,strValueName5,strValue2)
if (intRes <> 0) and (intRes2 <> 0)  Then
       oReg.GetStringValue HKEY_LOCAL_MACHINE,sbbkey,strValueName,strValue
 if strValue <> nul then
                               strInfo=strInfo + vbCrLf + strValue
       oReg.GetStringValue HKEY_LOCAL_MACHINE,sbbkey,strValueName2,strValue
            if strValue <> nul then
                               strInfo=strInfo + "    |-=Версия-> " + strValue
            else
                               strInfo=strInfo + "    |-=Версия->None"
            end if
       oReg.GetStringValue HKEY_LOCAL_MACHINE,sbbkey,strValueName3,strValue
            if strValue <> nul then
                               strInfo=strInfo + "    |-=Строка удаления-> " + strValue
            else
                               strInfo=strInfo + "    |-=Строка удаления->None "
            end if
 else
     if BinarValue <> 1 Then
                             objTextFile.WriteLine "Системный компонент не 1 ->" & sbbkey
     end if
 end if
end if
 
 

Всего записей: 2161 | Зарегистр. 29-04-2005 | Отправлено: 17:47 12-05-2008 | Исправлено: YURETS777, 18:08 12-05-2008
YNY

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

Цитата:
Теперь задача - как сделать сортировку.

Эээээ, какова рода сортировку если не трудно?  
В общих чертах: пиши сначало в массив, там отсотрируй как хош, азатем в файл пиши )    
 
Добавлено:
вообще-то все For... закрываются Next (я сам не скопировал-поторопился)
вообще -то GetDWORDValue и GetStringValue, и т.п. лучше бы ты в селекте использовал-смотрится лучше, а резултат вконце цикла "For Each subkey In arrSubKeys" пиши в массив.

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



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Нужна сортировка по "DisplayName"
А массив содержит только название раздела.

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

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

Цитата:
А массив содержит
 
а твой собственный массив может что хочешь содержать
dim MySoftListArr()
...
Redim MySoftListArr(Ubound(arrSubKeys),4)
For Each subkey In arrSubKeys
n=0
...
'вконце цикла "For Each subkey In arrSubKeys" пишиv в массив
 
MySoftListArr(n,0)=... 'DisplayName
MySoftListArr(n,1)=... 'DisplayVersion
...  
MySoftListArr(n,4)=... 'ParentDisplayName
n=n+1
Next
' затем делаешь сортировку ...
' затем пишешь в файл
(учше 1 скрипт для всего софта)

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

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
если в "subkey" численные индексы, то n мона не испть )

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



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Еще один вопрос по скриптам
Имеется скрипт, который прекрасно работает на XP SP3, но вываливается на ошибку на Windows 2000 SP4 RU
 
Ошибка такая:
Невозможно создание объекта контейнером ActiveX: 'Shell.LocalMachine'
 
Скрипт такой:
 
'on error resume next
Set WshNetwork = WScript.CreateObject("WScript.Network")
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set WshShell = Wscript.CreateObject("Wscript.Shell")
Dim WshShell
Dim objComputer
Dim strComputer
Dim objUser
strUserName = "Pupkin"
strPassword = "123"
 
 
    On Error Resume Next
 
    Set objComputer = CreateObject("Shell.LocalMachine")
        strComputer = objComputer.MachineName
    Set objComputer = Nothing
 
    Set objUser = GetObject("WinNT://" & strComputer & "/" & strUserName & ", user")
        objUser.SetPassword strPassword
        objUser.SetInfo
    Set objUser = Nothing
 
    If Err.Number Then
        WScript.Echo "Ошибка №" & Err.Number  & " , " & Err.Description
        MyErr = Err.Number
        Err.Clear
    End If
 

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



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Народ, что можете предложить по такой задаче: поиск в doc-файле определенного слова (словосочетания), в куске текста, что находится перед этим словом - поиск фраз из массива?
Может прога какая это умеет или есть готовый скрипт?
P.S. Это все из командной строки или простым запуском программы (скрипта).

Всего записей: 2917 | Зарегистр. 30-10-2001 | Отправлено: 20:14 14-05-2008 | Исправлено: valhalla, 20:16 14-05-2008
Oldster



Старик
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
valhalla
первое что приходит на ум:
скриптом открываем док., и там делаем поиск... в принцмпе можно накидать скрипт.
 
Добавлено:
Вот для начала:
http://www.whatis.ru/reg/reg_s9.shtml

----------
Ой не TCP моё IP (C) Диман

Всего записей: 1367 | Зарегистр. 08-01-2003 | Отправлено: 21:14 14-05-2008
aleksiom

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

Цитата:
Невозможно создание объекта контейнером ActiveX: 'Shell.LocalMachine'  

http://forum.ru-board.com/topic.cgi?forum=8&topic=1908&start=1720

Всего записей: 2403 | Зарегистр. 04-04-2004 | Отправлено: 22:04 14-05-2008
Bugavka

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Профи, помогите. Не могу установить Дубльгис 3.0 через ГП. Либо оболочка ставится отдельно от базы, а потом приходиться дописывать установку базы в политику, либо никак ): Происходит вроде из-за того что база не дожидается установки оболочки. Как заставить их запуститься последовательно?

Всего записей: 21 | Зарегистр. 15-05-2008 | Отправлено: 08:39 15-05-2008 | Исправлено: Bugavka, 10:08 15-05-2008
YNY

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

Цитата:
YURETS777

Set objComputer = CreateObject("Shell.LocalMachine")
 
я просмотрел все св-ва объекта Shell и негде LocalMachine не нашел
под ХР работае ск всего т.к. установлен какой-то фикс или .NetFramework
согласно источника
http://www.microsoft.com/technet/scriptcenter/scripts/desktop/info/default.mspx?mfr=true
под 2К и не должно воркать )
 
Добавлено:
//
http://www.microsoft.com/technet/scriptcenter/guide/sas_wsh_crve.mspx?mfr=true
 
For example, this WSH script uses ADSI to create a user account in Active Directory:
 
Set objOU = Wscript.GetObject("LDAP://OU=management,dc=fabrikam,dc=com")
Set objUser = objOU.Create("User", "cn=MyerKen")
objUser.Put "sAMAccountName", "myerken"
objUser.SetInfo
 
\\

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



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Мне не нужно в AD, мне нужно поменять локальную учетную запись на рабочей станции, а входит она в домен или нет это не важно.

Всего записей: 2161 | Зарегистр. 29-04-2005 | Отправлено: 09:00 16-05-2008
avoronov

Newbie
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
ребята. Есть проблема, суть такова, что необходимо заменить ipconfig из CMD на скрипт, выдающий все IP адреса у имеющихся Ethernet адаптеров.
Вот написал скрипт, который выводит в окно IE, но почему то он задваивает, у некторых затраивает значения и т.п. одного и тоже же адаптера. Что не так, думаю, что с циклом, но так все в порядке
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
 
Set IPConfigSet = objWMIService.ExecQuery _
    ("Select * from Win32_NetworkAdapterConfiguration Where IPEnabled=TRUE")
 Set objExplorer = WScript.CreateObject("InternetExplorer.Application")
objExplorer.Navigate "about:blank "
objExplorer.ToolBar = 0
objExplorer.StatusBar = 0
objExplorer.Width = 700
objExplorer.Height = 300
objExplorer.Left = 0
objExplorer.Top = 0
Do While (objExplorer.Busy)
    Wscript.Sleep 200
Loop
objExplorer.Visible = 1
objExplorer.Document.Write "Ваш IP адрес:<br>"
 
For Each IPConfig in IPConfigSet
    If Not IsNull(IPConfig.IPAddress) Then  
        For Each IPAddress In IPConfig.IPAddress
            objExplorer.Document.Write  "<b style='color:red'>IP:"&  IPAddress & "</b><br>"
    WScript.Sleep 500  
 
 
        Next
    End If
Next
 
Вот подумал еще, что может данные берутся еще и из реестра.. может там еще какие-либо конфигурации..

Всего записей: 10 | Зарегистр. 04-12-2007 | Отправлено: 10:48 16-05-2008 | Исправлено: avoronov, 12:06 16-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