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

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



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
skylined
а зачем аналог?
 
WSHShell = WScript.CreateObject("WScript.Shell");
WSHShell.Run ("Net Send имя_кому_слать_сообщение "+"Текст")
 
ПС: JScript, правда

----------
Помни, что ребята в погонах не спят, они отсыпаются после вчерашнего :)

Всего записей: 392 | Зарегистр. 09-04-2002 | Отправлено: 17:36 06-07-2004
skylined

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

Всего записей: 294 | Зарегистр. 27-06-2003 | Отправлено: 20:16 06-07-2004
deda_Flint



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Странная ситуация однако, может кто встечался?
Беру скрипт с mcdn за основу.
 

Код:
 
Set wshNetwork = CreateObject("WScript.Network")
Set ADSysInfo = CreateObject("ADSystemInfo")
Set CurrentUser = GetObject("LDAP://" & ADSysInfo.UserName)
 

До этого момента все идет корректно

Код:
 
strGroups = LCase(Join (CurrentUser.MemberOf))
 

здесь начинаются траблы при запуске от имени доменного админа Join отрабатывает корректно
А при запуске от имени пользователя (пользователь является локальным администратором) "Ошибка выполнения Microsoft VBScript: Несоответствие типа: 'Join'"
но если написать код скрипта так:

Код:
 
strGroups = CurrentUser.MemberOf
strGroups = LCase  (strGroups)
 

то ситуация с ошибками с точностю до наоборот

Код:
 
If InStr(strGroups, "OU=Учебный класс") Then
wScript.Echo "Ученик!"
end if
 

Где я неправ?

Всего записей: 73 | Зарегистр. 27-01-2004 | Отправлено: 04:06 07-07-2004 | Исправлено: deda_Flint, 04:08 07-07-2004
Strizh



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

Цитата:
Set ADSysInfo = CreateObject("ADSystemInfo")  


Цитата:
при запуске от имени доменного админа Join отрабатывает корректно  


Цитата:
Несоответствие типа: 'Join'"  

 
всё правильно - аккаунт-то доменный
а ты пытаешься локальным ....
 
выбери метод, тот который тебе нужен.

----------
Помни, что ребята в погонах не спят, они отсыпаются после вчерашнего :)

Всего записей: 392 | Зарегистр. 09-04-2002 | Отправлено: 12:24 07-07-2004 | Исправлено: Strizh, 12:25 07-07-2004
deda_Flint



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

Цитата:
А при запуске от имени пользователя (пользователь является локальным администратором) "Ошибка выполнения Microsoft VBScript: Несоответствие типа: 'Join'"  

пользователь-то доменный
решилось так

Код:
 
Set ADSysInfo = CreateObject("ADSystemInfo")
Set CurrentUser = GetObject("LDAP://" & ADSysInfo.UserName)
strGroups =  join ( CurrentUser.GetEx("memberOf") )
 

Всего записей: 73 | Зарегистр. 27-01-2004 | Отправлено: 05:11 08-07-2004
Cuba



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

Код:
 
@Echo on
cls  
%systemdrive%  
cd \  
\\main2\users\xcacls.exe "Program Files\The Bat!" /T /E /C /G administrators:F everyone:F system:F /y >> \\main2\users\log.txt
cd  
cd \  
cd \  
cd \  
cd %systemroot%  
cd \  
 

В лог файле следующее:

Код:
 
processed directory: C:\Program Files\The Bat!
processed directory: C:\Program Files\The Bat!\MAIL
Access denied:  C:\Program Files\The Bat!\thebat.exe
Access denied:  C:\Program Files\The Bat!\MAIL\CONFIG.CDB
 

Как так?

Всего записей: 476 | Зарегистр. 15-07-2002 | Отправлено: 14:52 09-07-2004
AlexisZP

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Доброго времени суток!
Есть скрипт на вход пользователя в домен, мне нужно в зависимости от значения ветки в реестре выполнять ветвление. Вот пример, того, что есть:
====
Dim Perem
set WSHShell = WScript.CreateObject("WScript.Shell")
 
Perem = ""
 
On Error Resume Next
GetErr()
if Err.Source="WshShell.RegRead" then
   Perem = "Параметр не существует"
else
   Perem = WSHShell.RegRead("HKLM\Software\Oracle\home0\oracle_home")
end if
Err.Clear
 
'====
select case UCase(Perem)
  case "c:\orant"
    WSHShell.Popup "Орант"
  case "c:\orawin95"
    WSHShell.Popup "Оравин95"
end select
'====
' Просто вызываю для контроля
WSHShell.Popup Perem
 
Function GetErr()
   If WSHShell.RegRead("HKLM\Software\Oracle\home0\oracle_home") Then
End If
End Function
===============
метод Case не отрабатывает, хотя возможно я его неправильно понимаю....
Ну или Ваши варианты решения вопроса - ?

Всего записей: 55 | Зарегистр. 20-05-2004 | Отправлено: 16:08 13-07-2004
ooptimum



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

Цитата:
  case "c:\orant"
...
  case "c:\orawin95"

Используй "C:\ORANT" и "C:\ORAWIN95", раз уж выполняешь UCase(Perem).
 
 
Добавлено
Cuba

Цитата:
Как так?

А вот так. Батник-то выполняется с правами этого юзера. А не каждому юзеру дано право менять уровни доступа к исполняемым файлам. В общем, идея, я думаю, тебе ясна.
 
PS. Давненько я сюда не заглядывал, однако.

Всего записей: 2898 | Зарегистр. 30-05-2002 | Отправлено: 01:29 14-07-2004
LeSlav



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Не подскажет ли кто программу для перенаправления пакетов нестандартных протоколов? Необходимо перенаправлять пакеты протокола IP-уровня с идентификатором 250 на копьютер внутри сети. Нужно чтобы эта программка не конфликтовала с микрософтовким RRAS, который умеет перенаправлять только стандартные TCP и UDP.    
Существует подобная программа, которая называется PortTunnel, но она тоже работает только с TCP и UDP...

Всего записей: 304 | Зарегистр. 16-02-2004 | Отправлено: 12:01 14-07-2004
Cuba



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

Цитата:
А вот так. Батник-то выполняется с правами этого юзера. А не каждому юзеру дано право менять уровни доступа к исполняемым файлам. В общем, идея, я думаю, тебе ясна.  

дык это же логон скрипт, а логон скрипты выполняются от имени системы. .ИМХО..
или я не прав?
 
Если не прав, тогда как мне сделать скрипты, которые бы выполнялись от имени системы на всех компьютерах при логоне/логофе ?

Всего записей: 476 | Зарегистр. 15-07-2002 | Отправлено: 13:03 14-07-2004
ooptimum



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

Цитата:
или я не прав?

Логон-скрипты пользователя выполняются с привилегиями логинящегося пользователя.

Всего записей: 2898 | Зарегистр. 30-05-2002 | Отправлено: 14:47 14-07-2004
greenfox



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Hi people!
Посоветуйте скрипт или метод с помощь которого можно было бы вевести из АД все e-mail-ы пользователей в простой текстовый файл скаже (ну ексел это вообще предел мечтаний) - например: Имя пользователя (как в АД записано) - его мыл (тот который в эксчендже).

----------
Три вещи вечны: смерть, налоги и потеря данных...

Всего записей: 4139 | Зарегистр. 29-07-2003 | Отправлено: 17:54 15-07-2004
Cuba



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

Цитата:
Логон-скрипты пользователя выполняются с привилегиями логинящегося пользователя.

Вот это новость... вот те раз..
Хм.. тогда как мне запускать определенные командные файлы, или рег файлы, или скрипты из под прав администратора на всех кмопьютерах домена? Желательно указывая при логоне или при логофе... ?

Всего записей: 476 | Зарегистр. 15-07-2002 | Отправлено: 08:03 16-07-2004
warlock_hostel5

Newbie
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Hi ALL !
 
merlkerry  
Цитата:
16:54 15-06-2004  

 

Цитата:
есть такое чудо, как ActivePerl , ну а в нем это решается где-то так  
 
use Win32::Internet;  
$inet = new Win32::Internet();  
$file = $inet->FetchURL("http://forum.ru-board.com/");  
 
open  (OUTFILE, ">c:\forum.ruboard.txt" );  
print OUTFILE $file;  
close (OUTFILE);

 
А как это чудо будет выглядеть если файл(ы) надо залить на сервер и они формата *.rar или что-нибудь другое (не ASCII txt).
Нужна ли инсталляция ActivePerl на клиента или возможно создание батника (ехе-шника)?
 
Задача состоит в том, чтобы операторы разбросанные по городу (~ 100 объектов), и не имеющие постоянного соединения с интернетом (модем), должны периодически отправлять отчеты на центральный сервер. При этом участие в процессе самого оператора должно быть минимальным (в идеале вообще без его участия). Рабочие станции под Win9х и W2k.
 
Если сталкивались с подобным вопросом и можете помочь заранее спасибо.

Всего записей: 21 | Зарегистр. 28-02-2004 | Отправлено: 11:23 16-07-2004
AlexSSS

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
greenfox
> Посоветуйте скрипт или метод с помощь которого можно было бы вевести
> из АД все e-mail-ы пользователей в простой текстовый файл скаже
> (ну ексел это вообще предел мечтаний
 
привожу экселешный макрос, замени dom1, dom2 на свой домен (dom1.dom2)
 
Sub test1()
 
Cells.Select
Range("A1").Activate
Selection.ClearContents
     
On Error Resume Next
Set objou = GetObject("LDAP://cn=Users,dc=dom1,dc=dom2")
 
objou.Filter = Array("user")
       
Row = 1
 
For Each objUser In objou
                Cells(Row, 2).Value = objUser.cn
                Cells(Row, 5).Value = objUser.Get("mail")
                Cells(Row, 6).Value = objUser.Get("displayName")
             
                Row = Row + 1
Next
 
End Sub
 
PS. так можно вытянуть любые данные из AD

Всего записей: 747 | Зарегистр. 26-06-2004 | Отправлено: 14:59 19-07-2004 | Исправлено: AlexSSS, 15:01 19-07-2004
greenfox



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
AlexSSS
cool!!!    То что надо!! Большое спасибо!!
А то я просто экспорт списка в файл стандартными средствами нашёл как делать, а вот это... спасибо вобщем!


----------
Три вещи вечны: смерть, налоги и потеря данных...

Всего записей: 4139 | Зарегистр. 29-07-2003 | Отправлено: 15:11 19-07-2004 | Исправлено: greenfox, 15:11 19-07-2004
AlexSSS

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
greenfox, рад помочь ;o)
 
очень рекомендую страничку TechNet Script Center
http://www.microsoft.com/technet/scriptcenter/default.mspx
 
в первую очередь скачай
Download all the scripts in HTML Help format
там куча скриптов на все случаи жизни, основа для приведенного мною выше скрипта тоже взята оттуда.
А информацию из скриптов очень удобно размещать в экселе, засовывая немного видоизмененные макросы в экселешный Visual Basic Editor, что собственно и было мной сделано.

Всего записей: 747 | Зарегистр. 26-06-2004 | Отправлено: 15:23 19-07-2004
greenfox



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

Цитата:
очень рекомендую страничку TechNet Script Center
ок!

Цитата:
в экселешный Visual Basic Editor
да я вот с ним то как раз и не очень работал... всё равно спасибо!


----------
Три вещи вечны: смерть, налоги и потеря данных...

Всего записей: 4139 | Зарегистр. 29-07-2003 | Отправлено: 15:28 19-07-2004
skylined

Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Уважаемые а не подскажет ли ктондь как установить батником или ВБСом ДХСПсервер по умолчанию? И есть ли ваще такой способ?
Дело в том что я снес дхсп на одном компе, поднял на другом, а воркстэйшны другого почему-то не видят
 
ЗЫ заранее сенкс

Всего записей: 294 | Зарегистр. 27-06-2003 | Отправлено: 17:34 19-07-2004
Refugee

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

Цитата:
Желательно указывая при логоне или при логофе... ?

 
Если надо запускать программу при логоне/логофе пользователя под аккаунтом SYSTEM, можно использовать winlogon notification package. Писать его на C надо, но там ничего сложного.

Всего записей: 513 | Зарегистр. 31-03-2004 | Отправлено: 02:18 20-07-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