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

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

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
inew
сделай домен и не парься ;o)

Всего записей: 747 | Зарегистр. 26-06-2004 | Отправлено: 10:51 15-02-2005
AlexisZP

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Интресует вопрос - как в зависимости от имени залогинившегося пользователя(имени компьютера - как вариант) исполнять разные команды в скрипте автологона на vbs ?
Домен на win2000, около 50 пользователей.
Что подскажете?

Всего записей: 55 | Зарегистр. 20-05-2004 | Отправлено: 12:48 18-02-2005
FreemanRU



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

Код:
 
Dim WshShell, UserName
 
Set WshShell = Wscript.CreateObject("Wscript.Shell")
UserName = WshShell.ExpandEnvironmentStrings("%username%")
if UserName = Pupkin then
.......
 

2. Identifying the User Logged on to a Remote Computer

Код:
 
strComputer = "RemoteComputer"
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")  
Set colComputer = objWMIService.ExecQuery ("Select * from Win32_ComputerSystem")
For Each objComputer in colComputer
Wscript.Echo objComputer.UserName
Next
 


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

Всего записей: 3795 | Зарегистр. 16-07-2004 | Отправлено: 13:18 18-02-2005
AlexSSS

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
нужно получить список пользователей группы MKT
1. Запрос через провайдера LDAP
set objGroup = GetObject ("LDAP://cn=MKT,ou=Groups,dc=dom1,dc=dom2")
objGroup.GetInfo
For Each objUser In objGroup.Members
' выводится десяток пользователей
Next
 
2. Запрос через провайдера WinNT
set objGroup = GetObject ("WinNT://dom1.dom2/MKT")
objGroup.GetInfo
For each objMember in objGroup.Members
' Выводится полный список группы, несколько десятков пользователей
Next
 
Почему в случае запроса через LDAP выводится только часть пользователей группы?

Всего записей: 747 | Зарегистр. 26-06-2004 | Отправлено: 13:59 23-02-2005 | Исправлено: AlexSSS, 21:51 14-03-2005
Ducky



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Не подскажите, как изменить дату последней модификации файла каким-нибудь скриптом ?

Всего записей: 89 | Зарегистр. 23-04-2003 | Отправлено: 15:55 24-02-2005
igor_andreev

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ducky
У автора RegShot есть консольная утилитка sft.exe http://the7thlab.mybesthost.com/
Запускай из батника или скрипта и меняй.

Всего записей: 1704 | Зарегистр. 08-12-2004 | Отправлено: 18:18 24-02-2005
AlexSSS

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Можно ли каким-либо образом сделать запрос из AD через LDAP с условием по маске?
 
Группы в AD имеют название "FIRM_Otdel". Мне нужно получить список групп подотделов по маске "FIRM1*" или групп секретарей по маске "*Secretary"
Пока делаю это, делая выборку всех групп и дальнейшим перебором.
 
Пробовал использовать ADODB, но там конструкция LIKE для LDAP почему-то не поддерживается
 
Нашел решение. Конструкция LIKE в запросе SELECT не поддерживается, зато у рекордсета поддерживается свойство FILTER с LIKE
 
Set objConnection = CreateObject("ADODB.Connection")
objConnection.provider = "ADsDSOObject"
objConnection.Open ("Active Directory Provider")
 
CommandText = "Select cn, name"
CommandText = CommandText + " from 'LDAP://DC=dom1,DC=dom2'"
CommandText = CommandText + " where objectClass='Group'"
CommandText = CommandText + " ORDER BY cn"
 
Set objRecordset = CreateObject("ADODB.Recordset")
objRecordset.Open CommandText, objConnection
 
objRecordset.Filter = "cn like 'firm_%'"
While Not objRecordset.EOF
      msgbox(objRecordset.fields("cn").Value)
      objRecordset.MoveNext
Wend

Всего записей: 747 | Зарегистр. 26-06-2004 | Отправлено: 17:16 25-02-2005 | Исправлено: AlexSSS, 11:04 04-03-2005
Mishgunnn

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
2 Inew
 
Для смены пароля примерно так действоавть надо (см ниже). Возможно придется доработать: сделать циклы, если много компов и пользователей, проверку компа на доступность (пинг, например), обработку ошибок.
 
'Смена пароля. В переменной compname - имя компа, вместо Администратор подставь пользователя
Set objUser = GetObject("WinNT://" & compname & "/Администратор, user")
'типа здесь пассворд задаем
objUser.SetPassword pass
If Err <> 0 Then
    comperr.WriteLine(compname)
               Err.Clear
End If
'сохраняем изменения
objUser.SetInfo
If Err <> 0 Then
    comperr.WriteLine(compname)
Err.Clear

Всего записей: 14 | Зарегистр. 13-05-2004 | Отправлено: 11:07 02-03-2005
Di Man

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
на удалеНой машине CompFake запускаеЦа скрипт ScriptFake  
запускаеЦа скриптом RunRemote таким образом:
 
//////////////////////////////
RunRemote.wsf
//////////////////////////////
 
ScriptFake = "C:\\ScriptFake.wsf";
CompFake = "Fake";
 
...
Controller=WScript.CreateObject("WshController");
RemScript=Controller.CreateScript(ScriptFake,CompFake);
RemScript.Execute();
...
 
while (RemScript.Status!=2)  
WScript.Sleep(100);  
WScript.Echo("Выполнение удаленного сценария завершено");  
 
//////////////////////////////
 
ScriptFake должен создать файл отчета(допустим в Exel) с результатами своего выполнения  и сохранить его на сервер в шару ShareFake...  
 
Проблема: сохранить отчет получаеЦа только на локальные диски CompFake...
в принципе только они и доступны в коллекции Drives....
замапить ShareFake как новый диск не получаеЦа
 
//////////////////////////////
ScriptFake.wsf
//////////////////////////////
 
SomeDrive="X:";
ShareFake="\\\\server\fake$";
 
...
WshNetwork=WScript.CreateObject("WScript.Network");          
WshNetwork.MapNetworkDrive(SomeDrive,ShareFake);
...
 
//////////////////////////////
 
если RunRemote.wsf запустить на CompFake то сеть видна и Exel сохраняет отчет на сервер напрямую (без мапинга хотя и он в этом случае успешно проходит)
 
//////////////////////////////
ScriptFake.wsf
//////////////////////////////
 
XL=WScript.CreateObject("Excel.Application");
....
XL.ActiveWorkbook.SaveAs(ShareFake+"\\report.xls");
XL.Quit();
 
//////////////////////////////
 
после выполнения скрипта и вывода об успешном выполнения в task-ах CompFake продолжает висеть Exel...  
 
Вопрос: как запустить скрипт на удалеНой машине и результат его выполнения записать на машину в сети?
 

Всего записей: 1 | Зарегистр. 05-03-2005 | Отправлено: 16:25 05-03-2005
Refugee

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

Цитата:
на удалеНой машине CompFake запускаеЦа скрипт ScriptFake  

при этом на удаленную машину не передается пароль пользователя, запустившего скрипт, и он не может авторизоваться на сервере.
 

Цитата:
Вопрос: как запустить скрипт на удалеНой машине и результат его выполнения записать на машину в сети?

можно в скрипте вызвать WshNetwork.MapNetworkDrive( ..., пароль..)
а можно записать результат выполнения записать на локальный диск и скопировать на сервер со стороны сервера.  
 
PS. получаеЦа, удалеНой - пиши по-человечески
 

Всего записей: 513 | Зарегистр. 31-03-2004 | Отправлено: 21:59 07-03-2005
Jovanotti



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

Цитата:
Вопрос: как запустить скрипт на удалеНой машине и результат его выполнения записать на машину в сети?

Можно батником и утилитой   remoteexec  из комплекта  pstools  от Винтерналс
пара строчек кода

Всего записей: 718 | Зарегистр. 22-12-2002 | Отправлено: 17:21 14-03-2005
greenfox



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Надо из группы всех её мемберов в эксель экспортнуть... нашёл скрипт на мс -е:

Код:
On Error Resume Next
 
Set objGroup = GetObject _
  ("LDAP://cn=Scientists,ou=R&D,dc=NA,dc=fabrikam,dc=com")
objGroup.GetInfo
 
arrMemberOf = objGroup.GetEx("member")
 
WScript.Echo "Members:"
For Each strMember in arrMemberOf
    WScript.echo strMember
Next

 
из него нарисовал вот этот макрос:

Код:
 
Sub test1()  
 
Cells.Select  
Range("A1").Activate  
Selection.ClearContents
 
On Error Resume Next
 
Set objGroup = GetObject _
  ("LDAP://cn=Internet Mail,ou=Users,dc=xxx,dc=ru")
objGroup.GetInfo
 
arrMemberOf = objGroup.GetEx("Internet Mail")
Row = 1
WScript.Echo "Members:"
For Each strMember in arrMemberOf
    WScript.echo strMember
Cells(Row, 2).Value = strMember
Row = Row + 1
Next
 
End Sub

и что-то не работает Ткните что не так!?

Всего записей: 4139 | Зарегистр. 29-07-2003 | Отправлено: 19:40 14-03-2005 | Исправлено: greenfox, 19:41 14-03-2005
AlexSSS

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
greenfox
если нужно просто список пользователей, то лови скрипт через другого провайдера
 
Sub test1()
 
Cells.Select
Range("A1").Activate
Selection.ClearContents
 
Set objGroup = GetObject("WinNT://dom1.dom2/Internet Mail")
objGroup.GetInfo
Row = 1
For Each objUser In objGroup.Members
    Cells(Row, 1).Value = objUser.Name
    Cells(Row, 2).Value = objUser.FullName
    Row = Row + 1
Next
 
End Sub
 
 
Добавлено:
чтобы тебе разобраться в твоем скрипте, советую отключить  On Error Resume Next - тогда ты сразу увидишь, где у тебя ошибки
 
> ("LDAP://cn=Internet Mail,ou=Users,dc=xxx,dc=ru")  
Users - это cn, а не ou
 
> arrMemberOf = objGroup.GetEx("Internet Mail")  
такого свойства у группы нет, надо все же  
arrMemberOf = objGroup.GetEx("member")  
 
Поставь на сервак или себе на комп
Windows 2000/2003 Support Tools, там есть ADSI Edit, с ее помощью можно в посмотреть всю структуру домена, кто куда входит и у кого какие свойства есть и чему они равны

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



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

Цитата:
> ("LDAP://cn=Internet Mail,ou=Users,dc=xxx,dc=ru")  
Users - это cn, а не ou  
те правильно будет "LDAP://cn=Internet Mail,cn=Users,dc=xxx,dc=ru"!? (internet mail это группа в контейнере стандартном Users)
Цитата:
такого свойства у группы нет, надо все же  
arrMemberOf = objGroup.GetEx("member")  
ок, тогда получается что-то типа того
Код:
Sub test1()
 
Cells.Select
Range("A1").Activate
Selection.ClearContents
 
On Error Resume Next
   
Set objGroup = GetObject _
  ("LDAP://cn=Internet Mail,cn=Users,dc=xxx,dc=ru")
objGroup.GetInfo
   
arrMemberOf = objGroup.GetEx("member")
Row = 1
WScript.echo "Members:"
For Each strMember In arrMemberOf
    WScript.echo strMember
Cells(Row, 1).Value = objUser.FullName
Row = Row + 1
Next
 
End Sub
что-то не работает...
 
ps да и кстати, не подскажешь какой-н офлайн мануал по скриптингу, а то на мс-е всё в мсдн формате...
 
 

Всего записей: 4139 | Зарегистр. 29-07-2003 | Отправлено: 13:50 15-03-2005
AlexSSS

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
совсем правильно так
 
Sub test1()
Cells.Select
Range("A1").Activate
Selection.ClearContents
   
Set objGroup = GetObject _
  ("LDAP://cn=Internet Mail,cn=Users,dc=xxx,dc=ru")
objGroup.GetInfo
   
arrMemberOf = objGroup.GetEx("member")
Row = 1
For Each strMember In arrMemberOf
    Cells(Row, 1).Value = strMember
    Row = Row + 1
Next
End Sub
 
чтобы лучше понимать, что именно и откуда берется, поставь себе
Windows Server 2003 Administration Tools Pack (или для 2000-го). В прошлом сообщении я неправильно указал его название.
Там в ADSI Edit можно посмотреть, что конкретно тебе должен выдать этот скрипт. Выбираешь домен, cn=Users, cn=Internet Mail, открываешь его и смотришь Attributes-->Optional-->member
там должен быть тот же список, что и Экселе
 
Но, лично у меня, в свойстве Member для многих групп пользователи не все, которые реально входят в эту группу. С чем это связано, я не знаю. Хотя домен работает без проблем и все пользователи получают все права, которые положены им по группам.  
 
кстати, твоя задача может решаться и немного другим способом, плюс этого скрипта в том, что получаешь не просто названия пользователей, а обьекты пользователей, с которых можно снимать любые свойства
 
Sub test1()
 
Cells.Select
Range("A1").Activate
Selection.ClearContents
 
Set objGroup = GetObject("LDAP://cn=Internet Mail,ou=Users,dc=xxx,dc=ru")
objGroup.GetInfo
Row = 1
For Each objUser In objGroup.Members
    Cells(Row, 1).Value = objUser.cn
    Cells(Row, 2).Value = objUser.Name
    Row = Row + 1
Next
 
End Sub
 
Что касается ссылок на документацию - напишу попозже, когда будет больше времени (ее надо всю искать)

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



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

Цитата:
Sub test1()  
Cells.Select  
Range("A1").Activate  
Selection.ClearContents  
   
Set objGroup = GetObject _  
  ("LDAP://cn=Internet Mail,cn=Users,dc=xxx,dc=ru")  
objGroup.GetInfo  
     
arrMemberOf = objGroup.GetEx("member")  
Row = 1  
For Each strMember In arrMemberOf  
    Cells(Row, 1).Value = strMember  
    Row = Row + 1  
Next  
End Sub  

он выводит в формате "CN=Вася Пупкин,CN=Users,DC=xxx,DC=ru" а надо бы что бы полное имя писал...

Цитата:
кстати, твоя задача может решаться и немного другим способом, плюс этого скрипта в том, что получаешь не просто названия пользователей, а обьекты пользователей, с которых можно снимать любые свойства  
ну это как в первом варианте, который ты приводил, разница лишь в том, что там было
Цитата:
GetObject("WinNT://dom1.dom2/Internet Mail")  
кста, а чем в корне отличие от такого варианта
Цитата:
GetObject("LDAP://cn=Internet Mail,ou=Users,dc=xxx,dc=ru")  
!?
 
 

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

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Первый вариант засовывает в массив пользователей в том виде, котором ты их получил ("CN=Вася Пупкин,CN=Users,DC=xxx,DC=ru") ;o)
 arrMemberOf = objGroup.GetEx("member")  
 
второй вариант перебирает обьекты пользователей, у которых можно взять нужные аттрибуты
вставь его в эксель и увидишь сам разницу.
 
Добавлено:
Вопрос всем, сам уже не знаю куда копать.
 
Почему в ADSI Edit и Active Directory Users and Computers данные могут не совпадать???
 
Active Directory Users and Computers - есть группа Group, в которой 10 пользователей.
ADSI Edit - cn=Group, аттрибут Member - всего два пользователя.
 
Active Directory Users and Computers - User1 входит в Group1
ADSI Edit  - cn=Group, аттрибут Member - этот пользователь отсутствует
ADSI Edit  - cn=User1, аттрибут MemberOf - группа Group1 в ней отстутствует
 
При этом домен работает без проблем, все пользователи имеют все права, которые прописаны в Active Directory Users and Computers.
 
Подозреваю, что одна из причин может быть в том. что у меня домен работает в Mixed Mode. Но как сделать так, чтобы ADSI показывал актуальные значения???

Всего записей: 747 | Зарегистр. 26-06-2004 | Отправлено: 15:22 15-03-2005
leputain



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

Код:
var wbemFlagReturnImmediately = 0x10;
var wbemFlagForwardOnly = 0x20;
 
var arrComputers = new Array("HOME","ADMIN1");
var strLogsPath = "\\\\HOME\\eventlog\\";
 
for (i = 0; i < arrComputers.length; i++)  
{
   var objWMIService = GetObject("winmgmts:{(Backup,Security)}\\\\" + arrComputers[i] + "\\root\\CIMV2");
   WScript.Echo(arrComputers[i] + ": connected");
   var colItems = objWMIService.ExecQuery("SELECT * FROM Win32_NTEventlogFile", "WQL",
                                          wbemFlagReturnImmediately | wbemFlagForwardOnly);
   WScript.Echo(arrComputers[i] + ": WMI Query");
   var enumItems = new Enumerator(colItems);
   for (; !enumItems.atEnd(); enumItems.moveNext())  
   {
      var objItem = enumItems.item();
      WScript.Echo(arrComputers[i] + ": " + objItem.LogfileName);      
      var strBackupFile = strLogsPath + arrComputers[i] + "_" + TimeNow() + "_" + objItem.LogfileName + ".evt";      
 
      try { objItem.BackupEventLog(strBackupFile) }
         catch(e) { WScript.Echo(strBackupFile + " couldn't be saved."); }
 
      try { objItem.ClearEventLog() }
         catch(e) { WScript.Echo(objItem.LogfileName + " couldn't be cleared."); }
 
   }
}
   
 
function TimeNow()
{
   d = new Date();
   var strNow = "";
   strNow += LeadingZero(d.getFullYear()) + "_";
   strNow += LeadingZero((d.getMonth()) + 1) + "_";
   strNow += LeadingZero(d.getDate()) + "_";
   strNow += LeadingZero(d.getHours()) + "_";
   strNow += LeadingZero(d.getMinutes()) + "_";
   strNow += LeadingZero(d.getSeconds());
   return(strNow);
}
 
function LeadingZero(intNum)
{
   if (10 > intNum)
      { intNum = "0" + intNum;}
   return(intNum);
}

 
Добавлено:
запускаю на home.
и он скидывает дамы в шару.
а удаленный комп не скидывает.
я прочел на msnews.public.script.remote, что удаленно исполняемый скрипт не имеет доступа к сетевым ресурсам.
что исправить, чтобы работало?
 
Добавлено:
*дампы
 
Добавлено:
и ещё вопрос - как сделать в task scheduler задание которое, бы запускалось из-под local system каждые 3 часа?

Всего записей: 1434 | Зарегистр. 24-11-2002 | Отправлено: 15:09 16-03-2005
Garreth



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ситуация такая.  
По разным причинам необходимо сменить ip-сеть. Соответственно необходимо сменить настройки Outlook Express на клиентских машинах (т.е. просто поменять Ip-адреса SMTP и POP3 серверов). Парк разношерстный - есть 98, 2000 и XP. Версии OE 5 и 6.  В сети домен на 2003, но режим 2000. Конечно, можно пройтись по всем машинам и руками прописать. Заодно с людьми пообщаться. Но! 1. Машин аж под 300 штук. 2. Да и неспортивно как-то. Если кто-то уже пробовал сделать это, то поделитесь решением. Или просто подскажите.

Всего записей: 170 | Зарегистр. 06-10-2003 | Отправлено: 20:27 16-03-2005
AlexSSS

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Garreth
Я делал что-то подобное почти год назад, когда переходил на новую сетку (новый поддиапазон)
С Outlook Express это делается достаточно просто. Пишется логон скрипт, который проверяет  во всех ветках  
[HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Accounts]
значения POP3 Server и SMTP Server
Если они старые, то переписываются на новые.
 
IMHO, более грамотно будет прописать в DNS алиас MAIL на мейл сервер и прописать в качестве нового адреса MAIL.DOM1.DOM2
 
PS. Для Outlook 2000 адреса перепрописываются аналогично, но в другой ветке. Для Outlook 2003 где прописаны адреса серваков я не нашел, для Outlook XP - не помню
 
Добавлено:
leputain
> а удаленный комп не скидывает.
> я прочел на msnews.public.script.remote, что удаленно  
> исполняемый скрипт не имеет доступа к сетевым ресурсам.
> что исправить, чтобы работало?  
Я предпочитаю запускать любые проги на других компах через PsExec от  
PsTools
Copyright © 1999-2004 Mark Russinovich  
Sysinternals - www.sysinternals.com
 
Категорически рекомендую этот пакет программ, PsTools, всем админам ;o)

Всего записей: 747 | Зарегистр. 26-06-2004 | Отправлено: 21:14 16-03-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.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru