• Zabbix: LLD-мониторинг железа под Windows на PowerShell

      Changelog

      Пришло время и мне собрать свой велосипед для мониторинга физического состояния Windows-железок. Готового решения или хоть более или менее работающего найти не удавалось с момента моего знакомства с Zabbix, а это более 3 лет. А тем более, чтобы оно было… элегантно что ли. Лично мне даже в таких вещах хочется видеть стройность и максимальную функциональность. Именно поэтому далее рассматривается только LLD и PowerShell. Ну и конечно же только бесплатное ПО.

      Итак, мониторинг чего будет производиться:

      • S.M.A.R.T. дисков (информация, общее состояние и отдельные показатели)
      • Температуры, напряжение, обороты кулеров (на ваш выбор)

      А выглядеть это все будет примерно так:


      Читать дальше →
    • Powershell и кирилица в консольных приложениях (updated)

      • Tutorial
      В процессе разработки очень часто возникает необходимость запустить из powershell скрипта консольное приложение. Что может быть проще?

      #test.ps1
      & $PSScriptRoot\ConsoleApp.exe
      


      Читать дальше →
    • Powershell и глубина стека

        Как разработчик, я часто разрабатываю скрипты развертывания. В одном из проектов передо мной возникла задача автоматизировать развертывание проекта, которое состояло из нескольких десятков заданий, с возможностью настраивать состав разворачиваемых на стенд компонентов.
        Читать дальше →
        • +12
        • 6,6k
        • 2
      • Набор отверток администратора 1С

          image alt text


          За несколько лет сначала вынужденного, а потом и вполне занимательного администрирования 1С у меня накопился набор решений под большинство особенностей продукта. Предлагаю отложить в сторону высокие материи про кластеры и тюнинг SQL, и перетряхнуть запасы скриптов и механизмов, которые облегчают жизнь с 1С.


          Будут как простые инструменты создания новых пользователей и мониторинга "все ли вышли из базы", так и более изощренные интерфейсы проверки целостности базы и ее перемещения.

          Читать дальше →
        • Нескучный Powershell

          По работе мне периодически приходится править и дописывать скрипты для авто-тестов. И так исторически сложилось, что написаны они на Powershell. Но статья будет не об этом.

          Обычно Powershell описывается как средство автоматизации для системных администраторов. И естественно, что к нему проявляют мало интереса. Поэтому я хочу рассказать, что его можно использовать не только для скучных рабочих задач.

          image
          Читать дальше →
        • Скрипт удаления старых драйверов

            Сценарий к статье Павла Чубарова автоматизирующий удаление устаревших драйверов из папки C:\windows\system32\DriverStore\FileRepository.

            При установке драйверов старые версии сохраняются в системе, данный скрипт удаляет все дубликаты кроме драйвера имеющего самую последнюю дату

            Может кому пригодится.
            Читать дальше →
          • Телеграмм-бот для системного администратора

              Телеграмм-бот для системных администраторов. Это ни в коем случае не готовый проект, в нем есть над чем поработать. Это полуфабрикат и набор приемов который каждый админ может подпиливать под свои разные задачи.


              В статье содержатся примеры нескольких ботов и примеры работы с апи телеграмм из powershell.
              Читать дальше →
            • AdBlock похитил этот баннер, но баннеры не зубы — отрастут

              Подробнее
              Реклама
            • Модуль Posh-SSH простой доступ к SSH и SCP из PowerShell

                для powershell есть модуль Posh-SSH реализующий поддержку протоколов SSH, SFTP, SCP в PowerShell. Здесь описывается как установить, и базовые заметки по работе. По сути это выжимка из англоязычной статьи приведенной ниже.

                по определенному событию понадобилось сбрасывать сетевой порт на коммутаторе. Коммутатор имеет command line интерфейс cisco. Перед тем как использовать из командной строки putty было решено посмотреть существуют ли модули для работы по ssh напрямую из powershell. Поиски дали модуль Posh-SSH на github.

                Модуль позволяет:

                • устанавливать сессии SSH и SFTP по кредиталам или используя OpenSSH ключ
                • подключаться через SOCKS и HTTP прокси для обоих видов SSH и SFTP сессий
                • исполнять команды по одиночке посылая их в SSH
                • загружать и скачивать файлы использую SCP и SFTP протоколы

                Для SSH поддерживается аутентификация по ключу, логину\паролю, ввод с клавиатуры. Поддерживаются разные алгоритмы шифрования, поддерживаются прокси

                Минимальные требования — PowerShell 3.0 и .NET 4.0. Описание модуля на официальной страничке.
                Читать дальше →
                • +9
                • 22,8k
                • 1
              • Аудит баз Oracle



                  Здравствуйте, дорогие хабрачитатели! Естественно желание каждого нанимателя оценить эффективность и качество исполняемой работы сотрудников, умножить прибыль и сократить издержки. Поддержка же ИТ-инфраструктуры всегда является «черным ящиком». За что заплачены деньги, ведь ничего еще не сломалось? Так как вникать в проблематику, скорее всего, ни один управленец не захочет, с высокой вероятностью вскоре возникнет необходимость в отчете о проделанной работе, и желательно — ежедневном. Рассматривая красивые циферки и стройные графики, заказчик неизменно «входит во вкус». Постепенно появляются отчеты мониторинга инфраструктуры, состояния бэкапов, упущенных инцидентов, работы DLP-систем. И чем дальше, тем страшнее. ИТ-поддержка начинает проигрывать в эффективности, меняется график работы команды, ведь отчет нужен уже утром. Подобная практика невероятно стимулирует умственную активность в направлении оперативного предоставления данных, к которым имеешь почти что эксклюзивный доступ. Мой способ решить данную проблему постараюсь описать далее.
                  Читать дальше →
                • ODBC Firebird Postgresql, выполнение запросов в Powershell

                    Иногда у системных инженеров возникает необходимость получить определенный набор данных непосредственно из самой СУБД средствами Powershell. В данной статье хочу продемонстрировать два метода работы c firebird, postgresql через odbc драйвер и клиентскую библиотеку.

                    Начнем с firebird и работу с базой через ODBC драйвер, для начала нужно зарегистрировать в системе клиентскую библиотеку GDS32.DLL, ее разрядность должна быть такой же как и ODBC драйвера который должен быть установлен далее, скачать можно на сайте производителя, обязательно во время установки необходимо поставить галочку о регистрации библиотеки.

                    image

                    Далее устанавливаем сам ODBC, который также берем на сайте производителя, не забываем что его разрядность должна соответствовать разрядности ранее установленного клиента. Теперь собственно сам powershell скрипт, за его основу был взят пример на C# для postgresql.
                    Читать дальше →
                  • Новые возможности PowerShell в Windows Server 2016

                    Доброго времени суток %HabraUser%! Не так давно мне посчастливилось стать обладателем VDS с предустановленным Windows Server 2016 для ознакомления с данной операционной системой и ее новыми возможностями. В связи с тем, что последние несколько лет я являюсь поклонником администрирования с использованием PowerShell, в первую очередь меня заинтересовал именно он, так как применяю его в своей работе ежедневно для автоматизации рутинных задач. В корпоративной среде на сегодняшний день чаще всего последняя используемая версия операционных систем Windows 8.1 и Windows Server 2012 R2, соответственно я не обращал внимания, на изменения, которые принесла мне Windows 10 на домашнем компьютере, и как оказалось зря. Я пропустил мимо себя обновленный инструмент, который стал гораздо лучше, удобнее и быстрее по сравнению с предыдущими версиями, об этих основных изменениях и хотелось бы поговорить. Добро пожаловать под кат.
                    Читать дальше →
                  • Мониторим клиентские ПК в Microsoft AD с помощью Zabbix. Часть 1 — Автоустановка

                      Имеется несколько сотен клиентских машин на базе ОС windows 7 в домене microsoft AD, хочется их мониторить, и помимо обычных cpu, mem, disk и т. п. неплохо было бы получать информацию о состоянии smart дисков, информацию с usb ибп, при этом все должно устанавливаться автоматически, и в случае необходимости обновляться. Про шаблоны, настройки и alert скрипт на сервере я напишу позже, пока займемся подготовкой скрипта на powershell для установки агентов. На текущий момент актуальная версия zabbix — 3.x.
                      Читать дальше →
                    • Количество отправленных и полученных писем по дням

                        Возникла потребность просмотреть на сервере exchange сколько писем отправляют и получают пользователи по дням со статистикой в мегабайтах, после изучения интернета был найден скрипт Nuno Mota не устроило что скрипт делает текстовый вывод, что не удобно для постоянного использования и для генерации html отчетов. Скрипт был переработан:

                        • вывод сделан объектами
                        • добавлены поля
                        • исправлен баг когда первая запись выводилась неправильно


                        Получение количества отправленных и полученных писем по дням с exchange сервера.
                        Читать дальше →
                      • PowerShell. Пользовательские функции для пользователей

                        Привет! Довольно часто в своей работе приходиться пользоваться самостоятельно написанными функциями и таскать куски кода между разными скриптами. На Хабре уже есть довольно хорошая статья про Повторное использование кода от Mroff, но была необходимость пойти немного дальше, задокументировать и как-то описать свои функции. Как оказалось, поиск выдавал довольно сухую информацию в основном по общей структуре функции и не более того. Упорство было вознаграждено, и я решил поделиться полученной информацией. Добро пожаловать под кат, где мы научимся вносить в свои функции информацию для потомков и коллег.
                        Читать дальше →
                        • +15
                        • 24,7k
                        • 8
                      • Автор сurl просит Microsoft удалить алиасы curl и wget из PowerShell



                          Позавчера компания Microsoft опубликовала исходный код PowerShell. Таким образом, это средство автоматизации и конфигурирования на базе .NET Framework стало доступным под Linux.

                          Некоторые скептически относятся к стратегии «Microsoft любит Linux», которую декларирует редмондский гигант. Кое-кто считает, что консоль от Microsoft не нужна в операционной системе, в которой есть bash. Обычно это просто эмоциональные высказывания, но есть и вполне рациональные аргументированные возражения по существу. Например, разработчик программы curl Дэниель Стэнберг (Daniel Stenberg) вполне логично говорит, что наличие внутри PowerShell одноимённого алиаса curl, а также wget совершенно неуместно, потому что мешает запустить нормальные привычные программы.
                          Читать дальше →
                        • Автоматизация установки обновлений на клиентскую машину с отсевом ошибочных обновлений

                            Раз в год выходит обновление ломающее привычную работу. Windows пытается поставить его 3 раза, и если 3 раза был откат то она загружается без установки. Пользователи с утра начинают звонить. Если ничего не предпринять то на следующее утро ситуация повторится.
                            • На WSUS сервере нет смысла перемещать его в Unapproved т.к. патч уже скачан на клиенскую машину и находится в папке SoftwareDistribution, надо удалять вручную
                            • глючных патчей может быть много
                            • через пол годика админ может по запарке его снова одобрить
                            • если одобряем раз в полгода-год, отсев плохих от хороших займет до 1 дня работы на 1 машину (класс машин)
                            • обновления одной конфигурации могут не подходить для другой конфигурации даже если ОС одна
                            • состояние обновления скрытое будет сброшено если удалить SoftwareDistribution
                            • SoftwareDistribution надо скидывать если глюкнула база, слишком долго идет поиск, а лучше делать это периодически

                            Это все неудобно, поэтому админ почти всегда сделает одно и то же — он отключит обновления на проблемной машине. А через годик или два он начнет накатывать обновления и столконется с этой же проблемой.

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

                            Сразу оговорюсь — данный скрипт не умеет ремонтировать систему которая не загружается вообще, он умеет сам ставить обновления, в автоматическом режиме выкидывать обновы вызывающих циклическую перезагрузку, имеет возможность вручную добавить плохие обноления в список и сигнализировать админу о возникших неполадках с установкой.
                            Читать дальше →
                          • PSReadLine устанавливаем подсветку синтаксиса в консоль PowerShell

                              Владельцы windows 10 могут наслаждаться подсветкой синтаксиса в консоли PowerShell. В предыдущих версиях подсветка не появится даже если установить WMF5. Она реализуется модулем PSReadLine. Этот модуль позволяет делать разную подсветки Emac подобную или Vim, добавлять команды и т.п., добавляет поиск в истории, собственные шоткаты и т.п. Далее описывается как установить подсветку в консоль PowerShell для предыдущих версий windows.

                              1. установка на Win 8.1 и 2012R2 если у Вас уже установлен WMF5
                              Первое что нужно сделать это скачать модуль подсветки из хранилища OneGet командлетом Find-Package если до этого он не использовался то попросит скачать и установить менеджер пакетов NuGet
                              Читать дальше →
                            • Автоматизация администрирования систем, обзор проблем и вариант решения. Ed Wilson

                              • Перевод
                              Ниже перевод части главы 1 книги Powershell and WMI. Освещается направление развития информационных систем применительно к системному администрированию. Дается взгляд Ed Wilson на проблемы эксплуатационщиков, указывается направление снижения расходов обслуживания инфраструктуры.

                              Solving administrative challenges


                              Спросите любого администратора Windows о его проблемах, и в верхней части списка будет большое количество работы и постоянная нехватка времени чтобы сделать ее. Они знают о средствах автоматизации, возможно даже осведомлены о возможностях WMI и Powershell, но у них нет времени чтобы освоить эти технологии. Это позорная ситуация, потому что принято считать, что до 70% бюджета ИТ организации расходуется на то «чтобы все было в рабочем состоянии» (прим переводчика: в оригинале “keep the lights on.”). Автоматизация может сократить расходы из этих 70%, за счет чего освободятся время и деньги для задач дальше по списку «проблем».

                              Кроме того, возможно, что они интересовались WMI или Powershell и пришли к выводу, что эти инструменты слишком сложны для освоения. Это понятно, особенно учитывая трудоемкость работы с WMI через VBScript, а также отсутствие примеров, которые объясняли бы используемые приемы. Даже меня повергают в ужас некоторые примеры скриптов Powershell размещенные в интернете, что же чувствуют те, кто только начали разбираться с этой темой. Администраторы, отказавшись от использования этих инструментов упускают возможности уменьшить свою рабочую нагрузку, упускаю возможность провести автоматизацию своих процессов.

                              Снизить планку входа к использованию WMI ставилось целью этой книги. Примеры предоставляемые в ней могут быть использованы без изменений или с минимальным их количеством. Кроме того, вы получите более глубокое понимание WMI, которое может быть использовано для работы с областями ранее недоступными для вашего контроля. PowerShell сконструирован так, чтобы сделать использование WMI проще и понятнее чем в скриптовых языках ранее, PowerShell движок автоматизации от Microsoft, которая, помимо всего прочего, обеспечивает облегченный доступ к богатым наборам инструментов управления, доступных в WMI.
                              Читать дальше →
                            • Создание отчетов в PowerShell

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

                              Секреты создания отчетов Глава 33


                              Эта глава содержит
                              1. Работа с HTML фрагментами
                              2. Создание стильных HTML отчетов
                              3. Отправка отчетов поэлектронной почте


                              В этой главе мы рассмотрим приемы работы с PowerShell при создании отчетов. PowerShell не блещет если нужно работать со строками, старайтесь использовать для этого объекты. Чем больше вы будете использовать при создании отчетов объекты, тем лучше вы сможете сделать обработку.

                              33.1 Что не нужно делать.
                              Начнем главу с того что мы считаем примером плохой техники создания отчетов. Мы постоянно встречаем такой стиль. Большая часть IT профессионалов не задумываются об этом и увековечивают в коде стиль из других языков, таких как VBScript.
                              Следующий код написан в стиле, который как мы надеемся вы не будете применять, и который вы увидите в коде менее информированных системных администраторов.
                              Читать дальше →
                              • +11
                              • 26,3k
                              • 1
                            • Foreach — из книги PowerShell in depth

                              • Перевод
                              Глава 19.3. В ней описывается конструкция Foreach, как ее применять.

                              Эта конструкция имеет те же цели что и командлет ForEach-Object. Командлет ForEach-Object имеет алиас ForEach, который легко спутать с оператором ForEach… потому что они имеют абсолютно одинаковые имена. PowerShell смотрит на контекст чтобы выяснить, какой же Foreach применяется сейчас. Вот пример того, как оператор, и командлет делают одно и тоже
                              Get-Service –name B* | ForEach { $_.Pause() }
                              
                              $services = Get-Service –name B*
                              ForEach ($service in $services) 
                              {
                                  $service.Pause()
                              }
                              

                              Читать дальше →

                            Самое читаемое