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

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



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vlazari
 
Спасиб конечно - только такой скрипт который сносит ЛЮБЫЕ папки мне не нужен -
 
Мне нужен скрипт который сносит Пустые папки (могут быть вложены еще пустые папки)
и  не сносит файлы и папки с вложениями...

Всего записей: 693 | Зарегистр. 23-11-2003 | Отправлено: 17:17 27-11-2007
vlazari



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
sofos
Та добавь чтобы искал SIZE > и т.п. Я поэтому и выложил, т.к. его можно легко переделать под другие цели, схожие.

Всего записей: 243 | Зарегистр. 20-09-2005 | Отправлено: 18:49 27-11-2007
Toksa

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А по моему вопросу я так понимаю спецов нет?..

Всего записей: 8 | Зарегистр. 29-09-2006 | Отправлено: 18:50 27-11-2007
mozers



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
sofos
Запускать del_empty_dir.cmd <путь к каталогу>. Поудаляет все пустые подпапки заданного каталога:
Код:
@ECHO OFF
FOR /f "tokens=*" %%d IN ('DIR "%1" /s /b /a:d') DO RMDIR "%%d" > nul
vlazari
Тут - несколько другой случай - т.к. SIZE каталога не существует.
 
Toksa
TechNet Script Center, WMICodeCreator и т.п., уже обысканы?

Всего записей: 2187 | Зарегистр. 03-01-2002 | Отправлено: 20:34 27-11-2007 | Исправлено: mozers, 15:23 28-11-2007
Toksa

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Обысканы, найдено почти всё - кроме того что я написал

Всего записей: 8 | Зарегистр. 29-09-2006 | Отправлено: 23:44 27-11-2007
sofos



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
mozers
 
C:\>del_empty_dir.cmd c:\temp\
Не удается найти указанный файл.
Не удается найти указанный файл.
Не удается найти указанный файл.
Не удается найти указанный файл.
Не удается найти указанный файл.
 
НЕ работает однако...

Всего записей: 693 | Зарегистр. 23-11-2003 | Отправлено: 09:16 28-11-2007 | Исправлено: sofos, 09:18 28-11-2007
rosalin



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ребята подскажите скрипт
 
что бы при запуске которого пользователь мог ввести текст  
допустим какой нить проблемы и от кого
 
нажимал ОК и и текст у ходил админу на почту в локальной сети...
 
 
Код:
Set objEmail = CreateObject("CDO.Message")  
 
objEmail.Bodypart.CharSet = "windows-1251"
'objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1  
'objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "username"  
'objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "userpwd"
objEmail.From = "user@fabrikam.com"  
objEmail.To = "adm@fabrikam.com"  
objEmail.Subject = "Месага от админа"  
objEmail.Textbody = "Текст по русски"  
objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2  
objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "192.168.0.6"  
objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25  
objEmail.Configuration.Fields.Update  
objEmail.Send

 
Добавлено:
а лучше даже от кого автоматом бралось из реестра  
 
на подобее этого  
 

Код:
'Имя и фамилия пользователя домена в параметр реестра
 
'Иногда возникает потребность записать всем пользователям  
'в определённый ключ реестра фамилию и имя, взятые из AD.  
'Такое решение позволит настроить некоторое ПО, которое  
'может использовать в работе по умолчанию логин пользователя,
'но такой логин будет менее информативен, чем имя и фамилия,  
'которые, как правило, указаны в учетной записи пользователя в домене.
 
strComputer = "."
const HKEY_LOCAL_MACHINE = &H80000002
 
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colItems1 = objWMIService.ExecQuery("Select * from Win32_NetworkLoginProfile where FullName is not null",,48)
Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\default:StdRegProv")
 
strKeyPath = "SYSTEM\CurrentControlSet\Services\lanmanserver\parameters"
strValueName = "srvcomment"
For Each objItem in colItems1
strValue = objItem.FullName
Next
 
oReg.SetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,strValue


----------

Всего записей: 2588 | Зарегистр. 15-04-2003 | Отправлено: 11:35 28-11-2007
fath

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Имеем следующее:
 
...
xcopy /S /I /Y c:\папка с программой "\\192.168.6.11\c$\Documents and Settings\All Users\Главное меню\Программы\папка с программой"
xcopy /S /I /Y c:\папка с программой "\\192.168.6.12\c$\Documents and Settings\All Users\Главное меню\Программы\папка с программой"
xcopy /S /I /Y c:\папка с программой "\\192.168.6.13\c$\Documents and Settings\All Users\Главное меню\Программы\папка с программой"
....
 
фрагмент батника....раскидывает папку с программой по сети. Особенность программы - при ее запуске создает временную папку в том же каталоге и находиться сама прога, а т.к. прога запускается с правами пользователя,  то работать он нормально не может, поэтому все равно приходиться подходить к каждому пользователю и руками разрешать доступ к папке. Можно ли из батника давать такие разрешения?

Всего записей: 1 | Зарегистр. 28-11-2007 | Отправлено: 12:02 28-11-2007
G14



Добрый фей
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Toksa
Вот отсюда начинай копать: http://msdn2.microsoft.com/en-us/library/aa364722.aspx


----------
http://OpsMgr.ru (более мне не принадлежит. Кому принадлежит - не знаю.)

Всего записей: 3013 | Зарегистр. 19-01-2004 | Отправлено: 12:44 28-11-2007
Etalon

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
fath
По скольку место создания временной папки известно
то для предоставления доступа к нужной папке можно использовать ГПО
 
Конфигурация компьютера\Конфигурация Windows\Файловая система

Всего записей: 306 | Зарегистр. 03-02-2006 | Отправлено: 13:23 28-11-2007
Toksa

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
G14
Вот что значит незамыленным глазом посмотреть)) Я рыл наверно дня два этот ресурс, в частности и эту ссылку - не находил... А сейчас - за 3 минуты нашёл то что искал))
http://msdn2.microsoft.com/en-us/library/aa366199.aspx

Всего записей: 8 | Зарегистр. 29-09-2006 | Отправлено: 14:01 28-11-2007
Etalon

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
sofos
На Windows PoweShell это можно реализовать так:

Код:
 
$a = get-childitem c:\temp -recurse  
$a | ForEach-Object -Process {
  if($_.Mode -eq "d----" -and (get-childitem -path $_.FullName) -eq $Null)
  {
       Remove-item $_.FullName -force
  }
}
 

Всего записей: 306 | Зарегистр. 03-02-2006 | Отправлено: 15:18 28-11-2007 | Исправлено: Etalon, 15:24 28-11-2007
mozers



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
sofos
Цитата:
НЕ работает однако...
Виноват, поторопился. Ща свой пост поправил - так работает.

Всего записей: 2187 | Зарегистр. 03-01-2002 | Отправлено: 15:27 28-11-2007
cluster

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Нашёл скриптик, который создаёт список пользователей домена в XML-формат.

Код:
sDomain = "dukavto.ru"
Set oDomain = GetObject("WinNT://" & sDomain)
oDomain.Filter = Array("User")
 
strXML = "<" & sDomain & ">" & VbCrLf
 
For Each oADobject In oDomain
    strXML = strXML & vbTab & "<user logon=""" & oADobject.Name & _
        """ fullname=""" & oADobject.FullName & _
        """ Department=""" & oADobject.Description & """ />" & VbCrLf
 
Next
strXML = strXML & VbCrLf & "</"& sDomain & ">"
 
 Set FSO = WScript.CreateObject("Scripting.FileSystemObject")
 Set txtStream = FSO.CreateTextFile(sDomain & ".users.xml")
 
 txtStream.Write strXML

Необходимо, чтобы обрабатывалась определёная OU (и входящие в неё OU). Максимум, чего я добился - список без входящих OU

Всего записей: 1720 | Зарегистр. 21-11-2003 | Отправлено: 17:27 28-11-2007
Leuda

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

Код:
 
On Error Resume Next
Set WshShell = WScript.CreateObject("WScript.Shell")
Set oShellLink = WshShell.CreateShortcut("C:\Documents and Settings\%Username%\Рабочий стол\NewPublic.lnk")
oShellLink.TargetPath = "\\server\shara"
oShellLink.WindowStyle = 1
oShellLink.Save
 

 
только вот vbs не понимает %Username%  
 
заранее спс  
если можно сделать средствами cmd то тоже подойдет.

Всего записей: 21 | Зарегистр. 28-12-2006 | Отправлено: 17:56 28-11-2007
Etalon

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

Код:
 
Const ADS_SCOPE_SUBTREE = 2
 
Set objConnection = CreateObject("ADODB.Connection")
Set objCommand =   CreateObject("ADODB.Command")
objConnection.Provider = "ADsDSOObject"
objConnection.Open "Active Directory Provider"
 
Set objCOmmand.ActiveConnection = objConnection
objCommand.CommandText = _
    "Select Name, Location from 'LDAP://OU=MyOU,DC=fabrikam,DC=com' " _
        & "Where objectClass='user'"  
objCommand.Properties("Page Size") = 1000
objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE  
Set objRecordSet = objCommand.Execute
objRecordSet.MoveFirst
 
Do Until objRecordSet.EOF
    Wscript.Echo "User Name: " & objRecordSet.Fields("Name").Value
    objRecordSet.MoveNext
Loop
 

или

Код:
 
$strFilter = "user"
 
$Domain = [adsi]"LDAP://OU=MyOU,DC=fabrikam,DC=com"
$Searcher = New-Object System.DirectoryServices.DirectorySearcher
$Searcher.SearchRoot = $Domain
$Searcher.SearchScope = "Subtree"  
$Searcher.PageSize = 1000  
 
$Searcher.Filter = "(objectCategory=$strFilter)"
 
$Searcher.FindAll() | ForEach-Object -Process {
    $Entry = $_.GetDirectoryEntry()
    $Entry.Name
}
 

Всего записей: 306 | Зарегистр. 03-02-2006 | Отправлено: 18:08 28-11-2007 | Исправлено: Etalon, 18:43 28-11-2007
Vorx



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

Код:
userprofile=WshShell.ExpandEnvironmentStrings("%USERPROFILE%")
Set oShellLink = WshShell.CreateShortcut(userprofile&"\Рабочий стол\NewPublic.lnk")
и т.д.

Всего записей: 87 | Зарегистр. 14-03-2006 | Отправлено: 21:14 28-11-2007
sofos



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
mozers
 
А подпапки пустые в пустой папке - не удаляет все равно...

Всего записей: 693 | Зарегистр. 23-11-2003 | Отправлено: 22:01 28-11-2007 | Исправлено: sofos, 22:02 28-11-2007
5555555



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

Цитата:
пустые в пустой папке - не удаляет все равно

юзай DiskState  

Всего записей: 2593 | Зарегистр. 01-04-2004 | Отправлено: 22:14 28-11-2007 | Исправлено: 5555555, 22:15 28-11-2007
mozers



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
sofos
Да... Я еще подумаю... Пока можешь юзать это.

Всего записей: 2187 | Зарегистр. 03-01-2002 | Отправлено: 23:23 28-11-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