Обновить
32K+

PowerShell *

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

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

MSSQL: ребилд индексов в высоко нагруженных системах, Standard Edition

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели9.6K

В одной из моих предыдущих статей я рассказал о скрипте с названием GentleRebuild, который делал index rebuild в базах, работающих под нагрузкой 24/7, когда нет maintenance window, в Enterprise Edition. Там можно использовать опции ONLINE=ON и даже RESUMABLE=ON, вежливо уступая основной нагрузке базы.

А как же Standard Edition, где этого нет? Каюсь, раньше у меня в скрипте даже стояла проверка, и для Standard Edition скрипт сразу завершался. Но шеф меня попросил заняться и серверами со Standard Edition, и мне пришлось выжать из ситуации максимум.

Читать далее

Информатизация вуза. Бэкапы виртуальных машин, баз данных, файлов

Уровень сложностиПростой
Время на прочтение12 мин
Охват и читатели7.5K

Здравствуйте. В этой статье хотел бы разобрать кейс создания резервных копий. Я опишу свои методы, и прошу Вас поделиться опытом о том, как Вы решали данные задачи. Я опишу самые простые технологии, но они эффективны и выполняют поставленную задачу…

В основном статья будет полезна начинающим системным администраторам (и, конечно, не только в вузах), но прошу опытных специалистов поправить меня, если есть неточности, а может подскажете другие более лучшие решения. Буду благодарен всем, кто проявит интерес к статье.

Но начну с такой информации…

Статья 274 УК РФ. Нарушение правил эксплуатации средств хранения, обработки или передачи компьютерной информации и информационно‑телекоммуникационных сетей

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

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

Читать далее

GitHub: переименование множества файлов в репозитории

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели7.2K

В статье я рассказываю, как в репозитории веб-сервиса «GitHub» можно переименовать сразу множество файлов одним коммитом.

У меня небольшой учебный репозиторий, с которым я работаю через веб-интерфейс. Через веб-интерфейс можно переименовывать файлы по одиночке, но иногда появляется необходимость переименовать сразу много файлов по одному и тому же принципу. Операция переименования состоит из нескольких этапов: клонирование репозитория на свой компьютер, написание скрипта для переименования множества файлов и запуск переименования, создание коммита и отправка изменений в оригинальный репозиторий на «GitHub».

По ходу дела я касаюсь работы с «Git» из командной строки, немного разбираю настройку Git-репозитория, пишу скрипт на языке PowerShell, работаю с регулярными выражениями и создаю гранулированный токен доступа в «GitHub».

Читать далее

Получение подписантов в ЭДО через API СБИС и Диадок

Уровень сложностиСредний
Время на прочтение22 мин
Охват и читатели9.8K

Всем привет. Эта статья будет полезна тем, кто столкнулся с проблемой проверок доверенностей при работе с электронным документооборотом через СБИС и Диадок.  Речь идет не о МЧД (машиночитаемой доверенности), а о проверке обычных бумажных доверок.

Так же возможно кому то просто будет полезно почерпнуть принципы работы через API.

Ко мне эта задача прилетела от юристов, нашей компании, которые постоянно проверяли документы вручную. (смотрели вручную кем подписан документ и потом искали эту доверенность в сканах.

Читать далее

MSSQL: снова о дефрагментации и SHRINK

Уровень сложностиСредний
Время на прочтение3 мин
Охват и читатели33K

Начнем с хороших новостей. Какое то время назад я написал статью Дефрагментация таблиц в высоко нагруженных базах данных (MSSQL). За это время я еще больше отшлифовал скрипт на production, и отдел безопасности фирмы, где я сейчас работаю, разрешил выложить его в open source (репо на github). Приглашаю воспользоваться им и писать мне о багах и пожеланиях.

Ниже я приведу краткий update к статье - кое в чем я теперь с ней не согласен. Кроме того, опишу опыт SHRINK - почему его лучше никогда не делать, почему все-таки иногда нужно делать и как его готовить.

Читать далее

Магия превращений: клик на сайте в выполнение Powershell скрипта на сервере

Уровень сложностиСредний
Время на прочтение22 мин
Охват и читатели16K

Сегодня мы научимся создавать веб интерфейсы для администрирования. Будем запускать Powershell код по клику на сайте или при обращении к API. Для наглядности напишем три сервиса, взаимодействующих со службами, Active Directory и файловой системой.

Начать автоматизировать

Как и зачем отключать TLS 1.0 и TLS 1.1 в Windows Server

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели44K

Ввиду недостаточного уровня безопасности, обеспечиваемого устаревшими протоколами TLS 1.0 и TLS 1.1, их рекомендуется отключать и использовать более новые версии TLS 1.2 и TLS 1.3. В статье мы кратко проговорим отличия старых и новых реализаций этого протокола, а также разберём три способа отключения TLS 1.0 и TLS 1.1: через реестр, команды PowerShell или командную строку.
Читать дальше →

PowerShell и LiveJournal (ЖЖ): скачивание постов журнала

Уровень сложностиСредний
Время на прочтение15 мин
Охват и читатели4.4K

У блог-платформы «LiveJournal» есть набор удалённых функций и протокол их вызова для сторонних веб-клиентов. В этой статье я описываю, какие из этих функций удобно использовать для загрузки к себе на компьютер всех постов своего журнала (блога). Также я даю пояснения к алгоритму загрузки всех постов, показанному в виде псевдокода в документации к клиент-серверному протоколу «LiveJournal», и привожу его перевод на русский язык с некоторыми изменениями.

В конце статьи я описываю свою практическую реализацию алгоритма загрузки постов на языке PowerShell. В статье есть иллюстрация работы полученного скрипта и ссылка на его исходный код на веб-сервисе «GitHub».

Читать далее

Ужасы PowerShell

Уровень сложностиСредний
Время на прочтение3 мин
Охват и читатели14K

Мне часто приходится пользоваться PowerShell. Конечно, его создатели не имели никакого представления о прекрасном и эстетике. Уродливость PowerShell особенна видна при его сравнении, например, с Python. С другой стороны, как говорится, c лица не воду пить - работает и хорошо? Но нет, мне кажется в PowerShell есть по крайней мере пара моментов, которые фатально влияют на его практическое применение.

Читать далее

PowerShell и LiveJournal (ЖЖ): три способа аутентификации

Уровень сложностиСредний
Время на прочтение15 мин
Охват и читатели2.8K

Я изучаю сетевое взаимодействие по протоколу HTTP(S). Мне было интересно попробовать связаться с «Живым Журналом» (он же «LiveJournal» или «ЖЖ») из программы-оболочки «PowerShell» и получить от этого веб-сервиса какие-нибудь данные.

В статье описаны подходы к началу работы с ЖЖ из программы через веб. Даны ссылки на документацию. Детально, с практическими примерами на языке PowerShell, описано три способа аутентификации при вызове удалённых процедур (функций) программы-сервера «Живого Журнала»: «clear», «challenge-response» и способ с помощью «cookie». В последнем случае описано, как открыть сессию, работать в ней, а затем завершить ее.

Читать далее

Auto Provisioning клиента «MicroSip» скриптом на Power Shell

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели4.1K

Вдохновившись постом @StuxForce решил написать упрощенный вариант автоматической установки и конфигурирования клиента MicroSIp на компьютеры доменной сети. Получился вполне рабочий вариант, который легко можно настроить под свою компанию.

Читать далее

Скрипт для настройки VPN на Power Shell

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели24K

Дистанционная работа в компаниях все больше становится распространённой в последнее время. Системным администраторам нужно организовывать на домашних компьютерах пользователей подключение по VPN к сети компании. Время настройки занимает от 10 минут и это если все пойдет гладко, пользователь сообразит как скачать Any Desk или какой другой клиент для удаленного подключения, потом факт стабильного интернета играет роль, ну и конечно же настройка самого VPN подключения — вбиваем адрес, метод шифрования, логин, пароль, ключ.

А если пользователей 10 и более? Это уже нужно потратить больше времени, а если им всем нужно утром срочно все настроить? Тут немного подумав, я решил написать достаточно простой, но в то же время полезный скрипт на Power Shell а потом упаковал его в файлик .exe.

Читать далее

Автоматизируем учёт электронных подписей

Время на прочтение7 мин
Охват и читатели13K

Я думаю, каждый системный администратор задавался вопросом автоматизации учёта электронных подписей в своей организации. Потому что вопросы «Какие у нас есть электронные подписи?»«На каких компьютерах они установлены?»«Когда они заканчиваются?» и т.д. возникают регулярно. Иногда на них отвечает юридический отдел, иногда их адресуют нам, системным администраторам.

Читать далее

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

Git for Windows: вклад в проект с помощью патча

Время на прочтение15 мин
Охват и читатели13K

Существуют разные способы совместной работы над исходным кодом проекта. Так получилось, что сначала я познакомился с тем, как работать с командой «git push», посылая свои изменения в удаленный репозиторий, и как создать на сайте «GitHub» форк для отправки из него запроса на принятие изменений («pull request», сокращенно «PR»). И только после этого я узнал о том, что существует способ обмена изменениями в код с помощью файлов-патчей.

В этой статье я экспериментирую с командой «git diff», создаю тестовый проект и файл-патч из него в программах-оболочках «PowerShell» версии 7 и «Git Bash». Клонирую проект и применяю полученный файл-патч с помощью команды «git apply».

В последней части статьи я показываю, как можно применить программу «Git» для создания файла-патча с изменением в исходный код известного веб-приложения «WordPress». В конце этого примера я создаю сообщение об ошибке (ticket) в системе управления проектом «WordPress» и прикладываю к нему свой файл-патч.

Читать далее

Git for Windows: работа с параметром core.autocrlf

Время на прочтение9 мин
Охват и читатели45K

Одна из настроек программы (системы управления версиями) «Git» называется «core.autocrlf». В этой статье я на практическом примере описываю, что происходит при каждом из трех возможных значений этой настройки. После этого я делаю выводы о том, для чего эта настройка нужна и в каких ситуациях какие ее значения можно использовать.

Всё описанное происходит в операционной системе «Windows 10». Работу с «Git» я показываю на примере работы из командной строки в программе «PowerShell» версии 7. Используемый дистрибутив «Git» называется «Git for Windows».

Читать далее

Port Knocking для Windows

Время на прочтение9 мин
Охват и читатели16K

Мне довольно часто приходится настраивать "одинокие" терминальные сервера(и не только терминальные) в "Облаках", с "легким, быстрым" доступом к нему по RDP.

Все объяснения для пользователей\заказчиков, что такие сервера должны быть доступны только с доверенных IP или через VPN воспринимаются "в штыки" и тогда приходится рисковать...

Конечно сервер защищается от Bruteforce(а), используются парольная политика, нестандартный порт, но все равно сервер постоянно под угрозой, в среднем в месяц можно увидеть по 15000 попыток подобрать пароль.

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

Первое что пришло в голову - Port Knocking, использую его на RouterOS, но беглое гугление показало что для Windows не существует подобного штатного функционала, поиск сторонних средств которые могли бы помочь организовать задуманное не дал результата,  больше покопавшись нашел только странные и страшные поделки на Java не внушавшие доверия.

Тогда решил написать PortKnocking для Windows. Написать его решил на PowerShell, чтоб не пришлось устанавливать на сервер дополнительно Java или Python.

Т.к. есть опыт c телеграм ботами(@SuperMon_Bot), решил добавить и информирование о работе PortKnocking через телеграм.

Определился, что вся задумка должна состоять из нескольких скриптов.

Читать далее

Управление Windows приложениями с помощью PowerShell через Telegram бота на Python

Время на прочтение3 мин
Охват и читатели12K

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

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

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

Так же по этому примеру, через запуск скриптов, возможно управлять инфраструктурой серверов предприятия и пр.., все зависит от вашей фантазии

Читать далее

Windows 10, PowerShell: файл сертификата открытого ключа (X.509) изнутри

Время на прочтение12 мин
Охват и читатели12K

Немного о том, как устроено в «Windows 10» хранение сертификатов открытого ключа, а также о том, как можно просматривать хранилища сертификатов и свойства отдельных сертификатов.

В двух словах рассказано о том, какие инструменты можно использовать для работы с сертификатами открытого ключа, в частности — про сохраненные консоли certlm.msc, certmgr.msc и работу с сертификатами из программы-оболочки PowerShell.

На практическом примере показано, как из командной строки PowerShell можно просмотреть свойства определенного сертификата и как расшифровывать свойства, в которых хранятся «сырые» данные в виде байтовых массивов. Коротко рассказано про язык описания данных ASN.1, способ сериализации DER и стандартизированное дерево идентификаторов объектов OID. Всё это показано на практическом примере.

Читать далее

Загрузочный образ Acronis + VNC + VPN

Время на прочтение5 мин
Охват и читатели20K

Мы в компании давно используем готовые образы систем для быстрого разворачивания рабочего места, но появилась проблема как это сделать удаленно. Попытки объяснить человеку на другом конце страны в каком порядке и что делать - утомили. Проще научить загружаться с флешки, а дальше уже самому поставить разворачиваться образ или наоборот сделать его. Для этого пришлось немного дополнить образ стандартного загрузочного диска Acronis Bootable PE добавив VNC и подключение по VPN до нашего шлюза.

Читать далее

Разбираем по полочкам «философию Unix»

Время на прочтение9 мин
Охват и читатели20K
image

Как-то раз я написал пост о том, как проектируются компиляторы. Основная идея этого поста заключалась в очень простом композиционном примитиве – а именно, выстроить конвейер из функций. Традиционно проектирование компиляторов выстраивается как нисходящий процесс. Компилятор – большая штука, слишком большая, чтобы сразу уложить его в голове. Поэтому задачи дробятся до тех пор, пока не удастся остановиться на какой-нибудь удобоваримой подзадаче, например: написать парсер. Эта проблема уже достаточно компактная, чтобы справиться с ней в одиночку.
Читать дальше →