PowerShell: системное администрирование и программирование
Командлет Get-ADComputer PowerShell можно использовать для получения различной информации об объектах учётных записей компьютеров (серверах и рабочих станциях) из домена Active Directory. Это один из самых полезных командлетов для поиска компьютеров AD по различным критериям (для получения информации об учётных записях пользователей AD используется другой командлет — Get-ADUser).
Предположим, ваша задача — найти все неактивные компьютеры в Active Directory, которые не были зарегистрированы в домене более 120 дней, и отключить эти учётные записи.
Чтобы использовать командлет Get-ADComputer необходимо установить Модуль Active Directory для Windows PowerShell, в каких системах он уже присутствует и как его установить если он ещё не установлен, смотрите в статье «Как установить и использовать модуль Active Directory PowerShell». На рабочих станциях данный модуль вы можете установить следующей командой:
Способ первый, без затрат.
Хотим мы получить инфу о начинке системных блоков организации, например для составления плана модернизации. Вы слышали про встроенную в Windows команду SYSTEMINFO? А она очень полезная. Даст вам информацию о всей системе в удобоваримом виде:
- Создаём шару с правами на запись всем подряд, а то мало ли какие урезанные права у рабочих станций (sic! Именно станций, потому как права пользователей этих станций нам не интересны, всё будем делать от своего имени). Ну например \shareaudit
- Рисуем файлик в нашими айпишниками. Дело в том, что psexec по неясным причинам не понимает диапазоны адресов типа 192.168.0.1-192.168.0.254 или 192.168.0.0/24. Его, конечно, можно обмануть и подсунуть подобное, но это не стабильно и вредно, ниже объясню почему. Я пользуюсь OO Calc для создания списка IP-адресов. В итоге получаем текстовик (.txt) с примерно таким содержимым:
- Тут информация только по содержимому коробки системного блока и чуть-чуть по Windows.
- Хотя установленные программы хранятся внутри системного блока про них тоже ничего не выводится
- Даже по внутренностям мало информации, например нет ничего про тип оперативной памяти, только объём. Да и процессор освещён весьма скудно.
Инструменты
Сначала давайте разберемся, где будем писать код. Можно кодить в обычном виндовом «Блокноте», но мы воспользуемся специальной IDE для Python — PyCharm. Установка и настройка просты как два рубля: скачал установщик, запустил — и кликай себе «Далее», пока есть такая кнопка.
Еще нам потребуется Python. Я буду использовать версию 3.9.0 — с ней точно все работает.
Вывод установленных исправлений
Список всех установленных исправлений можно получить с помощью Win32_QuickFixEngineering:
Этот класс возвращает список исправлений в следующем виде:
Для получения более кратких сведений нужно исключить некоторые свойства. Параметр Property в Get-CimInstance позволяет выбрать только идентификаторы HotFixID, однако на самом деле возвращается больше данных, так как по умолчанию отображаются все метаданные:
Дополнительные данные выводятся, так как параметр Property в Get-CimInstance ограничивает свойства, возвращаемые из экземпляров класса WMI, но не объекты, возвращаемые оболочке PowerShell. Командлет Select-Object позволяет сократить возвращаемые выходные данные:
Автоматическая загрузка рабочей книги
Теперь, когда у вас есть все эти мощные функции, осталось только запускать их каждый раз, когда открывается рабочая книга. Делать это действительно легко.
В левом браузере объектов, под объектами Microsoft Excel , вы должны увидеть ThisWorkbook . Дважды щелкните по этому объекту, чтобы открыть его.
В верхней части области кода есть два раскрывающихся списка, измените левое на Workbook, а правое на Open .
Вы увидите автоматически сгенерированную функцию под названием Private Sub Workbook_Open () .
Внутри здесь введите следующие строки кода, чтобы функция выглядела следующим образом:
Теперь каждый раз, когда вы открываете книгу, будут вызываться все ваши вновь созданные функции, извлекать все данные. с компьютера и загрузите его в соответствующий лист.
Чтобы увидеть его в действии, сохраните код, закройте окно кода, сохраните рабочую книгу и закройте его тоже. Снова откройте файл, который вы только что закрыли, и вы обнаружите, что каждый лист содержит объемы данных о вашем компьютере.
Поскольку рабочая книга содержит макросы, которые могут быть отключены по соображениям безопасности, вам может потребоваться нажать « Включить содержимое» в верхней части листа для сбора данных.
Предупреждение — он собирает много данных, поэтому подождите несколько минут, пока он загрузится при первом открытии файла.
nbtstat — статистика протокола и текущих подключений TCP/IP с помощью NBT
NBT (Network BIOS через TCT/IP) или протокол NETBIOS — один из старейших протоколов, разработанный в далёком1983 году по заказу компании IBM. NETBIOS предназначен для передачи данных в пределах одного логического сегмента сети.
nbtstat -n — выводит список зарегистрированных NetBIOS-имен на компьютере. Список отображается для всех активных сетевых соединений.
nbtstat -RR — выполнит очистку и перерегистрацию NetBIOS-имен на локальном компьютере.
nbtstat
Мониторинг сети своими руками
Слишком часто ИТ-администраторы считают, что они ограничены в своих возможностях. Независимо от того, имеем ли мы дело с пользовательским программным приложением или «неподдерживаемой» частью аппаратного обеспечения, многие из нас считают, что если система мониторинга не сможет сразу же справиться с ним, то получить в этой ситуации необходимые данные невозможно. Это, конечно же, не так. Приложив немного усилий, вы сможете почти все сделать более видимым, учтенным и контролируемым.
В качестве примера можно привести пользовательское приложение с базой данных на серверной части, например, интернет-магазин. Ваш менеджмент хочет увидеть красивые графики и диаграммы, оформленные то в одном виде, то в другом. Если вы уже используете, скажем, Cacti, у вас есть несколько возможностей вывести собранные данные в требуемом формате. Вы можете, к примеру, написать простой скрипт на Perl или PHP для запуска запросов в базе данных и передачи этих расчетов в Cacti либо же использовать SNMP-вызов к серверу базы данных, используя частный MIB (Management Information Base, база управляющей информации). Так или иначе, но задача может быть выполнена, и выполнена легко, если у вас есть необходимый для этого инструментарий.
Получить доступ к большинству из приведенных в данной статье бесплатных утилит для мониторинга сетевого оборудования не должно быть сложно. У них есть пакетные версии, доступные для загрузки для наиболее популярных дистрибутивов Linux, если только они изначально в него не входят. В некоторых случаях они могут быть предварительно сконфигурированы как виртуальный сервер. В зависимости от размера вашей инфраструктуры, конфигурирование и настройка этих инструментов может занять довольно много времени, но как только они заработают, они станут надежной опорой для вас. В крайнем случае, стоит хотя бы протестировать их.
Независимо от того, какую из этих вышеперечисленных систем вы используете, чтобы следить за своей инфраструктурой и оборудованием, она предоставит вам как минимум функциональные возможности еще одного системного администратора. Она хоть не может ничего исправить, но будет следить буквально за всем в вашей сети круглые сутки и семь дней в неделю. Предварительно потраченное время на установку и настройку окупятся с лихвой. Кроме того, обязательно запустите небольшой набор автономных средств мониторинга на другом сервере, чтобы наблюдать за основным средством мониторинга. Это то случай, когда всегда лучше следить за наблюдателем.
Резюме
Данная система позволит не только оперативно реагировать на сбои, но и предотвращать их, используя триггеры, которые заранее смогут уведомить администратора о заканчивающемся месте на диске, на файловом сервере, или о сбоях в выполнении заданий резервного копирования и т.д.
Используя систему Zabbix, Вы не ограничены разработчиком данной системы. Можно собирать все данные, которые будут переданы агенту в том числе, используя Ваши скрипты по автоматизации каких-либо процессов и мониторингу состояния системы. Их нужно просто подключить к системе и настроить вывод результата. Если смотреть на аналогичные системы, то они все ограничены по функционалу или стоимость их внедрения не вписывается в бюджет ИТ-отдела.
Специалисты нашей компании, помогут внедрить систему и провести обучение, составить необходимые шаблоны для получения данных с объектов Вашей локально-вычислительной сети. Телефон для связи: (814-2) 67-21-20.