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

PowerShell *

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

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

Windows, PowerShell и длинные пути

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


Думаю, вам, как и мне, не раз приходилось видеть пути вида \!!! Важное\____Новое____\!!! Не удалять!!!\Приказ №98819-649-Б от 30 февраля 1985г. о назначении Козлова Ивана Александровича временно исполняющим обязанности руководителя направления по сопровождению корпоративных VIP-клиентов и организации деловых встреч в кулуарах.doc.

И зачастую открыть такой документ в Windows сходу не получится. Кто-то практикует workaround в виде мапирования дисков, кто-то использует файловые менеджеры, умеющие работать с длинными путями: Far Manager, Total Commander и им подобные. А еще многие с грустью наблюдали, как созданный ими PS-скрипт, в который было вложено немало труда и который в тестовом окружении работал на ура, в боевой среде беспомощно жаловался на непосильную задачу: The specified path, file name, or both are too long. The fully qualified file name must be less than 260 characters, and the directory name must be less than 248 characters.
Как оказалось, 260 символов хватит «не только лишь всем». Если вам интересно выйти за границы дозволенного — прошу под кат.
Читать дальше →
Всего голосов 19: ↑16 и ↓3+13
Комментарии18

Приключения неуловимой малвари, часть I

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


Этой статьей мы начинаем серию публикаций о неуловимых малвари. Программы для взлома, не оставляющие следов атаки, известные также как fileless («бестелесные», невидимые, безфайловые), как правило, используют PowerShell на системах Windows, чтобы скрытно выполнять команды для поиска и извлечения ценного контента. Обнаружить хакерскую деятельность без вредоносных файлов — сложно выполнимая задача, т.к. антивирусы и многие другие системы обнаружения работают на основе сигнатурного анализа. Но хорошая новость состоит в том, что такое ПО все же существует. Например, UBA-системы, способные обнаружить вредоносную активность в файловых системах.
Читать дальше →
Всего голосов 15: ↑15 и ↓0+15
Комментарии12

Ежедневные отчёты по состоянию виртуальных машин с помощью R и PowerShell

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

Вступление


День добрый. Уже пол года у нас работает скрипт (точнее набор скриптов), генерирующий отчёты по состоянию виртуальных машин (и не только). Решил поделиться опытом создания и самим кодом. Рассчитываю на критику и на то, что данный материал может быть кому-то полезным.

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

Использование PowerShell для повышения привилегий локальных учетных записей

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


Повышение привилегий — это использование злоумышленником текущих прав учетной записи для получения дополнительного, как правило, более высокого уровня доступа в системе. Несмотря на то что повышение привилегий может быть результатом эксплуатации уязвимостей нулевого дня, или работы первоклассных хакеров, проводящих целенаправленную атаку, или же грамотно замаскированной вредоносной программой, но все же чаще всего это происходит из-за неправильной настройки компьютера или учетной записи. Развивая атаку далее, злоумышленники используют ряд отдельных уязвимостей, что в совокупности может привести к катастрофической утечке данных.
Читать дальше →
Всего голосов 14: ↑9 и ↓5+4
Комментарии9

Истории

Подключение к Windows по SSH как в Linux

Время на прочтение3 мин
Количество просмотров91K
Меня всегда удручало подключение к Windows машинам. Нет, я не противник и не сторонник Microsoft и их продуктов. Каждый продукт существует для своей цели, но речь не об этом.
Для меня всегда было мучительно больно подключаться к серверам с Windows, потому что эти подключения либо настраиваются через одно место (привет WinRM с HTTPS) либо работают не очень стабильно (здравствуй RDP к виртуалкам за океаном).

Поэтому, случайно натолкнувшись на проект Win32-OpenSSH, я решил поделиться опытом настройки. Возможно кому-нибудь эта тулза сэкономить кучу нервов.


Читать дальше →
Всего голосов 17: ↑17 и ↓0+17
Комментарии26

Новый Windows Terminal: ответы на ваши вопросы

Время на прочтение3 мин
Количество просмотров33K
В комментариях к недавней статье вы задали много вопросов по поводу новой версии нашего Windows Terminal. Сегодня постараемся ответить на некоторые из них.

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

Всего голосов 25: ↑22 и ↓3+19
Комментарии29

Представляем Windows Terminal

Время на прочтение4 мин
Количество просмотров162K
Windows Terminal — это новое, современное, быстрое, эффективное, мощное и производительное терминальное приложение для пользователей инструментов и оболочек командной строки, таких как Command Prompt, PowerShell и WSL.



Windows Terminal будет поставляться через Microsoft Store в Windows 10 и будет регулярно обновляться, гарантируя, что вы всегда будете идти в ногу со временем и сможете пользоваться новейшими функциями и последними улучшениями с минимальными усилиями.

image
Читать дальше →
Всего голосов 144: ↑132 и ↓12+120
Комментарии203

PowerShell Desired State Configuration и напильник: часть 1. Настройка DSC Pull Server для работы с базой данных SQL

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


PowerShell Desired State Configuration (DSC) сильно упрощает работу по развертыванию и конфигурированию операционной системы, ролей сервера и приложений, когда у вас сотни серверов.

Но при использовании DSC on-premises, т.е. не в MS Azure, возникает пара нюансов. Они особенно ощутимы, если организация большая (от 300 рабочих станций и серверов) и в ней еще не открыли мир контейнеров:

  • Нет полноценных отчетов о состоянии систем. Если нужная конфигурация не применилась на каких-то серверах, то без этих отчетов мы об этом не узнаем. От встроенного сервера отчетов информацию получить довольно сложно, а для большого количества хостов – еще и долго.
  • Отсутствует масштабируемость и отказоустойчивость. Невозможно построить ферму опрашивающих веб-серверов DSC, которые бы имели единую отказоустойчивую базу данных и общее хранилище mof-файлов конфигураций, модулей и ключей регистрации.

Сегодня я расскажу, как можно решить первую проблему и получить данные для построения отчетности. Все было бы проще, если в качестве базы данных можно было бы использовать SQL. MS обещает встроенную поддержку только в Windows Server 2019 или в build Windows server 1803. Забирать данные с использованием OleDB provider тоже не получится, так как DSC-сервер использует именованный параметр, который не полностью поддерживается OleDbCommand.

Нашел вот такой способ: тем, кто использует Windows Server 2012 и 2016, можно настроить использование БД SQL в качестве backend’a для опрашивающего DSC-сервера. Для этого создадим «прокси» в виде .mdb файла со связанными таблицами, который будет перенаправлять данные, полученные от отчетов клиентов, в БД SQL-сервера.
Читать дальше →
Всего голосов 24: ↑22 и ↓2+20
Комментарии3

Уязвимость Exchange: как обнаружить повышение привилегий до администратора домена

Время на прочтение2 мин
Количество просмотров6.5K
Обнаруженная в этом году уязвимость в Exchange позволяет любому пользователю домена получить права администратора домена и скомпрометировать Active Directory (AD) и другие подключенные хосты. Сегодня мы расскажем, как работает эта атака и как ее обнаружить.


Читать дальше →
Всего голосов 8: ↑7 и ↓1+6
Комментарии3

How to get Security Log with non-administrative user

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


Привет Хабр! Читайте под катом как получить доступ к логу безопасности Windows без прав администратора. Эта будет не первая статья на Хабре связанная с логами Windows и наверно не самая оригинальная, но на мой взгляд я потратил слишком много времени на поиск простого решения для чтения логов обычным пользователем, вот я и решил поделиться «историей своего успеха».

Также пришлось сравнить скорость работы Powershell командлетов Get-WinEvent и Get-EventLog.

Все что находится под катом актуально для Windows Server 2008R2/2012R2, Windows 10 Pro (1809), на других версиях я не проверял, думаю что с продуктами 2016 и 2019 годов ситуация аналогичная.
Читать дальше →
Всего голосов 18: ↑17 и ↓1+16
Комментарии2

Создание и обновление списков рассылки в Zimbra Collaboration OSE на основе групп и пользователей Active Directory

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

1. Пара слов от автора


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

В комментариях к прошлой статье мне задали интересный вопрос об автоматическом формировании списков рассылки на основе групп безопасности AD. Есть задача – есть решение. Итак, поехали.

2. Исходные данные


ОС сервера: CentOS 7

По поводу ОС
На самом деле разница между CentOS7 и любой другой системой будет заключаться исключительно в командах серверу на установку пакетов, и, возможно, расположении некоторых файлов. Работа ведется в основном с командлетами Zimbra, так что отличия настройки будут минимальны.

Домен Zimbra: zimbramail.home.local
Путь монтирования шары на хосте Zimbra: /mnt/ZM/

3. Настройка


  1. Монтируем шару Windows к нашему Linux серверу. Это нужно для упрощения и автоматизации передачи данных из Windows PowerShell в Linux Bash. Процедура монтирования была описана в предыдущей статье. Не буду повторяться.
  2. Создаем в AD отдельное OU, в котором создаем группы, на основе которых будут созданы списки рассылки в Zimbra. Имя группы = имя списка рассылки.
  3. Добавляем в группы, созданные в новом OU, пользователей или группы безопасности, на основе которых будут наполняться списки рассылки в Zimbra. Скрипт отрабатывает рекурсивно, что значит, что он соберет все данные о пользователях, состоящих в группах, которые добавлены в группы в целевом OU. Подробнее о выводе команды Get-ADGroupMember.
  4. Создаем скрипт сбора данных из Active Directory.
  5. Создаем скрипт добавления листов рассылки и их наполнения пользователями на основе полученных данных в предыдущем скрипте.
  6. Наслаждаемся.

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

Языки программирования: PowerShell захватывает всё больше разработчиков под Linux, macOS и Windows

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


Публикация компанией Microsoft исходников скриптового языка PowerShell вызывает отклик у всё большего числа разработчиков. По-видимому, это недавнее решение Microsoft начинает окупаться. В индексе TIOBE (The Importance Of Being Earnest) он появился в топ-50 самых популярных языков программирования.

Microsoft опубликовала исходники своего 12-летнего скриптового языка три года назад как часть своего подхода к совместимости операционных систем.

Дебют PowerShell на Linux и macOS в 2016-м году состоялся после того, как генеральный директор Microsoft Сатья Наделла (Satya Nadella) сказал, что «Microsoft любит Linux», а его предшественник Стив Балмер (Steve Ballmer), что вообще-то Linux — это не злокачественная опухоль.

Читать дальше →
Всего голосов 54: ↑23 и ↓31-8
Комментарии41

Основы PowerShell: определение конца строки с определенным символом

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

Знаете ли вы, что можно определить, заканчивается ли строка определенным символом или начинается с него в PowerShell? Томас Рейнер (Thomas Rayner) ранее поделился на CANITPRO.NET, как это легко сделать с помощью регулярных выражений (regular expressions) или, проще говоря, Regex.


Читать дальше →
Всего голосов 19: ↑13 и ↓6+7
Комментарии10

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

One day offer от ВСК
Дата16 – 17 мая
Время09:00 – 18:00
Место
Онлайн
Конференция «Я.Железо»
Дата18 мая
Время14:00 – 23:59
Место
МоскваОнлайн
Антиконференция X5 Future Night
Дата30 мая
Время11:00 – 23:00
Место
Онлайн
Конференция «IT IS CONF 2024»
Дата20 июня
Время09:00 – 19:00
Место
Екатеринбург

Массовая печать в Windows

Время на прочтение6 мин
Количество просмотров42K
Иногда нужно быстро распечатать много картинок с котиками документов, а открывать для этого каждый файл совсем не хочется. Первым делом напрашивается использование контекстного меню проводника, но у этого способа есть свои ограничения и нюансы. Поэтому пришлось искать альтернативу. За подробностями — прошу под кат.
Читать дальше →
Всего голосов 9: ↑9 и ↓0+9
Комментарии11

Как не продолбать пароли в Python скриптах

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


Хранение паролей всегда было головной болью. В классическом варианте у вас есть пользователь, который очень старается не забыть жутко секретный «qwerty123» и информационная система, которая хранит хеш от этого пароля. Хорошая система еще и заботливо солит хеши, чтобы отравить жизнь нехорошим людям, которые могут украсть базу с хешированными паролями. Тут все понятно. Какие-то пароли храним в голове, а какие-то засовываем в зашифрованном виде в keepass.

Все меняется, когда мы убираем из схемы человека, который старательно вводит ключ с бумажки. При взаимодействии двух информационных систем, на клиентской стороне в любом случае должен храниться пароль в открытом для системы виде, чтобы его можно было передать и сравнить с эталонным хешем. И вот на этом этапе админы обычно открывают местный филиал велосипедостроительного завода и начинают старательно прятать, обфусцировать и закапывать секретный ключ в коде скриптов. Многие из этих вариантов не просто бесполезны, но и опасны. Я попробую предложить удобное и безопасное решение этой проблемы для python. И чуть затронем powershell.
Читать дальше →
Всего голосов 75: ↑72 и ↓3+69
Комментарии83

Как объединить содержимое файлов в PowerShell. И при этом не пострадать

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

Что надо было сделать


Однажды мне понадобилось объединить пачку текстовых файлов, лежащих в одной директории, в один файл. Делать руками этого не хотелось и мне на помощь, как всегда, пришёл Гугл! Я много слышал о мощности такого средства, как PowerShell, и решил использовать его для этой "мегазадачи". Хотя бы потому, что с убогостью средства cmd.exe я знаком не по наслышке. Ну а делать это руками — не наш путь.

Что пошло не так
Всего голосов 17: ↑14 и ↓3+11
Комментарии26

Как определить минимальный размер, необходимый для промежуточной папки репликации DFSR

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


[Прим. переводчика. Материал статьи относится к Windows Server 2003/2003R2/2008/2008R2, но большинство из описанного справедливо и для более поздних версий ОС]

Уоррен снова здесь. Эта статья — краткое справочное руководство о том, как правильно вычислить минимальный размер промежуточной папки, необходимый для нормальной работы DFSR. Задание меньших значений может привести к замедлению репликации или вообще к ее остановке. Имейте в виду, что это лишь минимальные значения. Принимая решение о размере промежуточной папки, помните следующее: чем больше будет размер промежуточной папки, тем лучше, вплоть до размера самой реплицируемой папки. За дополнительными сведениями о том, как важно использовать верный размер промежуточной папки, обратитесь к разделу «Как определить, есть ли у вас проблема с промежуточной папкой» и постам из блогов, ссылки на которые размещены в конце этой статьи.
Читать дальше →
Всего голосов 9: ↑9 и ↓0+9
Комментарии0

Еще один способ увидеть коммуникации приложений

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

Добрый день, коллеги. Как известно, есть очень полезная утилита — sysmon. В двух словах, она позволяет вам собирать и "логировать" события, происходяшие в Windows. Одним из таких событий является попытка установить сетевое соединение. Таким образом, можно попытаться узнать, куда ходят ваши приложения. Для этого нам понадобятся:


  • сам sysmon
  • конфигурация к нему, я предпочитаю использовать вот эту
  • модуль PSQuickGraph module
  • и немного фантазии
Читать дальше →
Всего голосов 10: ↑10 и ↓0+10
Комментарии4

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

Время на прочтение16 мин
Количество просмотров17K
Создание новой виртуальной машины — это рутина, отнимающая много времени. И чем больше инфраструктура и организация, тем больше процедур, связанных с этим процессом. Мы автоматизировали это процесс с помощью PowerShell.

Добро пожаловать под кат, если вам это интересно.



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

Еще немного про графы, или как обнаружить зависимости между вашими приложениями

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

Доброе время суток, коллеги. Последнее время довольно много разговоров о переносе приложений из физических инфраструктур, читай датацентров, в облако. Например в Microsoft Azure. Ну, или вообще, о любом другом переносе одного или нескольких приложений из одного места в другое. Одной из самых больших проблем в такого рода задачах является необходимость найти все внешние зависимости приложения. Имеется в виду не зависимости в коде, а зависимости от внешних, по отношению к приложению, систем. Собственно говоря, порой нам надо найти, с кем наше предложение разговаривает, и кто разговаривает с ним. Как это сделать, если у нас нет развернутой SIEM, так сказать средствами "SIEM для бедных". Собственно говоря, для систем на Windows есть следующее предложение.

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