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

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

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Кстати, по поводу массовой смены пароля админа на рабочих станциях. Если я пишу
Код:
 
systemstartup.bat:
net user administrator xxx
 

и запускаю через политики при старте системы (от лица local system стало быть). И права на чтения этого скрипта явно запрещены для domain users. Получается что и шифровать ничего не надо. Обычный пользователь не сможет прочитать файл и пароль свободно пишется в нем открытым текстом.
 
А полная паранойя )
файл systemstartup.bat генерится каждую полночь командой:

Код:
 
set pass=%random%pass%random%
echo net user administrator %pass% >systemstartup.bat
sendmail "to admin" "Today pass is: %pass%"
 


Всего записей: 106 | Зарегистр. 21-04-2003 | Отправлено: 14:58 22-09-2004 | Исправлено: Begemotus, 15:59 22-09-2004
distance

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
K2D
может тут какая то хитрость, но почему нельзя написать:
if GroupName == "Administrators" or GroupName = "Администраторы" then ...
 
это мне напомнило один код...
 
// булевская переменная
bOk = some_function();
if (bOk)  
  return true;
else
  return false;
 
))

Всего записей: 878 | Зарегистр. 28-03-2004 | Отправлено: 15:32 22-09-2004
K2D



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
distance
 
Спасибо за совет тоже работает. Но меня интересует как сделать чтобы добавлять не одного пользователя или группу а например 3.

Всего записей: 42 | Зарегистр. 08-09-2004 | Отправлено: 17:00 22-09-2004
merlkerry

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

Цитата:
Но скачать где?

зачем же качать ??? он уже есть в системе  

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

Всего записей: 1521 | Зарегистр. 16-09-2002 | Отправлено: 18:24 22-09-2004
distance

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

Цитата:
Спасибо за совет тоже работает. Но меня интересует как сделать чтобы добавлять не одного пользователя или группу а например 3.

да хоть 10
 
с vbs я увы не дружу, вот как это может выглядеть на js
 
var users = ["user1", "user2", "user3"];
 
for(var i=0; i<users.length; i++)
{
   var user = users[i];
   // получаешь очередное имя юзера из массива,  
   // дальше делаешь с ним, что задумал
}

Всего записей: 878 | Зарегистр. 28-03-2004 | Отправлено: 18:34 22-09-2004
K2D



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите как сделать правильно это скрипт запускаю из FAR Managera, 1.vbs имя_группы1 имя_группы2 ,но он нехочет добавлять обе группы а только одну подскажите как сделать чтобы обе заводил.  
 
Option Explicit  
Dim CompName
Dim GroupName, oGroup  
Dim UserName, oUser, objArgs
Dim DomainName
 
Set objArgs = WScript.Arguments
UserName = objArgs(0)
UserName = objArgs(1)
 
CompName = "FAR"
GroupName = "Administrators"
GroupName = "Администраторы"
DomainName = "домен.com"
 
If GroupName = "Administrators" or GroupName = "Администраторы" Then
Set oGroup = GetObject("WinNT://" & CompName & "/" & GroupName & ",group")  
Set oUser = GetObject("WinNT://" & DomainName & "/" & UserName & ",group")
oGroup.Add(oUser.AdsPath)  
oGroup.SetInfo  
Set oGroup = Nothing
Set oUser = Nothing
End If

Всего записей: 42 | Зарегистр. 08-09-2004 | Отправлено: 11:04 23-09-2004
amitophia

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
K2D
а почему 2 раза UserName и 2 раза GroupName? сделай UserName1/2 и GropuName1/2
и добавляй снаала Groupname1, а потом 2

Всего записей: 1083 | Зарегистр. 13-01-2003 | Отправлено: 14:15 23-09-2004 | Исправлено: amitophia, 15:17 23-09-2004
K2D



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
У меня теперь новая проблема почему то недобавляет группы на английский виндовс 2000 в русский запросто
 
Option Explicit
Dim CompName
Dim GroupName, oGroup
Dim UserName, oUser, objArgs
Dim DomainName,i, text
 
Set objArgs = WScript.Arguments
UserName = objArgs(i)
For i = 0 To objArgs.Count - 1
UserName = text & objArgs(i)
 
CompName = ""
GroupName = "Administrators"
GroupName = "Администраторы"
DomainName = "домен.com"
If GroupName = "Administrators" or GroupName = "Администраторы" Then
Set oGroup = GetObject("WinNT://" & CompName & "/" & GroupName & ",group")
Set oUser = GetObject("WinNT://" & DomainName & "/" & UserName & ",group")
oGroup.Add(oUser.AdsPath)
oGroup.SetInfo
End If
Next

Всего записей: 42 | Зарегистр. 08-09-2004 | Отправлено: 14:50 23-09-2004
amitophia

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

Цитата:
GroupName = "Administrators"  
GroupName = "Администраторы"

у тебя после второй строчки GroupName="Администраторы", а не "Administrators", вот и не добавляет в английской

Всего записей: 1083 | Зарегистр. 13-01-2003 | Отправлено: 15:22 23-09-2004
distance

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
K2D
на самом деле ты пытаешься добавить группу с именем UserName в группу адмнинистраторов
для запроса юзера нужно указывать атрибут "user", а у тебя - "group"
потом, неплохо бы убедиться что юзер получен успешно. например проверить переменную oUser на ... null? (или как он там зовется в vbs или использовать  
конструкцию on error
ну и я бы сказал, что строчка UserName = objArgs(i) перед циклом не только лишняя (переменная Username "перебивается" при входе в цикл), но и потенциально опасная,  
т.к. ты пытаешься индексировать массив неинициализированной переменной

Всего записей: 878 | Зарегистр. 28-03-2004 | Отправлено: 15:23 23-09-2004
K2D



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

Всего записей: 42 | Зарегистр. 08-09-2004 | Отправлено: 15:29 23-09-2004
amitophia

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
GroupName - это пременная
сначала ты ей присваиваешь значение "Administrators", а потом сразу же присваиваешь её новое значение "Администраторы"
В итоге получается, что GroupName у тебя всегда равна "Администраторы"
В русской wndws есть такая группа, поэтому в неё добавляется, а в английской - нету. В английской wndws надо добавлять в Administrators
 
поэтому, либо определяй какая windows, лиюо добавляй сначала в группу Администраторы, а потом в группу Administrators (на русской Win будет обламываться второе,а на английской - первое)
А ешё лучше, проверяй, есть ли группа Администраторы. Если есть, добавляй в неё юзера. Потом проверяй, есть ли группа Administrators, и если есть, добавляй в неё.
(Как узнать, есть группа или нет, я не знаю, потому что не знаю vbs, но, думаю, не сложно)
 
ещё я так и не понял, зачем нужен text в
UserName = text & objArgs(i)
почему не сделать UserName = objArgs(i) ?
 

Всего записей: 1083 | Зарегистр. 13-01-2003 | Отправлено: 15:44 23-09-2004
K2D



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Почему и это он нехочет добавлять группу
Option Explicit
Dim CompName
Dim GroupName, oGroup
Dim UserName, oUser, objArgs
Dim DomainName,i, text
 
Set objArgs = WScript.Arguments
For i = 0 To objArgs.Count - 1
UserName = text & objArgs(i)
 
CompName = "имя компа"
DomainName = "домен.com"
If GroupName = "Administrators" or GroupName = "Администраторы" Then
Set oGroup = GetObject("WinNT://" & CompName & "/" & GroupName & ",group")
Set oUser = GetObject("WinNT://" & DomainName & "/" & UserName & ",group")
oGroup.Add(oUser.AdsPath)
oGroup.SetInfo
End If
Next
 
Добавлено
Вот етот работает нормально но хотелось бы чтобы мог определять русский или английский виндовс а етот скрипт тока для английского Помогите ПОЖАЛУЙСТА.
'On Error Resume Next
On Error Resume Next
'Option Explicit
Dim CompName
Dim GroupName, oGroup
Dim UserName, oUser, objArgs
Dim DomainName,i, text
Set objArgs = WScript.Arguments
For i = 0 To objArgs.Count - 1
UserName = text & objArgs(i)
CompName = "имя_компа"
GroupName = "Administrators"
DomainName = "домен.com"
Set oGroup = GetObject("WinNT://" & CompName & "/" & GroupName & ",group")
Set oUser = GetObject("WinNT://" & DomainName & "/" & UserName & ",group")  
oGroup.Add(oUser.AdsPath)
oGroup.SetInfo
Set oGroup = Nothing
Set oUser = Nothing
Next
Next

Всего записей: 42 | Зарегистр. 08-09-2004 | Отправлено: 16:44 23-09-2004
K2D



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

Всего записей: 42 | Зарегистр. 08-09-2004 | Отправлено: 13:06 24-09-2004
AlexSSS

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
хочу поделиться опытом по борьбе с вирусами, spyware и прочей гадостью. Описания подобного способа почему-то больше нигде не встречал, хотя он прост и достаточно эффективен
***************
В логонный скрипт самой первым скриптом запускается прога, которая проверяет ветки
"HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices\"
"HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run\"
"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run\"
 
1. пишется лог на сервер
2. если есть запуски, которые внесены в "черный" список, то скрипт стирает строку автозапуска и пытается стереть сам файл на диске.
3. если есть запуски, которые внесены в "серый" список, то скрипт стирает строку автозапуска
4. В лог пишется инфа обо всех прогах ветки Uninstall
 
логонный скрипт запускается еще до  
"HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run\"
"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run\"
и как правило, успевает удалить автозапуск еще до момента самого запуска программы. Если прога уже запустилась, то удалить файл на диске невозможно, да и строку автозапуска они сами часто восстанавливают. Много гадости вычищается уже самим этим скриптом. Ну и следует периодически просматривать логи, чтобы обновлять черный список, да и смотреть, что там у пользователей понаставлено.

Всего записей: 747 | Зарегистр. 26-06-2004 | Отправлено: 13:49 24-09-2004
Smitis



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

Цитата:
зачем же качать ??? он уже есть в системе  

Понял, спасибо, разобрался - в посте volkanin допустил ошибку
надо WinHttp.WinHttpRequest.5.1 вместо WinHttp.WinHttpRequest.5

Всего записей: 3179 | Зарегистр. 09-02-2003 | Отправлено: 00:34 25-09-2004
Jovanotti



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
AlexSSS
Неплохо
 Дело за малым скрипт выложи  ....  

Всего записей: 718 | Зарегистр. 22-12-2002 | Отправлено: 11:36 26-09-2004
Ptrovich



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Я скачал себе мануалс по Windows Script Technology c MSDN, как тут и рекомендовали, дето в начале. Там говорится, что чтобыи спользовать WSH надо :
 

Цитата:
To enable Remote WSH, use Poledit.exe on the server.  

 
затем говорится про какой то файл  windowsscript.adm  , который якобы нужно стянуть с  
http://msdn.microsoft.com/scripting . Я был там но ничего не нашел. Нсколько нужны эти файлы для простых задач, типа написать скрипт для расшаривания ресурсов на удаленном компе, либо , текущая актуальная задача, с которй пошла у меня все свистопляска6 я хочу написать скрипт, который бы каждый час заменивал на удаленной машине под ВИН 98 значение ключа HKLM/Network/Logon/username  на sample  с любого ,каким бы оно ни было.

Всего записей: 125 | Зарегистр. 26-01-2003 | Отправлено: 09:59 28-09-2004
AlexSSS

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

Всего записей: 747 | Зарегистр. 26-06-2004 | Отправлено: 10:15 28-09-2004
kibkalo



Убью Билла
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ptrovich
Попробуй в HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Script Host\Settings создать два ключа: Remote и IgnoreUserSettings (типа string) и присвой им значение единицы. Должно сработать.
windowsscript.adm   так и не был выпущен микрософтом. Я себе свой шаблон делал для этого по описанию русурс кита.

Всего записей: 2342 | Зарегистр. 10-04-2002 | Отправлено: 10:58 28-09-2004
   

Страницы: 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.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru