Как подписать power shell скрипт ps 1 с помощью сертификата

Цифровая подпись у PowerShell скрипта (файла *.PS1) позволяет при запуске удостовериться, что скрипт подписан доверенным издателем и его код не был изменен. Для подписи кода PowerShell скрипта вам нужно получить сертификат типа Code Signing. Такой сертификат можно:

Таким образом, у вас должен файл сертификата с закрытым ключом в формате .PFX (с X509. Импортируйте этот сертификат в локальное хранилище компьютера:

Если вы хотите использовать самоподписанный сертификат, его можно сгенерировать с помощью PowerShell:

$certFile = New-SelfSignedCertificate -Subject “Certificate to sign PowerShell sсripts” -Type CodeSigningCert -DnsName $env:computername -CertStoreLocation cert:LocalMachinemy

Подписать код PowerShell скрипта с помощью сертификата

Вывести список доступных сертификатов для подписывания кода скриптов PowerShell в указанном хранилище:

Get-ChildItem cert:LocalMachinemy -CodeSigningCert

Выбрать сертификат можно по его отпечатку:

Чтобы подписать код указанного PowerShell скрипта, выполните:

$PSScript = “C:PSHardwareReadiness.ps1″$TimestampServer = “http://timestamp.verisign.com/scripts/timstamp.dll”Set-AuthenticodeSignature -FilePath $PSScript -Certificate $signcert -TimestampServer $TimestampServer

Если вы попытаетесь использовать обычный сертификат для подписывания скрипта, появится ошибка:

Set-AuthenticodeSignature : Cannot sign code. The specified certificate is not suitable for code signing.

Как подписать power shell скрипт ps 1 с помощью сертификата

При подписывании файла PowerShell скрипта, командлет Set-AuthenticodeSignature добавляет в конец текстового файла PS1 блок сигнатуры цифровой подписи, обрамленный специальными метками:

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

Как подписать power shell скрипт ps 1 с помощью сертификата

В свойствах PS1 файла на вкладке Digital Signatures появится информация о наличии подписи у скрипта и информация о сертификате.

Как подписать power shell скрипт ps 1 с помощью сертификата

Запуск подписанных PowerShell скриптов в Windows

По умолчанию настройки политики выполнения PowerShell скриптов в Windows блокируют запуск любых PS1 скриптов (режим Restricted) и при запуске скрипта появится ошибка.

File C:PSHardwareReadiness.ps1 cannot be loaded because running scripts is disabled on this system.

Чтобы разрешить запуск только подписанных PowerShell скриптов, нужно изменить настройки политики на AllSigned. Настройки политики выполнения можно изменить:

Проверьте настройки политики выполнения:

Если попробовать запустить сейчас подписанный PowerShell скрипт, появится ошибка:

File C:PSHardwareReadiness.ps1 cannot be loaded. A certificate chain processed, but terminated in a root certificate which is not trusted by the trust provider.

Как подписать power shell скрипт ps 1 с помощью сертификата

Для запуска подписанного PowerShell скрипта, нужно добавить отпечаток сертификата в корневые доверенные сертификаты. Можно скопировать сертификат из секции Personal в хранилища Trusted Root Certification Authority и Trusted Publisher с помощью графической консоли
Certlm.msc
(скопируйте сертификат из Personal хранилища и вставьте его в корневые).

Как подписать power shell скрипт ps 1 с помощью сертификата

Теперь подписанный PowerShell скрипт будет запускаться без предупреждений.

Чтобы проверить действительность подписи PowerShell скрипта, выполните команду:

Как подписать power shell скрипт ps 1 с помощью сертификата

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

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

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

Как подписать power shell скрипт ps 1 с помощью сертификата

Эту проблему я сегодня использую для демонстрации приема, который полезно иметь в арсенале.

[+] Сегодня в программе

На самом деле слева не системный интерфейс, а магазинное приложение “Безопасность Windows”. Локализация интерфейса этих приложений определяется по первому языку в списке предпочитаемых языков. И он действительно был английским. После наводящих вопросов выяснилось, что выполнялась установка русской Windows 11.

Тут я вспомнил, как в обсуждении моего простого файла ответов читатель сетовал на ту же проблему – после установки первым в списке идет английский. Язык ОС он не сообщил, но предположим тоже русский.

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

Возможно, проблема возникает при каком-то сочетании региональных параметров файла ответов и языка дистрибутива. Кроме того, разработчики вносят изменения в языковые аспекты установки ОС. Про нововведения в 20H1 я рассказывал. А сейчас в документации DISM для параметра /set-uilang добавилось примечание. Начиная с Windows 11 заданный язык установки ОС не переопределяется пользователем при выборе языка на этапе OOBE (за исключением домашних изданий).

Задача

Для всех пользователей форсировать определенный порядок списка предпочитаемых языков и язык ввода по умолчанию.

В формулировке кроются два нюанса:

Решение

В общем случае настраивается так:

Эти команды можно выполнить из FirstLogonCommands файла ответов.

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

Параметры для всех пользователей

Импорт в реестр настроек для всех пользователей я разбирал в статье Автоматическое внесение изменений в профиль Default во время установки Windows. В нашем случае список языков и предпочитаемый метод ввода тоже хранятся в реестре. Но не всегда реестр решает вопрос, поэтому я хочу показать другой прием.

Можно настроить однократное выполнение команд из раздела реестра RunOnce или Run!

Настройка пользовательских региональных параметров не требует прав администратора. Поэтому при первом входе каждого нового пользователя в систему можно однократно выполнить команды PowerShell из реестра. Формально способ RunOnce не поддерживается для обычного пользователя, но работает, что я разбирал в канале Telegram.

В файле ответов импорт тех же команд PowerShell в раздел RunOnce выглядят так:

Напомню, что эти команды должны выполняться на этапе specialize.

Настройка пользовательского профиля с помощью Active Setup

Есть еще один древний, но эффективный и в некоторых случаях необходимый способ — Active Setup! Я написал о нем в каналe Telegram.

Заключение

Конечно, ничего нового тут нет. Но даже очень древние способы могут быть эффективны в новой обертке. Более того, этот метод (за вычетом файла ответов) до сих пор использует Microsoft для установки клиента OneDrive даже в Windows 11. Там задействован раздел Run нежели RunOnce. Но очевидно установщик OneDrive в конце просто подчищает за собой команду в HKCU, которая его запускает.

Найти лучший терминал для Windows может быть непросто, учитывая все доступные варианты.

:/>  Безопасном режим windows 10

Лучший терминал для Windows

Терминал Windows встроен в Windows 11 и 10.

Единственным недостатком является то, что он совместим только с ними. Если вы используете более старую версию Windows, изучите другие варианты ниже.

Протестировав это приложение, я пришел к выводу, что оно современное, быстрое и работает без проблем во время всех моих тестов.

Что выделяло его из толпы, так это поддержка множества приложений командной строки. К ним относятся PowerShell, командная строка и даже Azure Cloud Shell.

В программном обеспечении есть функция, которую я не ожидал: возможности настройки. Вы можете открыть настройки, нажав следующую комбинацию клавиш внутри терминала: Ctrl+,.

Windows Terminal позволяет создавать цветовые схемы и даже сочетания клавиш.

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

FireCMD

После тестирования FireCMD могу сказать, что попробовать стоит, если вы ищете компетентный терминал для Windows.

Это приложение удивило меня своими функциями, включая автозаполнение команд, полную поддержку HTML и CSS и даже поддержку Unicode.

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

Как и в случае с терминалом Windows, FireCMD позволяет открывать несколько вкладок в одном окне.

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

МобаXTerm

MobaXterm обладает фантастическим набором функций и возможностей поддержки.

Это приложение полностью поддерживает сеансы SSH, Telnet, RDP, VNC, XDMCP, FTP, SFTP и последовательные сеансы. Это делает его одним из самых универсальных терминальных приложений.

Что еще больше выделяло его из толпы, так это его SFTP-браузер. Этот удобный маленький инструмент появляется на левой боковой панели всякий раз, когда вы входите на удаленный SSH-сервер.

Вы можете быстро перемещаться по базе данных и более эффективно исследовать набор данных.

Менеджер туннелей SSH также упрощает процесс, позволяя с легкостью выполнять переадресацию портов.

Терминал ZOC

ZOC Terminal — еще один претендент на звание лучшего терминала для Windows.

Это профессиональное программное обеспечение для эмуляции терминала отлично работает как на Windows, так и на macOS.

Помимо своей универсальности, ZOC содержит различные функции, которые делают его надежным при подключении к хостам и мэйнфреймам через Secure Shell, Telnet и другие.

Его хорошо продуманный и удобный интерфейс выделяет его из толпы.

Кроме того, вы можете настроить свой опыт.

Этот терминал также предлагает мощный язык сценариев и автоматически запускает действия на основе полученного или напечатанного текста.

Командование

Cmder убедил меня, что это отличный портативный терминал для Windows.

Этот легкий терминал для Windows действует как эмулятор консоли, обеспечивая среду, подобную Unix.

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

Вы можете переносить псевдонимы, настройки или историю куда угодно.

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

Несмотря на то, что оно не предлагает тот же набор возможностей, что и ранее упомянутое программное обеспечение, оно все равно остается отличным выбором.

ConEmu

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

Отличительной чертой этой страны является ее способность к глубокой интеграции.

Несмотря на то, что оно не такое мощное, как отдельное приложение, оно отлично подходит для использования с Far Manager.

Тот факт, что ConEmu полностью поддерживает Cygwin и MSYS, делает его ценным дополнением к вашему стеку программного обеспечения.

Как и другие варианты, ConEmu имеет открытый исходный код и может использоваться на портативных устройствах хранения данных.

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

PuTTy

Putty — это бесплатный эмулятор терминала с открытым исходным кодом и множеством возможностей.

Это приложение поддерживает несколько сетевых протоколов, включая SCP, SSH, Telnet, rlogin и соединения через необработанные сокеты.

Что выделялось во время моего тестирования, так это его способность полностью контролировать ключи шифрования SSH и версии протокола.

Это упрощает процесс использования любого терминала и обеспечивает более быстрые результаты.

Термиус

Termius — еще одно превосходное терминальное приложение для Windows, предлагающее отличную поддержку SSH. Это гарантирует, что вы сможете легко управлять несколькими командами DevOps и инженерами.

Одним из элементов, который выделил его среди многих протестированных мной приложений, является его способность экономить время.

Это программное обеспечение было разработано с учетом серверов UNIX и Linux.

Он предлагает кроссплатформенную поддержку для еще более эффективного использования и может запускаться несколько раз одновременно.

Мятный

Mintty — еще один отличный вариант, если вы ищете терминал Windows. Он действует как эмулятор терминала и обеспечивает полную поддержку эмуляции Xterm.

Mintty гарантирует, что ее комплексная поддержка кодировки символов поможет вашей работе.

Хоть он и не такой сложный, как другие варианты в списке, он все равно меня впечатлил.

Это произошло благодаря полной поддержке 256 цветов и True-Color.

Удобный интерфейс также идеально характеризует это приложение.

Терминал Git Bash

Git Bash Terminal также предоставляет вам командную строку в стиле Unix для Windows.

Это подойдет вам, если вы привыкли к среде Unix.

Он может автоматизировать ручные задачи с помощью созданных вами сценариев.

Несмотря на то, что он не так компетентен, как другие варианты, он все равно предоставляет пользователям подходящий терминал.

Кроме того, вы можете использовать хорошо известный процесс перетаскивания для извлечения URL-адресов из папок.

Как я выбрал лучший терминал для Windows

Терминал WindowsБыстро и просто5/5Универсальные возможности терминала5/5Совместимость с различными системами

FireCMDПросто и удобно5/5Многофункциональная командная строка4/5Совместим с Windows

:/>  Как включить или отключить общий доступ к файлам и принтерам в Windows 10

MobaXtermБыстрый процесс установки4/5Комплексный набор инструментов5/5Кроссплатформенная совместимость

Терминал ZOCПростая установка3/5Обширные сценарии и автоматизация4/5Мультиплатформенная совместимость

КомандованиеПростота монтажа2/5Улучшенный эмулятор консоли.3/5Совместим с Windows

ConEmuБыстрая и простая настройка3/5Интерфейс с вкладками, обширные возможности3/5Совместим с Windows

шпатлевкаПросто и понятно2/5Стандартный функционал терминала2/5Кроссплатформенная совместимость

конечная станцияБыстрый процесс установки5/5Акцент на современных функциях4/5Кроссплатформенная совместимость

МятныйБыстро и просто2/5Быстрый и эффективный терминал3/5Совместим с Windows

Терминал Git BashВключено в установку Git2/5Функциональность командной строки Git4/5Совместимость с Windows и Git.

Вы также можете быть заинтересованы в:

Как использовать лучший терминал для Windows

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

Вы можете обращаться к данным в файлах Excel напрямую из PowerShell. Несмотря на то, что в PowerShell есть встроенные командлеты для импорта (Import-CSV) и экспорта (Export-CSV) табличных данных в CSV файлы, для конечных пользователей формат книг Excel более прост, понятен. С помощью автоматизации PowerShell и Excel вы можете инвентаризировать и строить красивые отформатированные отчеты по вашей инфраструктуре (компьютерам, серверам, пользователям, Active Directory и т.д.)

В этой статье мы покажем, как прочитать и записать данные в таблицу Excel с помощью PowerShell.

Сначала рассмотрим архитектуру объектной модели документа Excel, которая состоит из следующих уровней представлений:

Как подписать power shell скрипт ps 1 с помощью сертификата

Доступ к данным в файле Excel из PowerShell

Рассмотрим на простом примере как получить доступ из PowerShell к данным в Excel файле со списком сотрудников.

Как подписать power shell скрипт ps 1 с помощью сертификата

Запустите приложение Excel (Application layer), создав COM объект:

Чтобы создать этот COM объект, Excel должен быть установлен на компьютере.

Эта команда запустите в фоновом режиме приложение Excel. Чтобы сделать окно Excel видимым, нужно изменить свойство Visible COM объекта:

Вывести все свойства объекта Excel:

Теперь можно открыть файл Excel (книгу, workbook):

Как подписать power shell скрипт ps 1 с помощью сертификата

В каждом файле Excel может быть несколько листов (worksheets). Вывести список листов в текущей книге Excel:

Теперь можно открыть конкретный лист (по его имени или индексу):<

Текущий (активный) лист Excel можно узнать командой:

Как подписать power shell скрипт ps 1 с помощью сертификата

Для получения значения из ячейки Excel нужно указать ее номер. Теперь вы можете получить значения из ячеек документа Excel. Можно использовать различные способы адресации ячеек в книге Excel: через диапазон (Range), ячейку (Cell), столбец (Columns) или строку (Rows). Ниже показаны примеры получения данных из одной и той же ячейки:

Как подписать power shell скрипт ps 1 с помощью сертификата

Записать значение в ячейку Excel из PowerShell

Вы можете изменить значение любой ячейки в книге Excel. Например, вы хотите изменить должность пользователя в файле.

Получить текущее значение ячейки:

Присвойте новое значение ячейке:

$ExcelWorkSheet.cells.Item(2, 3) = ‘Начальник отдела продаж’

Изменить размер шрифта и выделить новое значение жирным:

$ExcelWorkSheet.cells.Item(2, 3).Font.Bold = $true$ExcelWorkSheet.cells.Item(2, 3).Font.size=14

Сохранить изменения и закрыть книгу Excel:

Закрыть приложение Excel:

Как подписать power shell скрипт ps 1 с помощью сертификата

Откройте XLSX файл и проверьте, что данные и шрифт в указанной ячейки были изменены.

Если вам нужно создать новый лист в документе Excel:

$ExcelWorkSheet = $ExcelWorkBook.Worksheets.Add()$ExcelWorkSheet.Name = “NewSheet”

Удалить целиком столбец или строку:

$ExcelWorkSheet.cells.Item(5, 1).EntireRow.Delete()$ExcelWorkSheet.cells.Item(2, 1).EntireColumn.Delete()

Как получить данные из Active Directory и сохранить их в книге Excel?

Рассмотрим практический пример как можно использовать PowerShell для получения данных из Excel. Например, вы хотите получить для каждого пользователя в Excel файле получить информацию из Active Directory. Например, его телефон (атрибут telephoneNumber), отдел (department) и email адрес (mail).

В результате в Excel файле для каждого пользователя были добавлены столбцы с информацией из AD.

Как подписать power shell скрипт ps 1 с помощью сертификата

Рассмотрим еще один пример построения отчета с помощью PowerShell и Excel. Допустим, вам нужно построить Excel отчет о состоянии службы Print Spooler на всех серверах домена.

Получить данные их XLSX файла без установки Microsoft Office

Если вы хотите или не можете установить Excel на компьютере ( например у вас отсутствуют лицензии для активации Office или в случае с Windows Server Core), вы можете использовать кроссплатформенный PowerShell модуль ImportExcel для работы с Excel документами.

Установите модуль из PowerShell Gallery:

Рассмотрим типовые операции с книгами Excel, которые можно выполнить с помощью этого модуля.

Экспорт данных в XLSX файл:

Как подписать power shell скрипт ps 1 с помощью сертификата

Изменить значение в ячейке Excel:

С помощью PSObject можно добавить данные в таблицу Excel:

Как подписать power shell скрипт ps 1 с помощью сертификата

TL;DR Почему на Хабре нет статей про то, как человек вполне доволен наличием WSL и активно ею пользуется? Неужели я один такой? Значит, пора добавить воды писать статью!

Дисклеймеры

Общий дисклеймер • О личности автора • Отказ от ответственности • Об использовании ChatGPT

Аннотация

Заметил, что на Хабре не сильно-то жалуют Windows Subsystem for Linux. Претензии поначалу были к наименованию данной подсистемы (потому что Linux Subsystem for Windows поначалу звучит даже логичнее), а потом шли поминки по-настоящему нативной WSL 1, затем просто лёгкий бугурт в комментариях насчет того, что WSL 2 – просто виртуалка! Что́ следует из этого тезиса, я так и не понял, потому что вот уже седьмой год пользуюсь WSL ежедневно, и жить без него не могу! Кто-то описал короткую заметку, что пользуется WSL, а я со своей стороны добавлю воды к этой теме.

В этой статье расскажу, как я обустроился в этом мире тотальной гиперконвергенции Linux и Windows, созданным Microsoft.

Введение

WSL сейчас переживает золотые времена: любой популярный дистрибутив можно поставить из Microsoft Store, а саму подсистему запустить можно одной командой либо скачав её опять же с магазина. Если какого-то дистрибутива не хватает – создаёшь. WSL интегрирована с хостовой Виндой – можно лезть друг к другу в директории как к себе домой, это работает в обе стороны. systemd теперь есть, опять же. Поддержка Docker максимально полная. У дистрибутивов Linux так же есть доступ к видеокарте, можно нейронки гонять. За счет возможности запуска X-Server есть возможность запустить графические Linux-приложения в Windows – да, окна из одной ОС будут сосуществовать с окнами хостовой операционки. Фантастика!

:/>  Steam Community :: Guide :: Все о DDraceNetwork / All about DDraceNetwork (RUS / ENG)

Зачем жить, если нет WSL?

Как подписать power shell скрипт ps 1 с помощью сертификата

Это мой Windows Terminal с WSL. Ничего необычного

Для начала вопрос для себя: зачем тебе вообще нужен Linux при живой-то Windows, если ты очень высокоуровневая соевая фронтенд-макака, обитающая на высоте двух сотен тысяч вызовов в стектрейсе? Безотносительно должности, конечно. Дело касается исключительно домашнего ИТ-быта с элементами пет-проектов. А вот зачем мне это надо:

Бонусом научился базовым основам Linux, само собой: смена окружения, маршрутизация, правка конфигов, systemd, скриптинг на Bash (от которого я стараюсь отказываться в пользу кросс-платформенного и более организованного костылеписания на PowerShell). Куда-то ниже пятого-шестого уровня OSI и ближе к ядру подходить не буду – интерес к “пингвину” у меня чисто утилитарный.

Дальше подробнее о каждом пункте:

Итак, именно в таких задачах WSL на 100% заменит “пингвина” на голом железе, и уж тем более справится лучше самой Windows.

В комментариях можно подискутировать: человек сообщает, что́ он делает у себя на домашнем ПК с помощью bare-metal Linux – и можно придумать, может ли он то же самое сделать через WSL. Естественно, никого принуждать и причинять добро не надо – сила привычек и сложившегося рабочего окружения в том, что человек явно быстрее всё сделает в своем родном мирке, а не будучи пересаженным на WSL.

Стратегическая роль WSL

Доля Windows имеет тенденцию к снижению, судя по данным аналитических агенств. Microsoft, в свою очередь, за последние 11 лет избавилась от почти всех идеологических оков и корпоративных предрассудков. Не знаю, кто додумался именно до таких стратегических шагов, но вполне логичным лозунгом является “догнать и перегнать Америку конкурентов!”. Вкупе с постулатом “не можешь победить – возглавь”, которую придумал в стародавние времена какой-то болванчик из Европы, это всё вылилось в идею “а давайте мы добавим Linux в Windows!”. Не удивлюсь, если соответствующий Merge request в их системе контроля версий висел еще во времена Стива Балмера.

Выводы

WSL меня не ограничивает – от слова совсем. Потребности элементарно не подошли к краю возможностей подсистемы Windows для Linux. Однозначно рекомендую WSL как default-решение для совмещения “пингвина” и “окон”.

Есть, естественно, пограничные (не обязательно психически) случаи, когда нужен именно bare-metal хост на каком-нибудь из дистрибутивов пингвина:

Альтернативы?

С другой стороны, разве я не рассматривал другие варианты организации своего флоу Linux-Windows? Linux сам по себе мне нужен, от него отказываться не вариант! Из альтернатив есть только три с половиной пути самурая:

Бонус

Заметили, что на первом скриншоте оболочки Windows и Ubuntu выглядят максимально одинаково, несмотря на то, что у одного исполняется PowerShell, а у второго – Bash?

Конфигурация терминала – отдельный кайф и сугубо личное дело каждого, но иной раз всё-таки лучше рассказать о своём пути самурая. Много раз в рандомных местах интернетов – и на Хабре в том числе – я видел скриншоты с красиво оформленной оболочкой в каком-нибудь окне не менее красивого терминала. На манер таких:

Ответ нашелся в первой строчке поисковика: OhMyPosh.

Гайд по установке этого чуда чуть менее тривиален, чем хотелось бы, поэтому я соорудил скрипт для установки OhMyPosh в полуавтоматическом режиме. Скрипт автоматом обходит некоторые ошибки, обновляет профиль PowerShell, устанавливает схему M365Princess и шрифт Caskaydia Cove (на моём скриншоте в самом начале включена именно она) и добавляет конфиг в VS Code и Windows Terminal. Тестировался на Windows 11 полгода назад.

Сейчас я с удовольствием раскатываю OhMyPosh на все свои VPS через Ansible. Доволен!

Да, это очень мощный скриптовый язык, но:

1) Есть ли IDE, которая показывает/подсказывает свойства и методы у данного объекта или класса? А то задолбался руками это делать.

2) Даже после 5 лет работы с PowerShell так и не привык к его “левому” синтаксису.

3) Просмотрев десятки, если не сотни, предложений по работе за последние 2 месяца, помню буквально одно, где был упомянут PowerShell. Увы.

Ну а вообще, почти весь Ansible на Виндах реализован через PowerShell.

Всего голосов 6: ↑6 и ↓0

Всего голосов 1: ↑1 и ↓0

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

Всего голосов 3: ↑3 и ↓0

Левый, значит очень многословный и нетрадиционный.

Кстати, а пинговать и делать что-то с десятками и сотнями машин лучше через Ansible, мне кажется.

Всего голосов 2: ↑1 и ↓1

Всего голосов 6: ↑4 и ↓2

Видимо, изучение самого .NET, который даёт PowerShell-у огромные возможности, останавливало многих админов. Сколько знаю Windows-админов, изучивший Python, никто из них не углублялся в PowerShell + .NET. А зря, как очевидно.

PowerShell хорош тем, что в нем есть мощные админные/девопсные модули, которые на Python замучаешься писать.

Всего голосов 4: ↑4 и ↓0

Всего голосов 2: ↑2 и ↓0

Кроме командлетов, .NET и COM в PowerShell есть ещё и возможность импорта произвольных DLL-библиотек.

Что только люди не сделают, что бы C# не учить 🙂 Та же пинговалка, 2000 хостов пингует 10 секунд, всё из-за того, что пытается сделать 10 пингов с таймаутом по 1 сек. Если все ответят, то будет чуть дольше, чем самый долгий хост отвечал.

Оставьте комментарий