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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mishgunnn
похоже тут тот же глюк, что и в первом случае. У меня на подобном скрипте вылетает та же ошибка
 
работает вариант моего первого скрипта ;o)
замени в моем скрипте  
Set objOU = GetObject("LDAP://cn=computers,dc=dom1,dc=dom2")  
на  
Set objOU = GetObject("LDAP://cn=users,dc=dom1,dc=dom2")
 
если ты используешь OU для пользователей, то можно, либо прописать все требуемые OU в скрипте, либо написать дополнительный кусок в скрипт, который берет из AD все OU с их DistinguishedName и по нему открывает новый обьект
Set objOU = GetObject("LDAP://" &DistinguishedName), а дальше уже по первому скрипту.
 
Нормально получить LastLogon через запрос ADODB у меня слету не получилось.
 
 
 
Добавлено:
Работающий вариант по принципу перебора OU
On Error Resume Next
 
Set objConnection = CreateObject("ADODB.Connection")
objConnection.provider = "ADsDSOObject"
objConnection.Open ("Active Directory Provider")
 
Set objRecordset = CreateObject("ADODB.Recordset")
 
CommandText = "Select DistinguishedName"
CommandText = CommandText + " from 'LDAP://DC=dom1,DC=dom2'"
CommandText = CommandText + " where objectClass='organizationalUnit' or objectClass='Container'"
 
objRecordset.CursorLocation = 2
objRecordset.Open CommandText, objConnection
 
n = 0
While Not objRecordset.EOF
    DistinguishedName = objRecordset.fields("DistinguishedName").Value
    Set objOU = GetObject("LDAP://" & DistinguishedName)
    objOU.Filter = Array("user")
    For Each obj In objOU
        n = n + 1
        Cells(n, 1).Value = obj.cn
        Cells(n, 2).Value = obj.LastLogin
        Cells(n, 3).Value = n
    Next
    objRecordset.MoveNext
Wend

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



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
AlexSSS и другим знатокам...;)
 
Возвращаясь к моему вопросу о получении SID локальной группы.
 
Скрипт приведенный на http://forum.ru-board.com/topic.cgi?forum=8&bm=1&topic=1908&start=640 работает только на XP....Может есть другие варианты?
 

Всего записей: 220 | Зарегистр. 04-04-2003 | Отправлено: 09:51 03-05-2005
Mishgunnn

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
AlexSSS
Снова спасибо! У меня действительно в OU пользователи расположены, поэтому пришлось применить твой метод обхода по OU.
Обнаружил кстати очередную непонятность: objOU.Filter = Array("user") как-то странно работает, выводятся и компы и юзеры Если написать objOU.Filter = Array("computer"), то компьютеры только выводятся, без юзеров. Я слегка скрипт модифицировал, приписал вот такую штуку:
If DistinguishedName = "CN=Computers,DC=myDomain,DC=ru" Then
        objRecordset.MoveNext
        DistinguishedName = objRecordset.fields("DistinguishedName").Value
End If
Тогда компьютеры не попадают в список.
А еще есть такая особенность, что между контроллерами домена атрибут LastLogon и Logon Count не реплицируются. Если контроллеров несколько, надо со всех брать значения и сравнивать. У меня 3 контроллера и бывает, что между двумя по какаму-нибудь пользователю между двумя DC разница в год, а на третьем он вообще не логинился не разу.

Всего записей: 14 | Зарегистр. 13-05-2004 | Отправлено: 10:12 03-05-2005
AlexSSS

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mishgunnn
> objOU.Filter = Array("user") как-то странно работает
в таких случаях смотри ADSI Edit - там видно, какие свойства есть у конкретных обьектов.
Действительно, на компах почему-то есть и принадлежность группе Users, я об этом забыл упомянуть. У меня домен Win2000 mixed, может в 2000 native или 2003 native это уже не так, не знаю.  
Впрочем, ты нашел вполне нормальное решение. Если бы у тебя компы тоже были в разных OU, то надо было проверять каждый obj, убеждаясь, что его objectClass не содержит "Computer"
 
> Если контроллеров несколько, надо со всех брать значения и сравнивать
по памяти не помню синтаксиса, но LDAP вроде позволяет коннектится к конкретному DC. Оформляешь скрипт, как процедуру с входным параметром имени DC. И вызываешь эту процедуру для каждого сервера. Если делать это в экселе, то вначале вообще считываются все пользователи (или компьютеры), а затем скрипт не пишет нового пользователя, а находит уже имеющегося на листе, сравнивает время его последнего входа, если оно меньше, чем на текущем сервере, то пишет новое значение
 
 
Добавлено:
RussianBear
> Скрипт  работает только на XP
Проверь, возможно можно обновить WMI на более старых версиях Windows.
 
Другого решения этой задачи я пока не нашел.
А для чего тебе вообще нужен SID локальных групп? Скорее всего вообще есть решения твоей первичной задачи, которое не требует SID групп
 
PS. Проверял другого провайдера, WinNT, он позволяет взять перечень групп и на Win2000, однако для локальной группы можно взять только имя

Всего записей: 747 | Зарегистр. 26-06-2004 | Отправлено: 11:09 03-05-2005 | Исправлено: AlexSSS, 11:18 03-05-2005
RussianBear



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
AlexSSS
 
Насчет обновления WMI - мысль интересная...поищу...
 
Увы, но SID обязательно нужен. Его значение потом хочу преобразовать определенным образом...
 
Появилась идея использовать WbemScripting для того что б добраться до искомой информации, но пока никак не пойму как это сделать...
Сервисами так рулить получалось...
 
Добавлено:
Нашел вот такой вот скрипт:
 
Dim sServer
sServer = "."
 
DoWin32_Account
 
Sub DoWin32_Account
    On Error Resume Next
 
    Dim SWbemLocator
    Set SWbemLocator = CreateObject("WbemScripting.SWbemLocator")
 
    Dim SWbemServices
    Set SWbemServices = SWbemLocator.ConnectServer(sServer,"root\CIMV2")
 
    Dim objWbemObjectSet
    Set objWbemObjectSet = SWbemServices.ExecQuery("Select * From Win32_Account", "WQL")
 
    Dim sProperty
 
    For Each sProperty in objWbemObjectSet
        DoWrite "Caption", DoCheckIfEmpty(sProperty.Caption)
        DoWrite "Description", DoCheckIfEmpty(sProperty.Description)
        DoWrite "Domain", DoCheckIfEmpty(sProperty.Domain)
        DoWrite "InstallDate", DoCheckIfEmpty(sProperty.InstallDate)
        DoWrite "LocalAccount", DoCheckIfEmpty(sProperty.LocalAccount)
        DoWrite "Name", DoCheckIfEmpty(sProperty.Name)
        DoWrite "SID", DoCheckIfEmpty(sProperty.SID)
        DoWrite "SIDType", DoCheckIfEmpty(sProperty.SIDType)
        DoWrite "Status", DoCheckIfEmpty(sProperty.Status)
        Wscript.Echo  
    Next
End Sub
 
Function DoCheckIfEmpty(sValue)
    If IsNull(sValue) Then
        DoCheckIfEmpty = "Empty"
    Else
        DoCheckIfEmpty = sValue
    End If
End Function
 
Sub DoWrite(sText, sValue)
    WScript.Echo sText & DoFormat(sText), sValue
End Sub
 
Function DoFormat(sText)
    DoFormat = Space(13 - Len(sText)) & " = "
End Function
 
Работает на W2K....
 
Кстати, сайт полезный - www.Wbem.dk
Может в шапку его?

Всего записей: 220 | Зарегистр. 04-04-2003 | Отправлено: 11:35 03-05-2005
AlexSSS

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
RussianBear, если сможешь, напиши небольшое описание COM обьекта WbemScripting - нужно ли его инсталлировать, под какими операционками работает, какие задачи решает. Ссылку на такое описание вполне можно кинуть и в шапку.
 
Я вообще с этим обьектом раньше не сталкивался и если бы увидел просто ссылку на него, то пропустил - мало ли каких COM обьектов есть в виндовсе

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



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Mishgunnn
скрипт, заносящий всех полльзователей домена в файл CSV с атирибутом LastLogon
 
Проблема в том, что LastLogon имеет не целочисленное значение, а длинное целое, поэтому обычными методами не выводиться..
 
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/adschema/adschema/a_lastlogon.asp

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

Всего записей: 3794 | Зарегистр. 16-07-2004 | Отправлено: 13:22 03-05-2005
RussianBear



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
AlexSSS
 
Он вроде как встроенный, потому как никаких действий перед работой с ним я не предпринимал...
 
Описание - вот оно вроде бы http://msdn.microsoft.com/library/en-us/wmisdk/wmi/scripting_with_swbemobject.asp
 
Ну или просто поищи в MSDN по слову WbemScripting...

Всего записей: 220 | Зарегистр. 04-04-2003 | Отправлено: 14:24 03-05-2005
Mishgunnn

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
сообщаю всем заинтересованным лицам, что в 2003 домене последнее время входа пользователя можно определить всего одной строчкой кода!!!! Вот она:
dsquery user -inactive число_недель

Всего записей: 14 | Зарегистр. 13-05-2004 | Отправлено: 13:06 05-05-2005
DOE_JOHN

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Интересует следуюшее.
Возможно ли с помощью cmd, скриптов установить в системе Micrsoft LoopBack Adapter, переименовать его из "соединение 1"(точно не помню, или 2, если есть и физический адаптер) в Micrsoft LoopBack Adapter. И назначить IP.  
 
Так же интересует возможность переноса на свежеустановленную систему политик безопасности, разрешений на ntfs. Что бы запустил несколько файлов и готово. Или я сильно губу раскатал?

Всего записей: 1595 | Зарегистр. 09-05-2004 | Отправлено: 22:25 09-05-2005
FreemanRU



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

Цитата:
Возможно ли с помощью cmd, скриптов установить в системе Micrsoft LoopBack Adapter, переименовать его из "соединение 1"(точно не помню, или 2, если есть и физический адаптер) в Micrsoft LoopBack Adapter. И назначить IP.

 
netsh interface set

Цитата:
 
Использование: set interface [name = ] Имя_интерфейса
              [ [admin = ] ENABLED|DISABLED
              [connect = ] CONNECTED|DISCONNECTED
              [newname = ] Новое_имя ]
 
      Устанавливает параметры интерфейса.
 
      IfName  - Имя интерфейса
      admin   - Должен ли этот интерфейс быть разрешенным (только не в LAN).
      connect - Подключен ли этот интерфейс (только не в LAN).
      newname - Новое имя этого интерфейса (только LAN).
 
      Примечания:
      - Кроме текущего имени должен быть указан по крайней мере один параметр.
      - Если указано connect = CONNECTED, то интерфейс будет автоматически
        разрешен, даже если указано значение параметра
        admin = DISABLED.
 

 

Цитата:
политик безопасности

Домен? Что именно надо перенести? В основном ответ да....
 

Цитата:
разрешений на ntfs

В прямую - нет. Только если пользователи будут именнованы также как и были, тогда обходом по всем папка и файлам, сохранение информации по доступу, поптом восстановление из сохраненного (это так сказать алгоритм реализация может быть разной)

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

Всего записей: 3794 | Зарегистр. 16-07-2004 | Отправлено: 23:07 09-05-2005
AlexWhite1



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

Всего записей: 157 | Зарегистр. 20-10-2004 | Отправлено: 12:43 10-05-2005
AlexSSS

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

Всего записей: 747 | Зарегистр. 26-06-2004 | Отправлено: 13:20 10-05-2005
Tim72



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

Цитата:
Как сделать так, чтобы на время выполнения команды (сценария) выключение компьютера приостанавливалось?

"LastChance v1.03" умеет это делать...
 
 
Подскажете пожалуйста, как из командной строки, если это возможно, переключать "Toolbars"  
PS хотелось бы, с помощью nncrona, переключать Toolbarы, в зависимости от запущенных программ...

Всего записей: 2480 | Зарегистр. 16-02-2002 | Отправлено: 14:40 10-05-2005
AlexWhite1



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

Цитата:
"LastChance v1.03" умеет это делать...  

Спасибо. А встроенными средствами VBScript можно?
 

Всего записей: 157 | Зарегистр. 20-10-2004 | Отправлено: 15:04 10-05-2005
FreemanRU



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

Цитата:
 
Админить я начал недавно и в основном пока только разбираюсь. Ситуация такая. Есть куча компов общей сети пока нет, но несколько машин объединены в workgroop. Все настраиваются аналогично(2 пользователя Admin и User, набор программ, разрешения на ntfs что бы userы не очень лазили по C:\ и все такое). Берется одна машина, подготавливается, снимается образ Goost и разворачивается на машыны с похожей конфигурацией.  
Ставиться W2k.  
Изменить некоторые системные переменные, расположение My Documents(нашел как сделать это через реестр)  
Только все равно приходиться много делать ручками. Профиль User перемещаемый и чтобы он работал необходим Micrsoft LoopBack Adapter, его приходиться устанавливать и настраивать на IP самостоятельно.  
Для политик безпасности используется poledit и шаблоны( пока не совсем разобрался и поэтому не очень нравиться), но можно ли как нибудь прописывать их через реестр(они ведь там храняться)?  
Чтобы все проги корректно работали под урезанным в провах Userом надо на некоторые папки и ветки реестра ему дать доступ(например MS VisualBasic).  
 
Вот и хотелось автоматизировать работу с новой машиной. Запустил скрипт и вот уже ест виртуальный адаптер с прописаным IP. Еще скрипт и применены политики безопасности. Все в таком духе. Хотя что то меня занесло, прям только мышкой кликай. Если что нибудь знаешь об этом(что точно возможно, а что фантастика) подскажи в какую сторону копать
 

Батенька, по вам домен полачет. Это именно то, что вам нужно. А также DHCP.. в общем нормальная сеть...
 
PS И не надо подобные вопросы в ПМ писать.. форум - он на то и форум, чтоб все всё обсуждали... к тому же так больше мнений узанешь...
 
Добавлено:
AlexWhite1
а  

Код:
 
start /WAIT "csript logoff.vbs"
 

не помогает?


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

Всего записей: 3794 | Зарегистр. 16-07-2004 | Отправлено: 13:00 11-05-2005
Michigun



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Ковыряюсь, ковыряюсь, к стыду своему, уже вторую неделю - грызу гранит скриптинга. На данный момент передо мной стоит задача вытащить из БД MS SMS (aka System Management Server) MAC-адреса компутеров, находящихся там. Проблема в том, что я не могу найти в полях и свойствах каких объектов находятся интересующие меня записи. Как или где можно получить эту инфу?

Всего записей: 1623 | Зарегистр. 28-12-2004 | Отправлено: 17:51 11-05-2005
AlexWhite1



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

Цитата:
start /WAIT "csript logoff.vbs"
не помогает?  

нет
Дело в том, что скрипт помещен через групповую политику в папочку
%systemroot%\SYSVOL\domain\policy\......\USER\Scripts\Logoff\myscript.vbs
 
вот его содержимое

Цитата:
 
'Скрипт для копирования данных с  
Dim SourceDir, DestDir, MyUser, CompUser
Dim wshNetwork, objFSO
 
SourceDir = "x:\1C" //подключенный диск
DestDir =  "d:\Share\1C" //локальный диск
MyUser = "????" ' ник пользователя для которого должен выполниться код
CompUser ="????" 'имя компьютера на котором должен выполниться код
Const OverWriteFiles = TRUE
 
set wshNetwork = WScript.CreateObject("WScript.Network")
Set objFSO = CreateObject("Scripting.FileSystemObject")
 
If (LCase(MyUser) = LCase(wshNetwork.username)) _
and (LCase(CompUser) = LCase(wshNetwork.Computername)) Then
  objFSO.CopyFolder SourceDir , DestDir, OverWriteFiles
End If
 


Всего записей: 157 | Зарегистр. 20-10-2004 | Отправлено: 13:31 12-05-2005
AlexSSS

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

Всего записей: 747 | Зарегистр. 26-06-2004 | Отправлено: 13:37 12-05-2005
FreemanRU



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

Цитата:
start /WAIT "csript logoff.vbs"  
не помогает?  
 
нет  
Дело в том, что скрипт помещен через групповую политику в папочку  
%systemroot%\SYSVOL\domain\policy\......\USER\Scripts\Logoff\myscript.vbs  

 
да как это нет? ТОлько что проверил, все нормально.
Положи в \\tvoi_domen\SYSVOL\domain\policy\......\USER\Scripts\Logoff\logoff.cmd с содержимым что я тебе дал. Все будет ОК.
 
Для теста можешь сделать logoff.cmd и поставить туда одну строку - pause. У тебя "Appliying logoff script" будет висеть до посинения.

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

Всего записей: 3794 | Зарегистр. 16-07-2004 | Отправлено: 15:22 12-05-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