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

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

 

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



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
YNY
Чет я не поянл а как его объединить с тем скриптом? Т.е. где указать рабочую папку в твоем скрипте то?...

Всего записей: 374 | Зарегистр. 16-08-2005 | Отправлено: 09:32 10-04-2009
YNY

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

Цитата:
DiZka

в своем примере удаляешь все ниже слов ' Удалить файлы старше N дней
и копируешь на это место все, что я написал начиная с Function MapWorkFolder(NFtoMp)

Всего записей: 476 | Зарегистр. 18-05-2006 | Отправлено: 11:37 15-04-2009
DiZka



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

Код:
 
' ----------
' Начало основной секции. Отсюда начнется выполнение при запуске скрипта.
Set FSO = CreateObject("Scripting.FileSystemObject")
' директория, где будут храниться бэкапы.
sDir = "C:\test"
Set objDir = GetFolder(sDir)
DeleteOlderFiles(objDir)
 
' ---------- Секция функций
 
' Получить файл
Function GetFile(sFile)
On Error Resume Next
 
Set FSO = CreateObject("Scripting.FileSystemObject")
Set GetFile = FSO.GetFile(sFile)
if err.number <> 0 then
WScript.Echo "Error Opening file " & sFile & VBlf & "["&Err.Description&"]"
Wscript.Quit Err.number
end if
End Function
 
' Получить папку
Function GetFolder (sFolder)
On Error Resume Next
 
Set GetFolder = FSO.GetFolder(sFolder)
if err.number <> 0 then
WScript.Echo "Error Opening folder " & sFolder & VBlf & "["&Err.Description&"]"
Wscript.Quit Err.number
end if
End Function
 
' удалить один файл (имя файла передается в sFile)
Sub DeleteFile(sFile)
On Error Resume Next
 
FSO.DeleteFile sFile, True
if err.number <> 0 then
WScript.Echo "Error Deleteing file " & sFile & VBlf & "["&Err.Description&"]"
Wscript.Quit Err.number
end if
End Sub
 
' Удалить файлы старше N дней
Function MapWorkFolder(NFtoMp)
    KolFilesInMpF=0
 for each efile in NFtoMp.Files
     KolFilesInMpF=KolFilesInMpF+1
 next    
'msgbox  "В рабочей папке содержится" & KolFilesInMpF & "файлов"
MapWorkFolder=KolFilesInMpF
end Function
 
' Удалить файлы старше N дней  
SUB DeleteOlderFiles(objDir)  
    ' просматриваем все файлы в директории
if MapWorkFolder(objDir)<> 3 then  
' если файлов, например не 3, то выходим из процедуры DeleteOlderFiles  
  exit sub
else
'- *** тут твое удаление
for each efile in objDir.Files  
' используем DateLastModified, а не DateCreated, поскольку  
' DateCreated не всегда возвращает правильную дату  
FileDate = efile.DateLastModified  
Age = DateDiff("d",Now,FileDate)  
' в данном случае возраст файла не больше N дней  
If Abs(Age)>2 Then  
DeleteFile(efile)  
End If  
next
'- ***  
end if
End SUB
 

 
Запускается молча и ничего не происходит....

Всего записей: 374 | Зарегистр. 16-08-2005 | Отправлено: 12:29 15-04-2009
rosalin



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ребята может кто сталкивался есть папка с файлами вида  
 
файлов несколько сотен тысяч
 
pd50000000001.msg
pd50000000002.msg
pd50000000003.msg
pd50000000004.msg
pd50000000005.msg
pd50000000006.msg
pd50000000007.msg
 
это почтовые сообщения подскажите скриптик который при запуске заархивирует файлы с разбивкой по месяцам , типа mm.yyyy  

Всего записей: 2584 | Зарегистр. 15-04-2003 | Отправлено: 18:11 15-04-2009
YNY

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

Цитата:
DiZka

чтоб увидеть сообщения убери кавычку перед msgbox, если файлов не 3 то удаление не происходит, блин еще один "умный" вопрос и с тебя прийдется брать бабло за консультацию )))

Всего записей: 476 | Зарегистр. 18-05-2006 | Отправлено: 09:43 17-04-2009
YURETS777



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
как на vbs отобразить текущие активные соединения, подмапированные диски (к кому подсоединена РС, служба Сервер потушена), в том числе к IPC$  и admin$ ?
 

Всего записей: 2161 | Зарегистр. 29-04-2005 | Отправлено: 20:38 18-04-2009
YURETS777



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Еще такой вопрос, есть ли в VBS команды удаления целой ветки реестра со всеми подветками и ключами.
Аналог такого:
REGEDIT4
 
[-HKEY_CURRENT_USER\Software\Microsoft\Office]
 
Простой oReg.DeleteKey HKEY_CURRENT_USER, "Software\Microsoft\Office"
Почему-то ключ не удаляет.

Всего записей: 2161 | Зарегистр. 29-04-2005 | Отправлено: 10:57 21-04-2009
YNY

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

Цитата:
YURETS777
есть ли в VBS команды удаления целой ветки реестра со всеми подветками -- нет нету, тама мона удалить тока поочередности: сначала ключи, потом подраздел и уже в самом конце раздел ну или пустой раздел, сам не понимаю зачем такое ограничение наложено, но оно есть !
 

Всего записей: 476 | Зарегистр. 18-05-2006 | Отправлено: 11:05 21-04-2009
YURETS777



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

Код:
 
'on error resume next
Const HKEY_LOCAL_MACHINE = &H80000002  
Const HKEY_CURRENT_USER = &H80000001  
Dim strArray
Dim strSubKey
Dim intIdx
RegkeyForDel = "Software\Microsoft\Office"
strComputer = "."
Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\default:StdRegProv")  
 
strKey = RegkeyForDel
 
intIdx = oReg.EnumKey(HKEY_CURRENT_USER, strKey, strArray)
 
If intIdx = 0 And IsArray(strArray) Then
 For Each strSubKey in strArray
  oReg.DeleteKey(HKEY_CURRENT_USER, strKey & "\" & strSubKey)
 Next
End If
 
oReg.DeleteKey(HKEY_CURRENT_USER, strKey)
 

 
 
Добавлено:
Еще вопрос.
Как при помощи ГП сделать бэкап всех эвентов с очисткой на сетевой ресурс.
ГП на компьютер.
elback "\\DC1\Events" * /clear почему-то не срабатывает.

Всего записей: 2161 | Зарегистр. 29-04-2005 | Отправлено: 11:09 21-04-2009
YNY

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

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

Всего записей: 476 | Зарегистр. 18-05-2006 | Отправлено: 12:45 21-04-2009
YURETS777



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Короче нужно полностью удалить офисную (2003) ветку профиля со всеми подключами.

Всего записей: 2161 | Зарегистр. 29-04-2005 | Отправлено: 12:52 21-04-2009
YNY

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
взято отсюда примерно technet.microsoft.com/magazine
On Error Resume Next  
 
Const HKEY_CURRENT_USER = &H80000001  
 
strComputer = "."
strKeyPath = "Software\Test"  
 
Set objRegistry = GetObject("winmgmts:\\" & _
    strComputer & "\root\default:StdRegProv")  
 
DeleteSubkeys HKEY_CURRENT_USER, strKeypath  
 
Sub DeleteSubkeys(HKEY_CURRENT_USER, strKeyPath)  
    objRegistry.EnumKey HKEY_CURRENT_USER, strKeyPath, arrSubkeys  
 
    If IsArray(arrSubkeys) Then  
        For Each strSubkey In arrSubkeys  
            DeleteSubkeys HKEY_CURRENT_USER, strKeyPath & "\" & strSubkey  
        Next  
    End If  
 
    objRegistry.DeleteKey HKEY_CURRENT_USER, strKeyPath  
End Sub
 

Всего записей: 476 | Зарегистр. 18-05-2006 | Отправлено: 12:52 21-04-2009 | Исправлено: YNY, 12:59 21-04-2009
YURETS777



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

Всего записей: 2161 | Зарегистр. 29-04-2005 | Отправлено: 12:55 21-04-2009
yazzi

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите пожалуйста, возможно ли где нибудь в ГПО поставить обработку политики компьютера после входа в систему пользователя.

Всего записей: 98 | Зарегистр. 14-08-2007 | Отправлено: 15:03 22-04-2009
Attid



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
а никто не подскажет как можно раздать права на ветки реестра ?  
 
есть программа лезет туда куда не надо =( надо раздать на ветку доступ для пользователей.
 

Всего записей: 77 | Зарегистр. 23-06-2003 | Отправлено: 10:10 24-04-2009
north_crow

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Attid
через GPO
Computer Configuration -Windows Settings-Security Settings-Registry
там выбираешь ветку и задаешь права

Всего записей: 172 | Зарегистр. 04-12-2002 | Отправлено: 14:12 24-04-2009
Attid



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
north_crow спасибо, а скриптом можно это дело ?  

Всего записей: 77 | Зарегистр. 23-06-2003 | Отправлено: 14:35 24-04-2009
YNY

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

Цитата:
Attid

некоторые вещи лучше не доводить до автоматизьма

Всего записей: 476 | Зарегистр. 18-05-2006 | Отправлено: 13:31 29-04-2009
vSoul

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ребята, помогите, пожалуйста, довести скрипт до рабочего состояния. Задача:
1. Выполнить поиск значения параметра (Data) в реестре, по маске, в заданном параметре (Value) и в заданном разделе (Key).
2. Считать имя раздела реестра, в котором было найдено нужное значение параметра.
3. В данном разделе считать значение другого параметра (Data) в заданном параметре (Value).
4. Вывести найденное значение на экран.
 

Код:
 
Const HKEY_LOCAL_MACHINE = &H80000002
Public WShell
 
strComputer = "."
Set WShell = Wscript.CreateObject("Wscript.Shell")
Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\default:StdRegProv")
 
strKeyPath = "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall"
oReg.EnumKey HKEY_LOCAL_MACHINE, strKeyPath, arrSubKeys
 
For Each subkey In arrSubKeys
  strValueName = "DisplayName"
  oReg.GetStringValue HKEY_LOCAL_MACHINE,strKeyPath & "\" & subkey , strValueName, strValue
  If strValue Like "%Office%" Then
   strValueName1 = "UninstallString"
    oReg.GetStringValue HKEY_LOCAL_MACHINE,strKeyPath & "\" & subkey , strValueName1, strValue1
     WScript.Echo (strValue1)
End If
Next  
 

Всего записей: 22 | Зарегистр. 11-01-2007 | Отправлено: 18:11 01-05-2009 | Исправлено: vSoul, 18:47 01-05-2009
VladKor



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Люди помогите плиз, написал скрипт проверки даты регистрации компов в доменеЮ на моей машине работает на другой нет, в написании скриптов не специалист, вот код:
 
Подробнее...

Всего записей: 142 | Зарегистр. 05-03-2003 | Отправлено: 15:14 04-05-2009
   

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