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

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



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

Всего записей: 2588 | Зарегистр. 15-04-2003 | Отправлено: 12:51 21-08-2007
inetimon



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

Код:
 
' Здесь - папка, с которой начинать сканирование
path = "F:\TM"
 
killdate = date() - 3
 
arFiles = Array()
set fso = createobject("scripting.filesystemobject")
 
' True - для поиска и по поддиректориям тоже, False - только в самой директории
SelectFiles path, killdate, arFiles, true
 
nDeleted = 0
for n = 0 to ubound(arFiles)
  on error resume next 'in case of 'in use' files...
  arFiles(n).delete true
  if err.number <> 0 then
    wscript.echo "Unable to delete: " & arFiles(n).path
  else
    nDeleted = nDeleted + 1
  end if
  on error goto 0
next
 
msgbox nDeleted & " of " & ubound(arFiles)+1 _
  & " eligible files were deleted"
 
sub SelectFiles(sPath,vKillDate,arFilesToKill,bIncludeSubFolders)
  on error resume next
  set folder = fso.getfolder(sPath)
  set files = folder.files
 
  for each file in files
    dtlastmodified = null
    on error resume Next
    dtlastmodified = file.datelastmodified
    on error goto 0
    if not isnull(dtlastmodified) Then
      if dtlastmodified < vKillDate then
        count = ubound(arFilesToKill) + 1
        redim preserve arFilesToKill(count)
        set arFilesToKill(count) = file
      end if
    end if
  next
 
  if bIncludeSubFolders then
    for each fldr in folder.subfolders
      SelectFiles fldr.path,vKillDate,arFilesToKill,true
    next
  end if
end sub  

 
Добавлено:
А вот как доработать скрипт на исключение определенных директорий ?
И удаление пустых папок ?

Всего записей: 41 | Зарегистр. 10-11-2004 | Отправлено: 13:23 21-08-2007
Lovec



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Как сделать, чтобы при входе в домен у пользователя на машине администратор домена автоматом прописывался в локальные админы? Потому как некоторые слишком умные его оттуда удаляют...

Всего записей: 1028 | Зарегистр. 29-10-2002 | Отправлено: 19:50 22-08-2007
niichavo



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Lovec
Так ведь в групповых политиках можно кого хошь в какие хошь группы задвинуть. Ну а шоб не лазали где не надо можно, опять-таки в групповых политиках, запретить пользователю домена запускать консоль управления (mmc).

Всего записей: 836 | Зарегистр. 14-09-2005 | Отправлено: 20:22 22-08-2007
cluster

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

Цитата:
запретить пользователю домена запускать консоль управления (mmc).
а вот это жестоко.. частенько бывает необходимость под пользователем поглядеть ну хотя бы eventlog или диспетчер устройств.

Всего записей: 1720 | Зарегистр. 21-11-2003 | Отправлено: 20:26 22-08-2007
niichavo



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

Цитата:
а вот это жестоко.. частенько бывает необходимость под пользователем поглядеть ну хотя бы eventlog или диспетчер устройств.

это можно сделать удалённо с компа админа. Или, ежели кнешна не очень лениво, выйти из системы и войти уже под админом на том компе, где нужно запустить mmc. Это действительно неудобно, если по какой-то причине именно пользователю нужно смотреть eventlog или диспетчер устройств. Только вот для чего ему это?

Всего записей: 836 | Зарегистр. 14-09-2005 | Отправлено: 20:33 22-08-2007 | Исправлено: niichavo, 20:35 22-08-2007
Lovec



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

Всего записей: 1028 | Зарегистр. 29-10-2002 | Отправлено: 20:44 22-08-2007
jeki54

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Написал скрипт для закрытия открытых фаайлов в определенной папке. Ночью идет обновление файлов, а пользователи остаются подключенными к ним и блокируют).
 

Код:
 
'сбрасываем открытые ресурсы сервера
'использование - например для обновления файлов, используемых в это время
 
ComputerName = "comp1"
 
Set FileService = GetObject ("WinNT://" & ComputerName & "/LanmanServer")
Set Collection = FileService.Resources
For Each Resource In Collection
         resourcepath = LCase (Resource.Path)
        If  InStr (1,resourcepath, "c:\shares",1) <> 0 Then
                Collection.Remove (Resource.Name)
        End If
Next
 
 

 
Почему-то выдает ошибку вот такого вида: Active Directory: Not implemented
Ругается на строку Collection.Remove (Resource.Name), хотя по Ссылке утверждается что этот метод есть. В чем проблема?

Всего записей: 10 | Зарегистр. 13-02-2006 | Отправлено: 08:26 23-08-2007
DIvan



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

Всего записей: 97 | Зарегистр. 13-03-2004 | Отправлено: 10:38 23-08-2007
Etalon

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
cluster
Не надо никаких скриптов.
Надо в групповой политике пройти по адресу
Конфигурация компьютера\Конфигурация Windows\Группы с ограниченным доступом
и добавить там все необходимые группы
т.е. указать какие доменные группы в какие локальные входят
 
DIvan
В Windows 2003 Server есть такая хрень, как ABEUI. Благодаря ей пользователи видят только то к чему у них есть доступ.
А вот есть ли такая штука в Windows XP, не знаю.

Всего записей: 306 | Зарегистр. 03-02-2006 | Отправлено: 12:30 23-08-2007 | Исправлено: Etalon, 12:48 23-08-2007
YNY

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

Цитата:
Lovec
вообще то работать с группами админов могут тока локальные админы и если они имеют туда доступ то ....  
а на счет того, что запретить запуск mmc, то runas тебе помогет если ты всеж запретишьего кому нада (конечно не себе самому
 
 
Добавлено:

Цитата:
Ругается на строку
 
  file scripts they seemed to work just fine on Windows 2000 Server and Windows Server 2003. Results on Windows XP, however, were mixed at best. So, no guarantees; give them a try and see if they work in your environment.
 
IADsCollection::Remove
 
The IADsCollection::Remove method removes the named item from this ADSI collection object.
 
Requirements
Client Requires Windows XP or Windows 2000 Professional.  
Server Requires Windows Server 2003 or Windows 2000 Server.  
Redistributable Requires Active Directory Client Extension on Windows NT 4.0 and Windows Me/98/95.  
Header Declared in Iads.h.
 
DLL Requires Activeds.dll.  
IID IID_IADsCollection is defined as 72B945E0-253B-11CF-A988-00AA006BC149.
 
 
 
Добавлено:
и нада ск всего войти сначало в домен

Всего записей: 476 | Зарегистр. 18-05-2006 | Отправлено: 06:07 24-08-2007
Lovec



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Народ, меньше лирики.
Вопрос конкретный: можно ли скриптом при логине юзера в домене добавлять администратора домена в локальные администраторы залогинившегося компа?
Если да, то пример плиз.

Всего записей: 1028 | Зарегистр. 29-10-2002 | Отправлено: 10:02 24-08-2007
Etalon

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Lovec
Вот кусок кода, позволяющий добавлять пользователей в группы

Код:
 
Computer = "."
Set objGroup = GetObject("WinNT://" & Computer & "/Administrators,group")
Set objUser = GetObject("WinNT://" & Computer & "/kenmyer,user")
objGroup.Add(objUser.ADsPath)
 

Но решение, приводимое ранее..., гораздо эффективней и изяшней.

Всего записей: 306 | Зарегистр. 03-02-2006 | Отправлено: 10:43 24-08-2007 | Исправлено: Etalon, 13:56 24-08-2007
YNY

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
если ты будешь делать это скриптом, то есть возм-ть раскрытия пароля юзера с админскими правами, т.к. он просто необходим.....
"Кто ищет тот всегда найдет", но тока потом пеняй на себя... ретивый ты наш  

Всего записей: 476 | Зарегистр. 18-05-2006 | Отправлено: 11:40 24-08-2007
wok



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всем привет!  
Разыскивается скрипт следующего плана. Необходимо прошерстить папку(в т.ч. подпапки), и заархивировать все файлы с определенными расширениями. Кто встречал киньте ссылку...

Всего записей: 16 | Зарегистр. 27-04-2006 | Отправлено: 14:25 26-08-2007
DIvan



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

Цитата:
Коллеги, я недавно задумался над тем, можно ли как-то использовать свободное дисковое пространство на рабочих станциях в локальной сети? Т.е. хранить на машинах юзеров свои файлы без риска их потерять, а в идеале ввобще так, чтобы юзеры о них и не догадывались.

Я разрулил доступ к папкам средствами NTFS, затем создал из них сетевые шары. Поставим вопрос иначе: как скрыть наличие сетевых шар на рабочих станциях под WinXP? И есть ли возможность скрыть локальные папки (хотя зайти в них юзер не может, но сами папки видны)?

Всего записей: 97 | Зарегистр. 13-03-2004 | Отправлено: 10:09 27-08-2007 | Исправлено: DIvan, 10:14 27-08-2007
YDOG

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
DIvan
Если по сети, то можно добавить значок бакса \\comp\share$

Всего записей: 82 | Зарегистр. 08-06-2006 | Отправлено: 10:13 27-08-2007
slayer120



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
wok
 Взято из справки RAR (командная строка)
 
  WinRAR  a  -r  -n*.txt  -n*.lst  text  Project  Info
 
  Для тебя будет  
 WinRAR  a  -r  -n*.txt  -n*.lst  <имя архива>  <имя папки>
 
Расширения заменишь на нужные.

Всего записей: 303 | Зарегистр. 24-01-2007 | Отправлено: 15:39 27-08-2007
Teo



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
начал писать скрипт для смены доменного пароля с недоменного компа
 

Код:
Option Explicit
 
Dim objRootDSE, objPassword, objSWBemLocator
Dim strDNSDomain, strAdminName, strAdminPassword
 
 
'Bind to Active Directory Domain
Set objRootDSE = GetObject("LDAP://RootDSE")
strDNSDomain = objRootDSE.Get("DefaultNamingContext")
 
'get username
Wscript.StdOut.Write "Please enter administrator user name:"
strAdminName = Wscript.StdIn.ReadLine
Set objPassword = CreateObject("ScriptPW.Password")
Wscript.StdOut.Write "Please enter password:"
strAdminPassword = objPassword.GetPassword()
 
'connect to DC using it
Set objSWbemLocator = CreateObject("WbemScripting.SWbemLocator")
Set objSWbemServices = objSWbemLocator.ConnectServer _
    (strDNSDomain, "root\cimv2", strDNSDomain & "\" & strAdminName, strAdminPassword)
objWMIServices.Security_.ImpersonationLevel = 3
 

 
получаю ошибку в последней строке
SWbemLocator: The RPC server is unavailable.
ранее этот DC выдавал такую же ошибку при работе пользователей в SourceSafe
это руки или DC?

Всего записей: 737 | Зарегистр. 21-04-2003 | Отправлено: 13:25 28-08-2007 | Исправлено: Teo, 13:31 28-08-2007
YNY

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

Цитата:
скрипт для смены доменного пароля с недоменного компа  

да, лишь бы по углам не писало...  
поставь галук разрешать удаленное подкл и с любого компа, на кот ХР стоит подкл к серваку и делай че хочешь, а скрипт писать когда и без него мона обойтись -- изврат  
 
Добавлено:
objwbemServices = ConnectServer(
  [ strServer = "" ],
  [ strNamespace = "" ],
  [ strUser = "" ],
  [ strPassword = "" ],
  [ strLocale = "" ],
  [ strAuthority = "" ],
  [ iSecurityFlags = 0 ],
  [ objwbemNamedValueSet = null ]
)
iSecurityFlags = 0 -- а value of 0 for this parameter results in the call to ConnectServer returning only after connection to the server is established. This could result in your program hanging indefinitely if connection cannot be established for any reason.  
 
пример подкл к  серверу:  
 
strComputer = "FullComputerName"  
strDomain = "DOMAIN"  
Wscript.StdOut.Write "Please enter your user name:"
strUser = Wscript.StdIn.ReadLine  
Set objPassword = CreateObject("ScriptPW.Password")
Wscript.StdOut.Write "Please enter your password:"
strPassword = objPassword.GetPassword()
 
Set objSWbemLocator = CreateObject("WbemScripting.SWbemLocator")
Set objSWbemServices = objSWbemLocator.ConnectServer(strComputer, _
    "root\cimv2", _
     strUser, _
     strPassword, _
     "MS_409", _
     "ntlmdomain:" + strDomain)
тут
strAuthority = "ntlmdomain:" + strDomain
возмона получится.
 
По быстрому мона так: оставить скрипт на серваке, а запускать с лок машины и тогда с RPC проблем не будет.

Всего записей: 476 | Зарегистр. 18-05-2006 | Отправлено: 07:12 29-08-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