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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » Автоматизация администрирования

Модерирует : lynx, Crash_Master, dg, emx, ShriEkeR

emx (13-12-2006 21:07): http://forum.ru-board.com/topic.cgi?forum=8&topic=19088#1  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

   

ooptimum



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

                               Коллеги-администраторы  ....  


Часть 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 подобный скриптовый язык с исходниками

    Дружественные темы :
  1. Автоматическая (unattended) установка Windows
  2. Интересные команды при работе с Linux
  3. Отличный сайт по скриптингу, и не только
  4. Использование KIX
  5. Использование WMI

 
>>HOW -  TO:
Создается по материалам данного топа

 
Надеюсь данная тема будет полезна для Вас.
 Предложения по реформированию шапки принимаю в ПМ Jovanotti

 

Всего записей: 2898 | Зарегистр. 30-05-2002 | Отправлено: 08:55 13-12-2002 | Исправлено: FreemanRU, 17:29 11-12-2006
bornbill



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
SlaM2003
да возможно смотри в сторону книги script repositoriy точно не помню как называется пиши в ПМ сброшу на мыло

Всего записей: 1440 | Зарегистр. 02-04-2004 | Отправлено: 13:05 21-12-2004
ShahrayOleg



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Нужно написать *.bat который делает следующее:
 смотрит размер файла и если он меньше 10 метров, то необходимо этот файл удалить.
Как это сделать?

Всего записей: 312 | Зарегистр. 16-08-2002 | Отправлено: 16:50 21-12-2004
distance

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ShahrayOleg
встроенными средствами imho нельзя (даже через продвинутый cmd, а про Win9x и говорить нечего)
варианты:
- использовать wsh/jscript и иже с ним (плюс - встроен в систему)
- поставить внешний коммандный интерпретатор 4dos/4nt (www.jpsoft.com)
(вообще, вешь полезная, я до перехода на wsh года 4 сидел на нем, еще со времен 98)
тогда так:
set fileName=c:\temp\swap.tmp
set fileSize=%@FileSize[%fileName,M]
if %fileSize LE 10 del /z /q %fileName

Всего записей: 878 | Зарегистр. 28-03-2004 | Отправлено: 18:23 21-12-2004
igor_andreev

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

Цитата:
Нужно написать *.bat

BAT или CMD ? Если в NT-осях, то можно, по крайней мере в 2000-XP точно работает. Сделай *.cmd

Код:
 
@echo off
echo Size of %~nx1 is %~z1
pause
 

и перетащи мышкой на него любой файл(передай параметр). Работает? %~z1 передает размер файла. Дальше понятно, set /a filesize=%~z1 и если %filesize% меньше 10240000 удалить %1.  
А вот если 9*-ME - не знаю к сожалению как там, я их живьем давно не видел

Всего записей: 1674 | Зарегистр. 08-12-2004 | Отправлено: 19:28 21-12-2004
ShahrayOleg



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

Всего записей: 312 | Зарегистр. 16-08-2002 | Отправлено: 11:13 22-12-2004
Garreth



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите как корректно удалить Radmin с компов по сети. В сети домен. Нужен скрипт, который удалит целиком программу. То есть c:\winnt\system32\r_server.exe /uninstall /silence не подходит.

Всего записей: 168 | Зарегистр. 06-10-2003 | Отправлено: 17:46 27-12-2004
AlexSSS

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
а что именно не подходит?
1. если нужны права админа, то тогда легче запустить эту строку не скриптом, а с дистанционно с другого компа, напр с момощью PSEXEC от Sysinternals - www.sysinternals.com
Можно написать и скрипт, который возьмет из AD имена всех компов домена и запустит на каждом строку анинсталляции Radmin-a. Если он там не стоит, то ничего страшного не будет
2. Если остаются файлы, то их просто стираешь после анинсталляции

Всего записей: 747 | Зарегистр. 26-06-2004 | Отправлено: 18:05 27-12-2004 | Исправлено: AlexSSS, 18:08 27-12-2004
Garreth



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
AlexSSS
спасибо помогло
 
Другой вопрос. Как скриптом определить какая ОС на клиентском ПК? Нужно в домене установить в тихом режиме AD extensions только на windows 98? Киньте скриптом кто может, плиз.

Всего записей: 168 | Зарегистр. 06-10-2003 | Отправлено: 19:27 27-12-2004
FreemanRU



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

Код:
 
Set dtmConvertedDate = CreateObject("WbemScripting.SWbemDateTime")
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colOperatingSystems = objWMIService.ExecQuery _
("Select * from Win32_OperatingSystem")
For Each objOperatingSystem in colOperatingSystems
Wscript.Echo "Boot Device: " & objOperatingSystem.BootDevice
Wscript.Echo "Build Number: " & objOperatingSystem.BuildNumber
Wscript.Echo "Build Type: " & objOperatingSystem.BuildType
Wscript.Echo "Caption: " & objOperatingSystem.Caption
Wscript.Echo "Code Set: " & objOperatingSystem.CodeSet
Wscript.Echo "Country Code: " & objOperatingSystem.CountryCode
Wscript.Echo "Debug: " & objOperatingSystem.Debug
Wscript.Echo "Encryption Level: " & objOperatingSystem.EncryptionLevel
dtmConvertedDate.Value = objOperatingSystem.InstallDate
dtmInstallDate = dtmConvertedDate.GetVarDate
Wscript.Echo "Install Date: " & dtmInstallDate  
Wscript.Echo "Licensed Users: " & _
objOperatingSystem.NumberOfLicensedUsers
Wscript.Echo "Organization: " & objOperatingSystem.Organization
Wscript.Echo "OS Language: " & objOperatingSystem.OSLanguage
Wscript.Echo "OS Product Suite: " & objOperatingSystem.OSProductSuite
Wscript.Echo "OS Type: " & objOperatingSystem.OSType
Wscript.Echo "Primary: " & objOperatingSystem.Primary
Wscript.Echo "Registered User: " & objOperatingSystem.RegisteredUser
Wscript.Echo "Serial Number: " & objOperatingSystem.SerialNumber
Wscript.Echo "Version: " & objOperatingSystem.Version
Next
 
 
Взято из TechNet

----------
Если не получается с первого раза - прочти инструкцию. (с)
"Откуда нам знать, что такое война, если мы не знаем мира..."(с)
Записки

Всего записей: 3775 | Зарегистр. 16-07-2004 | Отправлено: 20:12 27-12-2004
AlexSSS

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
можно еще проще, даже в батнике
if NOT (%OS%) == (Windows_NT) ECHO URRA
 
вариант, который не всегда может быть верен, но если в сети только виндусовые машины, он сработает.
переменная окружения OS в Windows NT4/2000/XP = Windows_NT
соответственно все остальное - 95/98

Всего записей: 747 | Зарегистр. 26-06-2004 | Отправлено: 20:23 27-12-2004
SIAL

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Есть ли возможность в LogOn скрипте использовать привелегированные права относительно возможностей входящего юзера? Суть: нужно создавать файлы в недоступных для пользователя местах по NTFS правам, но с его именем. Н-р - logon%Username%.log

Всего записей: 45 | Зарегистр. 09-09-2004 | Отправлено: 14:19 02-01-2005
AlexSSS

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
> Суть: нужно создавать файлы в недоступных для пользователя местах по NTFS правам
если по сути, то это можно решать следующим образом -
На NTFS делается папка с правом (для пользователя) просмотра каталога, созданием файлов (и папок, если надо), возможность записи в файл, но (!!!) без права чтения файла.
В этом случае пользователь легко создает и записывает данные в файл, но просмотреть файлы не может.
 
у меня вообще логи с логон скриптов пишутся таким образом
1. На сервере загарен ресурс с полным доступом для всех пользователей, \\server\logs (можешь \\server\logs$)
2. На уровне NTFS стоят все права, за исключением удаления файлов и каталогов и просмотра файлов.
3. В результате логонные скрипты при необходимости создают любые папки и файлы, записывают в них даннын, однако посмотреть логи никто из пользователей не может. Максимум, что он может увидеть, это список папок и файлов.
 
Можно спрятать и их, но это уже лишняя заморочка

Всего записей: 747 | Зарегистр. 26-06-2004 | Отправлено: 13:40 03-01-2005
SIAL

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Проблема как раз в том что эти файлы создаются программами с которыми приходится работать юзерам. И создаются не там где положено - например в %SystemRoot%! Ну не научились еще программировать и вот приходится бороться. Особенно неприятно когда мобильный юзер логинится в первый раз на другой машинке и идет куча ошибок доступа к диску или rutime окошки тысячами вываливаются на рабочий стол. И ведь не подойдут не скажут... пока раз двадцать не перезагузят систему. Ps:Возможности отказаться от этих программ пока нет.

Всего записей: 45 | Зарегистр. 09-09-2004 | Отправлено: 21:28 07-01-2005
AlexSSS

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
SIAL
извиняюсь, не заметил твои пояснения по вопросу.
 
устроит ли тебя вариант, если задача будет запускаться просто под другим пользователем? Учетную запись другого пользователя можно поместить в power users или даже administrators на локальном компьютере.
Остается написать скрипт или небольшую программулину, которая будет через RUNAS запускать прогу под другим пользователем. И, само собой, необходимо ее зашифровать. чтобы простым просмотром нельзя было увидеть пароль этого пользователя.
 
PS. Задачи случайно не на фоксе/dbase?
 
Добавлено:
Можно ли как-то скриптами или через интерфейс сменить владельца у файла на произвольного пользователя (его пароль неизвестен, чтобы зайти под ним и take ownership)?
Стандартными способами нельзя. А нестандартными?
 
 

Всего записей: 747 | Зарегистр. 26-06-2004 | Отправлено: 19:00 18-01-2005
SIAL

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

Всего записей: 45 | Зарегистр. 09-09-2004 | Отправлено: 09:33 19-01-2005
AlexSSS

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
через runas запускается прога под другим аккаунтом, естественно и %Username% тоже другой
 
> запускается LogOn, потом в скрипте идет вызов привелегий пользователя
> с дополнительными правами, от его имени и производятся манипуляции с файлами??
логон не требуется, runas сразу запускает прогу под другим аккаунтом. При этом используется и профайл и окружение другого пользоаптеля.
 
> Есть возможность в скрипте получить %Username%
> пользователя для которого и запускается LogOn?  
в командную строку для запуска через runas можно передать как параметр и %Username% текущего пользователя. Либо, если таких пользователей не очень много, то можно для каждого сделать дублирующую учетною запись, скажем, ivanov2, которая будет иметь все права ivanov+power user
 
 
Для решения проблем с запуском старых програм есть несколько решений
1. Доработка программ. Иногда это не такой сложный путь, как это кажеться вначале.  
2. Работа пользователя под локальным администратором или power user
3. Прописывание конкретных прав, которые требуются для работы с программой в реестре и NTFS. Т.е. если проге требуется полный доступ в ветку HKLM\Software\SuperFirma\Prog, то эта ветка открывается для полного доступа конкретному пользователю или группе. Если прога требует полный доступ в SystemDrive, то он устанавливается. Это все хоть и снижает безопасность, но все же не так, как в варианте 2.
4. Запуск программы под другой учетной записью.
5. отказ от данной программы

Всего записей: 747 | Зарегистр. 26-06-2004 | Отправлено: 10:25 19-01-2005
Jovanotti



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
AlexSSS
Добавлю ...  
6. Многие проги могут использовать   TEMP  директорию  
В ХР  имеет смысл создать в корне эту папку дать полные права ВСЕМ на неё
ну и конечно подправить переменные TMP и  TEMP

Всего записей: 718 | Зарегистр. 22-12-2002 | Отправлено: 11:01 19-01-2005
AlexSSS

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Отвечаю на собственный вопрос
> Можно ли как-то сменить владельца
> у файла на произвольного пользователя  
это позволяет сделать утилита Subinacl.exe из Resource Kit
запущенная под доменадмином она позволяет сменить владельца на любого другого

Всего записей: 747 | Зарегистр. 26-06-2004 | Отправлено: 13:53 19-01-2005
AlexSSS

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

Всего записей: 747 | Зарегистр. 26-06-2004 | Отправлено: 14:55 03-02-2005
merlkerry

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

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

пинг вызвать из Exec

----------
Вокруг одни враги.
Я испытываю естественный скептицизм по поводу чистоты человеческих намерений.

Всего записей: 1521 | Зарегистр. 16-09-2002 | Отправлено: 15:00 03-02-2005
   

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

Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » Автоматизация администрирования
emx (13-12-2006 21:07): http://forum.ru-board.com/topic.cgi?forum=8&topic=19088#1


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.Board
© Ru.Board 2000-2020

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru