Централизованно меняем пароли локального системного администратора::Журнал СА 6.2006
www.samag.ru
     
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
Журнал "Системный администратор"
Журнал «БИТ»
Подписка
Архив номеров
Где купить
Наука и технологии
Авторам
Рекламодателям
Контакты
   

  Опросы
  Статьи

Событие  

В банке рассола ждет сисадмина с полей фрактал-кукумбер

Читайте впечатления о слете ДСА 2024, рассказанные волонтером и участником слета

 Читать далее...

Организация бесперебойной работы  

Бесперебойная работа ИТ-инфраструктуры в режиме 24/7 Как обеспечить ее в нынешних условиях?

Год назад ИТ-компания «Крок» провела исследование «Ключевые тренды сервисного рынка 2023». Результаты

 Читать далее...

Книжная полка  

Читайте и познавайте мир технологий!

Издательство «БХВ» продолжает радовать выпуском интересных и полезных, к тому же прекрасно

 Читать далее...

СУБД PostgreSQL  

СУБД Postgres Pro

Сертификация по новым требованиям ФСТЭК и роль администратора без доступа к данным

 Читать далее...

Критическая инфраструктура  

КИИ для оператора связи. Готовы ли компании к повышению уровня кибербезопасности?

Похоже, что провайдеры и операторы связи начали забывать о требованиях законодательства

 Читать далее...

Архитектура ПО  

Архитектурные метрики. Качество архитектуры и способность системы к эволюционированию

Обычно соответствие программного продукта требованиям мы проверяем через скоуп вполне себе понятных

 Читать далее...

Как хорошо вы это знаете  

Что вам известно о разработках компании ARinteg?

Компания ARinteg (ООО «АРинтег») – системный интегратор на российском рынке ИБ –

 Читать далее...

Графические редакторы  

Рисование абстрактных гор в стиле Paper Cut

Векторный графический редактор Inkscape – яркий представитель той прослойки open source, с

 Читать далее...

День сисадмина  

Учите матчасть! Или как стать системным администратором

Лето – время не только отпусков, но и хорошая возможность определиться с профессией

 Читать далее...

День сисадмина  

Живой айтишник – это всегда движение. Остановка смерти подобна

Наши авторы рассказывают о своем опыте и дают советы начинающим системным администраторам.

 Читать далее...

Виртуализация  

Рынок решений для виртуализации

По данным «Обзора российского рынка инфраструктурного ПО и перспектив его развития», сделанного

 Читать далее...

Книжная полка  

Как стать креативным и востребованным

Издательский дом «Питер» предлагает новинки компьютерной литературы, а также книги по бизнесу

 Читать далее...

Книжная полка  

От создания сайтов до разработки и реализации API

В издательстве «БХВ» недавно вышли книги, которые будут интересны системным администраторам, создателям

 Читать далее...

Разбор полетов  

Ошибок опыт трудный

Как часто мы легко повторяем, что не надо бояться совершать ошибки, мол,

 Читать далее...

1001 и 1 книга  
19.03.2018г.
Просмотров: 6143
Комментарии: 0
Машинное обучение с использованием библиотеки Н2О

 Читать далее...

12.03.2018г.
Просмотров: 6856
Комментарии: 0
Особенности киберпреступлений в России: инструменты нападения и защита информации

 Читать далее...

12.03.2018г.
Просмотров: 4139
Комментарии: 0
Глубокое обучение с точки зрения практика

 Читать далее...

12.03.2018г.
Просмотров: 2978
Комментарии: 0
Изучаем pandas

 Читать далее...

12.03.2018г.
Просмотров: 3781
Комментарии: 0
Программирование на языке Rust (Цветное издание)

 Читать далее...

19.12.2017г.
Просмотров: 3789
Комментарии: 0
Глубокое обучение

 Читать далее...

19.12.2017г.
Просмотров: 6283
Комментарии: 0
Анализ социальных медиа на Python

 Читать далее...

19.12.2017г.
Просмотров: 3134
Комментарии: 0
Основы блокчейна

 Читать далее...

19.12.2017г.
Просмотров: 3434
Комментарии: 0
Java 9. Полный обзор нововведений

 Читать далее...

16.02.2017г.
Просмотров: 7246
Комментарии: 0
Опоздавших не бывает, или книга о стеке

 Читать далее...

17.05.2016г.
Просмотров: 10616
Комментарии: 0
Теория вычислений для программистов

 Читать далее...

30.03.2015г.
Просмотров: 12336
Комментарии: 0
От математики к обобщенному программированию

 Читать далее...

18.02.2014г.
Просмотров: 13969
Комментарии: 0
Рецензия на книгу «Читаем Тьюринга»

 Читать далее...

13.02.2014г.
Просмотров: 9100
Комментарии: 0
Читайте, размышляйте, действуйте

 Читать далее...

12.02.2014г.
Просмотров: 7053
Комментарии: 0
Рисуем наши мысли

 Читать далее...

10.02.2014г.
Просмотров: 5362
Комментарии: 3
Страна в цифрах

 Читать далее...

18.12.2013г.
Просмотров: 4594
Комментарии: 0
Большие данные меняют нашу жизнь

 Читать далее...

18.12.2013г.
Просмотров: 3402
Комментарии: 0
Компьютерные технологии – корень зла для точки роста

 Читать далее...

04.12.2013г.
Просмотров: 3128
Комментарии: 0
Паутина в облаках

 Читать далее...

03.12.2013г.
Просмотров: 3378
Комментарии: 0
Рецензия на книгу «MongoDB в действии»

 Читать далее...

02.12.2013г.
Просмотров: 2999
Комментарии: 0
Не думай о минутах свысока

 Читать далее...

Друзья сайта  

 Централизованно меняем пароли локального системного администратора

Архив номеров / 2006 / Выпуск №6 (43) / Централизованно меняем пароли локального системного администратора

Рубрика: Администрирование /  Продукты и решения   | Дополнительные материалы

Иван Коробко

Централизованно меняем пароли локального системного администратора

Регулярная смена паролей локальных системных администраторов – необходимое мероприятие, обеспечивающие безопасность хранения данных в сети. Автоматизировав этот процесс, вы значительно снизит затраты на администрирование.

Специалисты системной поддержки, как правило, не обладают правами системного администратора. Для установки программного обеспечения они используют пароль локального системного администратора. Рекомендуется максимально ограничить права пользователям, поскольку установка программного обеспечения, подключение новых физических устройств, например Flash Card, несет в себе потенциальную опасность: может произойти утечка важной информации, что не допустимо. Таким образом, регулярная смена пароля очень важна. Поскольку в сети есть русско- и англоязычные версии операционных систем, то стандартные учетные записи и группы администраторов могут записываться по-разному, согласитесь, это очень неудобно. Достичь универсальности имени локальной учетной записи администратора и его пароля можно с помощью скрипта. Для его создания используем VBScript.

Режимы работы сценария

Создаваемый сценарий будет обладать следующими возможностями:

  • Поддерживать работу в нескольких режимах: для конкретной машины, для членов группы в AD или для всех рабочих станций в сети.
  • Унифицировать имя системного администратора, переименовывая учетную запись, например, из «Администратор» в «Administrator».
  • По окончанию работы сценария формировать файл отчета.

Мультирежимность скрипта

Поддержка нескольких режимов работы реализована с помощью параметров запуска командной строки. Договоримся, что запуск сценария, изменяющего имя администратора на указанном компьютере, осуществляется с помощью параметра «pc», для компьютеров, перечисленных в группе, хранящейся в AD, – «group», а для всех компьютеров в домене – «-domain». При запуске скрипта во всех остальных случаях будет выводиться справка.

Таблица 1. Режимы работы сценария

Аргумент

Значение переменной MODE

Описание режима

Mode=0

Вывод справки

-рс

Mode=3

Изменение на локальном компьютере

-group

Mode=2

Изменение у группы компьютеров

-domain

Mode=1

Изменение на всех компьютерах домена

Чтение аргументов осуществляется с помощью объекта Wscript.Arguments, их количество определяется с помощью команды Wscript.Arguments.Count. В зависимости от полученного аргумента запускается тот или иной режим работы сценария (см. таблицу 1):

Set objArgs=Wscript.Arguments 

If Wscript.Arguments.Count=1 Then

    If strcomp(ucase(objArgs(0)),UCase("-Domain"))=0 Then

           mode=1

    End If

    If strcomp(ucase(objArgs(0)),UCase("-Group"))=0 Then

           mode=2

    End If

    If strcomp(ucase(objArgs(0)),UCase("-PC"))=0 Then

           mode=3

    End If

Else

    mode=0

End If

Вывод справки

Этот режим, как и все остальные, реализован с помощью инструкции Select… Case и представляет собой вывод текстового сообщения на экран:

Select Case mode

Case 0

txt="ТЕКСТ СПРАВКИ"

WScript.Echo txt

Case 1

End Select

Переименование учетных записей

Поскольку речь идет о локальных учетных записях пользователя и группы, то использовать для этих целей протокол LDAP нельзя. Необходимо применять хорошо известный еще со времен Windows NT 4 протокол WinNT. Все три оставшихся режима выполняют одну и ту же операцию: проверяют на правильность имя группы и пользователя, в случае ошибки переименовывают в правильное и задают новый пароль. Как видно – это общий фрагмент, который рекомендуется внести в функцию, её входным параметром будет имя локального компьютера. Функция состоит из 3 частей:

  • верификация и в случае необходимости изменение имени пользователя;
  • верификация и в случае необходимости изменение имени группы;
  • присвоение учетной записи «administrator» нового пароля.

Верификация и изменение имени пользователя

Зная имя компьютера, к сети необходимо подключиться и получить список локальных пользователей на рабочей станции, и проверить существование оговоренных учетных записей. В случае несоответствии имен – переименовать группу.

    ' Определение списка локальных пользователей

    ' на компьютере

    Set obj_user= getobject("WinNT://" & pcname)

        obj_user.filter = Array("user")

           For Each user in obj_user

                 user_name= user_name +cstr(user.Name)

                        Next

    ' Переименование русского (*)Администратор(*) в латинское

           If StrComp (UCase(user_name), UCase("Администратор"))=0 Then

Set obj_user2= getobject("WinNT://" & pcname&"/Администратор,User")

Set obj_user3= getobject("WinNT://" & pcname)

Set q=obj_user3.movehere(obj_user2.adspath,"Administrator")

Set obj_user2 = Nothing

Set obj_user3 = Nothing

End If

Переименование группы осуществляется аналогичным способом. Полный текст сценария смотрите на сайте журнала www.samag.ru, в разделе «Исходный код». Замечание: для успешной работы скрипт должен быть запущен от имени администратора сети. Задание нового пароля локального пользователя реализовано с помощью функции setpassword(), параметром которой является новый пароль:

Set obj_user4= getobject("WinNT://" & pcname&"/Administrator,User")

Call obj_user4.setpassword(PWD)

Set obj_user4 = Nothing

Изменяем пароль на локальном компьютере

Ранее говорилось, что смена пароля локального системного администратора выполняется при запуске скрипта с аргументом «-pc». При этом значение переменной mode – 3. При запуске в этом режиме необходимо задать два параметра: имя рабочей станции и новый пароль. Лучше всего это сделать с помощью диалогового окна, вызываемого с помощью InputBox().

После того как исходные параметры заданы, необходимо выполнить обращение к функции, которая изменит пароль, передавать ей в качестве параметра имя компьютера. Значение переменной, в которой содержится новый пароль, не имеет смысла передавать как параметр функции. Рекомендуется объявить эту переменную как глобальную:

Dim PWD

PWD = "987654321"

Select Case mode

Case 3

PWD=CStr(inputbox("Введите новый пароль локального администратора",,PWD))

PCNAME = "1230PC"

PCNAME=CStr(inputbox("Введите имя рабочей станции",,PCNAME))

    ' вызов функции изменения имен и назначения нового пароля

    make pcname

End Select

Изменяем пароль на группе компьютеров

Для смены пароля на компьютерах, входящих в группу безопасности, требуется создать группу в Active Directory и включить в нее учетные записи компьютеров, на которых необходимо сменить локальный пароль (см. рис. 1). Доступ к AD в данной ситуации можно осуществлять с помощью провайдеров LDAP и WINNT. Для простоты воспользуемся последним из них.

Запрашиваемые параметры скрипта в данном режиме – имя группы и новый пароль.

Рисунок 1. Члены группы безопасности, обрабатываемые скриптом

Рисунок 1. Члены группы безопасности, обрабатываемые скриптом

Чтобы получить доступ к AD, необходимо знать имя домена. Для протокола WINNT имя домена должно быть представлено в сокращенном варианте, например SPD. Получить имя домена в сокращенном виде можно несколькими способами. Один из них – использование стандартной библиотеки ADSystemInfo:

Dim PWD

PWD = "987654321"

Select Case mode

Case 2

pwd=CStr(inputbox("Введите новый пароль локального администратора",,PWD))

GROUPNAME = "PC$_group"

GROUPNAME=CStr(inputbox("Введите имя группы, включая префикс",,GROUPNAME))

 Set objSysInfo = CreateObject("ADSystemInfo")

 domain=cstr(objSysInfo.DomainShortName)

                  Set obj_group= getobject("WinNT://" & domain &"/"&GROUPNAME)

                  For Each pc in obj_group.members

                               p=cstr(pc.name)

                               pcname=Left(p,Len(p)-1)

                               make pcname

                        Next

                 Set obj_group= Nothing

End Select

Изменяем пароль на всех компьютерах в домене

Для изменения пароля локального администратора на всех компьютерах домена необходимо определить его короткое имя:

Set objSysInfo = CreateObject("ADSystemInfo")

domain=cstr(objSysInfo.DomainShortName)

Затем получить поочередно доступ ко всем компьютерам домена и последовательно вызывать функцию make с изменяющимся значением параметра:

Case 1

    Set obj_comp = getobject("WinNT://" & domain)

    obj_comp.filter = Array("Computer")

        For Each Computer in obj_comp

    pcname=cstr(Computer.Name)

                        make pcname

       Next

    Set obj_comp= Nothing

Формируем отчет

Отчет может представлять собой какой-либо текстовый файл, содержащий информацию о выполненных скриптом действиях. Рекомендуется сделать файл отчета в формате HTML и отображать его после завершения работы программы.

Во время работы скрипта следует накапливать информацию в переменной, затем обрабатывать ее с помощью функции, которая выводила бы членов группы «Administrators». Если такой группы нет, то делается соответствующая пометка в файле. Отсутствие группы говорит о том, что компьютер недоступен (см. рис. 2): он выключен или на нем настроен firewall.

Рисунок 2. Пример файла отчета

Рисунок 2. Пример файла отчета

Запись данных файл осуществляется с помощью объекта FSO:

Set FSO=CreateObject("Scripting.FileSystemObject")

    Set MyFile1 = fso.CreateTextFile("c:\"+report+".htm", True, TRUE)

    MyFile1.WriteLine(data)

    MyFile1.Close

Когда сценарий завершит работу, отобразите с помощью созданной функции на экране созданный HTML-файл. Управление веб-страницами осуществляется с помощью объекта InternetExplorer.Application. Доступ к объекту из VBScript также осуществляется с помощью функции CreateObject().

Path=c:\report.htm

set oIE=Wscript.CreateObject("InternetExplorer.Application")

With oIE

    .Left=100

    .Top=100

    .Height=400

    .Width=400

    .MenuBar=0

    .Toolbar=0

    .Statusbar=0

    .Resizable=1

End With

oIE.Navigate Path

oIE.Visible=1

Созданный сценарий может быть запущен с любой машины с привилегиями администратора.

Надеюсь, что этот простой, но мощный скрипт поможет в вашей работе.


Комментарии отсутствуют

Добавить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

               Copyright © Системный администратор

Яндекс.Метрика
Tel.: (499) 277-12-45
E-mail: sa@samag.ru