Как стать автором
Обновить
2.45

PowerShell *

Расширяемое средство автоматизации от Microsoft

Сначала показывать
Порог рейтинга
Уровень сложности

Предупреждение пользователей об истечении пароля и действия учётной записи

Время на прочтение6 мин
Количество просмотров18K
Всем привет!
Столкнулись как-то с ситуацией, когда 1 января у многих пользователей истёк срок действия учётной записи и они были заблокированы. Соответственно не смогли работать, шквал телефонных звонков, начиная с утра 1-го числа. Было принято решение заранее предупреждать пользователей об истечении пароля и действия учётной записи по почте. С копией списка предупреждённых пользователей администратору.
Скрипты реализации под катом.
Читать дальше →
Всего голосов 9: ↑7 и ↓2+5
Комментарии7

Как проимпортировать неимпортируемое

Время на прочтение5 мин
Количество просмотров3.2K

Проблема, идея, и решение


Здравствуйте, дорогие мои детишечки. Спешу сообщить вам, что в мою голову пришла еще одна идея, которая вылилась вот в эту заметку. Идея, собственно говоря, пришла из проблемы, которую подкинула горячо мной любимая и уважаемая компания Microsoft и их новый продукт Windows Server 2012 R2. И тут я нисколько не иронизирую, мне они действительно нравятся. Но начнем по порядку.
Прежде всего отмечу, что я, кроме всего прочего еще и тренер по всякого рода продуктам Microsoft, и соответственно имею доступ к определенным плюшкам в виде готовых виртуальных машин для подготовки к курсам, в рамках учебного центра. И вот, собственно, решил я попробовать погонять новый сервер, ну и, как водится, развернуть на нем виртуалочки от одного курса. Выкачал эти машины, все подготовил, распаковал. И тут меня поджидало ужасное. Они категорически отказывались импортироваться.
Подробности
Всего голосов 14: ↑4 и ↓10-6
Комментарии2

Как я сайт на powershell парсил

Время на прочтение6 мин
Количество просмотров25K

Предисловие


Прежде всего хочу отметить, я не программист. Я админ, пока. Хотелось бы конечно зваться архитектором, но в обозримом пространстве подходящих вакансий, с адекватными требованиями, а главное, зарплатами за эти требования нет. А жаль.
Собственно говоря, в рамках этой заметки хочу рассказать о полезных плюшках новой версии Powershell. В частности, о возможности быстро и уверенно парсить веб-странички и делать это «параллельно».
Читать дальше →
Всего голосов 30: ↑21 и ↓9+12
Комментарии2

Поддержка чистой шары для обмена файлами с помощью Powershell

Время на прочтение3 мин
Количество просмотров17K
В каждой организации есть сетевой ресурс для обмена данными между пользователями, в который доступ имеют все. Что делать, когда пользователи сами не удаляют временные файлы из своих папок в «обмене» и ресурс начинает занимать слишком много места?

Задача:
1) Автоматическое очищение папок пользователей на общем сетевом ресурсе с сохранением структуры каталогов до 1 уровня. В корне ресурса расположены папки по фамилиям пользователей.
2) Сохранение данных за прошедший день в папке «Вчера» (права пользователей «только чтение»). Это нужно на случай, если пользователь забыл забрать важный документ вчера.
3) Логирование ошибок копирования файлов. Для анализа.
4) Возможность быстро перенастроить скрипт для использования на другом сервер\папке.
Исходные данные:
1) Сетевая папка «Обмен» на //server/obmen, которая смотрит на D:\obmen
Решение:
Читать дальше →
Всего голосов 14: ↑8 и ↓6+2
Комментарии7

Истории

Деплой Zabbix-агентов на большое количество Windows-based серверов с помощью Powershell

Время на прочтение4 мин
Количество просмотров36K
Добрый день!
Недавно передо мной встала задача — быстро установить большое количество Zabbix-агентов на Windows-сервера.
Я решил, что это можно и нужно решать с помощью скриптов. В качестве «языка» я выбрал любимый мной (и не только мной!) Powershell.
Небольшой мануал Вы найдете под катом!
Читать дальше →
Всего голосов 6: ↑5 и ↓1+4
Комментарии5

Песочница средствами SCVMM

Время на прочтение8 мин
Количество просмотров21K
С выходом System Center Virtual Machine Manager 2012 у нас появилась возможность создавать так называемые сервисы: т.е. штамповать виртуальные машины не по одиночке и даже не из шаблонов, а комбинировать разные профили, шаблоны, машины, а после — настраивать взаимосвязь между виртуальным оборудованием. Насмотревшись выступлений на TechEd'е, начитавшись статей и книжек, и, конечно, получив от начальства волшебное задание на одном из проектов, я решил, что имеющихся в SCVMM средств достаточно для создания сервиса полноценной песочницы, т.е. набора виртуальных машин, изолированных от остальной инфраструктуры предприятия, но при этом складно взаимодействующих друг с дружкой.
Но все оказалось не так гладко и красиво, как у ashapo на демонстрациях, поэтому милости прошу под кат за дозой обработки напильником.
Читать дальше →
Всего голосов 6: ↑4 и ↓2+2
Комментарии0

rCons — quake-style враппер для консоли в Windows

Время на прочтение2 мин
Количество просмотров45K
В свое время при знакомстве с линуксом меня заинтриговала возможность вызова консоли в том виде, в каком это сделано в многочисленных играх. Из примеров подобных программ можно упомянуть Guake и Yakuake. Вменяемых вариантов под Windows найти не получилось, поэтому спустя какое-то время я созрел на написание своего варианта.


Читать дальше →
Всего голосов 88: ↑80 и ↓8+72
Комментарии151

Тонзиллэктомия ректально: работаем с AD в Powershell без AD cmdlets

Время на прочтение23 мин
Количество просмотров19K
В Windows Server 2008 впервые появились замечательные командлеты PowerShell для работы с ActiveDirectory. Эти прекрасные, логичные, интуитивно понятные и чрезвычайно мощные инструменты вызывали у меня чувство грусти, если не сказать — «досады»: они были недоступны мне, эникейщику непрофильной конторы. Все одиннадцать сетей, которые я обслуживал были построены на базе Windows 2003 R2.

Одиннадцать несвязанных доменов в одиннадцати несвязанных сетях в разных городах, разбросанных по Дальнему востоку. И ни в одной из них — ни то, что «Семёрки», даже «Висты» нет, что ставит крест на попытках использования AD cmdlets в связке с две тысячи третьей.


Задача была сформулирована следующим образом — «создать код, способный выполнять основные операции по управлению AD из сценариев PowerShell, исполняемый в Windows XP / 2003». О том, как она была решена, читайте под хабракатом (осторожно, костыли; много текста и кода).
Из спичек и желудей соберем код для управления AD
Всего голосов 38: ↑27 и ↓11+16
Комментарии13

Уведомления об истечении срока действия пароля в Active Directory средствами PowerShell

Время на прочтение5 мин
Количество просмотров36K

Предыстория


Началась вся история с того, что подошло время очередного IT аудита. Пришли серьезные дяденьки из Price Waterhouse Coopers, дали нам массу указаний и пару скриптов, которые надо было запустить на контроллере домена чтобы потом выслать им логи. После ознакомления с текстами скриптов (а мало-ли что там, безопасность превыше всего) логи были им предоставлены. И тут началось.
Читать дальше →
Всего голосов 10: ↑8 и ↓2+6
Комментарии3

Одобрения обновлений WSUS: импорт, экспорт, копирование

Время на прочтение11 мин
Количество просмотров45K

Предыстория


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

Однажды руководство поставило мне задачу организовать процесс автоматического обновления ОС и программ от MS и разрешило развернуть на подотчётных площадках WSUS.

Проблема


После того, как WSUS был развернут, политики привязки компьютеров к группам WSUS настроены, синхронизация каталогов содержимого с серверами MS проведена и т.п., возник вопрос: а кто же, и, главное, как, будет одобрять обновления?

Представьте себе: 11 городов, связь с которыми настолько «быстра» и «стабильна», что редкие минуты, когда задержки ICMP-ответов составляют всего 800 мс, воспринимаются, как неслыханное везение. И в каждом необходимо проводить тестирование всех обновлений перед развертыванием. При этом доступ к серверам на площадках был только по RDP, т.е. нужно было еженедельно (распоряжение устанавливало именно такую периодичность) подключаться к серверу каждого города и вручную одобрять использование новых обновлений в тестовых группах и, соответственно, переводить испытанные обновления в промышленную эксплуатацию:
image

Читать дальше →
Всего голосов 25: ↑18 и ↓7+11
Комментарии15

Аудит удаления и доступа к файлам и запись событий в лог-файл средствами Powershell

Время на прочтение7 мин
Количество просмотров232K

Я думаю, многие сталкивались с задачей, когда к Вам приходят и спрашивают: «У нас тут файл пропал на общем ресурсе, был и не стало, похоже кто-то удалил, Вы можете проверить кто это сделал?» В лучшем случае вы говорите, что у вас нет времени, в худшем пытаетесь найти в логах упоминание данного файла. А уж когда включен файловый аудит на файловом сервере, логи там, мягко говоря «ну очень большие», и найти что-то там — нереально.
Вот и я, после очередного такого вопроса (ладно бекапы делаются несколько раз в день) и моего ответа, что: «Я не знаю кто это сделал, но файл я Вам восстановлю», решил, что меня это в корне не устраивает…
Читать дальше →
Всего голосов 20: ↑17 и ↓3+14
Комментарии20

Аудит Active Directory средствами Powershell с оповещением об изменениях. Часть 2

Время на прочтение4 мин
Количество просмотров15K

В передыдущей статье я опубликовал свой первый пост на хабре. В продолжении темы собрался написать вторую часть.

В комментариях к первой части я вскользь упомянул о том, что расширил функционал скриптов мониторинга за подключениями к серверам. В частности добавил уведомления в сервис мгновенных сообщений XMPP (Jabber), а так же запись лога в отдельный текстовый файл.
Читать дальше →
Всего голосов 25: ↑19 и ↓6+13
Комментарии9

Аудит Active Directory средствами Powershell с оповещением об изменениях. Часть 1

Время на прочтение7 мин
Количество просмотров58K

Начну серию публикаций по мониторингу Active Directory.
В данных статьях я приведу самые основные проблемы и пути их решения. На основе этих данных функционал легко расширяется до тех требований, которые Вам необходимы.
Учитывая, что сейчас для всех ОС, начиная с Windows Server 2003 R2 и Windows XP SP3 доступен Powershell. Думаю, что данная статья окажется полезным подспорьем, т.к. не требует от администратора введения никаких дополнительных средств, т.е. по сути – мониторинг штатными средствами.
Читать дальше →
Всего голосов 32: ↑25 и ↓7+18
Комментарии36

Ближайшие события

Сквозь порты на оборудовании к пользовательским машинам

Время на прочтение6 мин
Количество просмотров9K
Доброе время суток, Хабражители.

Данный пост повествует Вам о том, как с помощью PowerShell мы опять смогли немного облегчить нам жизнь и автоматизировать поиск оборудования и портов, на которых сидят компьютеры пользователей. Это необходимо в тот момент, когда надо пробросить vlan`ы (ну или просто для информации).
"
Кому интересно, читаем дальше
Всего голосов 8: ↑7 и ↓1+6
Комментарии8

PowerShell: рендеринг HTML представлений

Время на прочтение3 мин
Количество просмотров4.6K
Вступление

Не так давно передо мной возникла задача рендерить из PowerShell скрипта различные HTML отчеты для дальнейшей отсылки по e-mail. Поиск готовых решений дал не очень много. Кто-то подключает Razor, кто-то свои самописные сложноватые велосипеды движки.
Скромный список требований был такой:
  1. Код вьюх должен быть в отдельных файлах.
  2. Внутри вьюх должна быть поддержка вложенности, и вставок кода на PowerShell.
  3. Должен работать на любых хостах с PowerShell 2.0 без дополнительных настроек.

Так как ничего подобного не удалось найти, то был реализован простой (и одновременно мощный) движок рендеринга вьюх в стиле классического Asp.



Подробности реализации
Всего голосов 15: ↑11 и ↓4+7
Комментарии4

Встречаем третий PowerShell (часть II)

Время на прочтение4 мин
Количество просмотров10K
Продолжаем щупать нашими ненасытными пальчиками третий PowerShell. В прошлый раз мы сделали обзор новшеств и прикоснулись к нескольким дополнениям: попробовали командлет Show-Command, обкатали автоматическую подгрузку модулей, посмотрели на упрощенный языковой синтаксис и сконфигурировали файл сессии, попутно проделегировав пользователю сессии часть полномочий.
Продолжаем
Всего голосов 18: ↑13 и ↓5+8
Комментарии1

Встречаем третий PowerShell (часть I)

Время на прочтение5 мин
Количество просмотров14K
Темпы развития современных технологий таковы, что мы за ними еле-еле поспеваем. Но сегодня мы забежим чуть-чуть вперед, узнаем о новшествах PowerShell v3, причем оглядим их не только глазами, но и пощупаем руками.
Читать дальше →
Всего голосов 107: ↑95 и ↓12+83
Комментарии24

Сам себе DynDNS или реализация Managed DNS посредством PowerShell

Время на прочтение2 мин
Количество просмотров15K
На улице сейчас прекрасные солнечные дни, так что большую часть своего времени я стал проводить вне своего дома с широким каналом, а где-нибудь в парке с нетбуком и 4g модемом. Это несомненно лучше для моего здоровья, но, тем не менее, большие файлы скачивать все-таки хочется, так что пришлось искать варианты способов для организации доступа в мою домашнюю сеть извне. Замечу сразу, что мой провайдер выдает своим пользователям динамические белые IPv4 адреса (к счастью, при вводе в эксплуатацию IPv6 необходимость в такого рода извращениях автоматически пропадет).
Читать дальше →
Всего голосов 19: ↑11 и ↓8+3
Комментарии20

PowerShell: Перемешиваем файлы

Время на прочтение2 мин
Количество просмотров2.2K
Доброго времени суток, %habrauser%!
Недавно мне подкинули довольно простенькую на первый взгляд задачку: Надо перемешать около 1000 фотографий для системы голосований.
Вручную заниматься этим — дело неблагодарное. Нужен какой-нибудь миленький скрипт.
PowerShell оказался идеальным вариантом: ставить что-то стороннее вроде python не хотелось, а с .bat файлами я за свою жизнь так и не подружился.
Читать дальше →
Всего голосов 12: ↑9 и ↓3+6
Комментарии23

Скрипт для развертывания SSRS отчетов

Время на прочтение4 мин
Количество просмотров3.4K
Во многих проектах требуется инсталляционный скрипт либо пакет, который выполняет обновление серверной части приложения. Необходимость, в первую очередь, обусловлена отсутствием прямого доступа к производственному серверу у разработчиков.
Инсталлятор в виде скрипта лучше всего подходит для установки без явного входа на сервер (RDP). Также скрипт может быть выполнен в виде одного загрузчика, который и выполнит все остальное. В текущих проектах мы реализовали что-то наподобие PsGet[1], только для внутреннего билд-сервера.
Приложение большое и состоит из ряда компонентов, одним из которых является модуль отчетности, построенный на базе SSRS.
Подробности реализации
Всего голосов 9: ↑7 и ↓2+5
Комментарии0