Преобразование сценария PowerShell в EXE
Сценарий PowerShell бесполезен для тех, кто никогда не открывает PowerShell. Конвертируйте .ps1 в один EXE-файл, который они могут дважды щелкнуть, используя бесплатный модуль PS2EXE - установка, команда, графический интерфейс, значок, версия и параметры администратора, а также честные пределы того, что на самом деле делает преобразование.
📑Главы
<ол класс="главы">📋 Обзор и пошаговое руководство
Проверьте скрипт перед его преобразованием
Никогда не конвертируйте непроверенный скрипт. Как только сценарий помещается в EXE-файл, консоль и сообщения об ошибках скрываются, поэтому поиск каждой ошибки становится медленным и болезненным. Запустите файл .ps1 от имени обычного пользователя и администратора, намеренно введите в него неверные данные и преобразуйте его только тогда, когда он каждый раз ведет себя одинаково.
Установите модуль PS2EXE
PS2EXE — бесплатный модуль, опубликованный в галерее PowerShell. Вы устанавливаете его один раз, на компьютер, на котором собирается EXE - люди, получившие готовый EXE, ничего не устанавливают. Откройте PowerShell и запустите:
Install-Module -Name ps2exeВ первый раз PowerShell может попросить вас доверять репозиторию PSGallery — ответьте «Да», если вы начали установку самостоятельно. Если установка модулей заблокирована политикой на вашем компьютере, разрешите их только для вашей учетной записи:
Set-ExecutionPolicy -Scope CurrentUser RemoteSignedПреобразование с помощью команды Invoke-PS2EXE
Преобразование выполняется одной командой. Он называет входной скрипт и выходной файл — замените имена примеров собственным скриптом:
Invoke-PS2EXE -inputFile ".\DiskCleanup.ps1" -outputFile ".\DiskCleanup.exe"Запустите его из папки, в которой находится ваш скрипт, и рядом с файлом .ps1 появится EXE-файл. Вот и все преобразование: параметры из шага 5 добавляются в эту же строку, когда они вам нужны.
Или используйте графический интерфейс Win-PS2EXE
Предпочитаете нажимать, а не печатать? Модуль также имеет графический интерфейс:
Win-PS2EXEВыберите входной файл, выберите выходной файл, отметьте нужные параметры и нажмите «Компилировать». Графический интерфейс создает точно такой же EXE-файл, что и командная строка — это тот же инструмент с формой сверху, поэтому используйте тот, который вам кажется более понятным.
Добавьте значок, информацию о версии и права администратора
Если EXE-файл будет общим, присвойте ему идентификатор. Добавьте -iconFile ".\tool.ico" для пользовательского значка и -title, -product, -company и -version, чтобы заполнить вкладку «Сведения» свойств файла — именованные файлы выглядят более надежными для пользователей и сканеров, чем анонимные. Если сценарий меняет настройки системы, добавьте -requireAdmin, чтобы Windows запрашивала повышение прав при запуске EXE, а не сбой сценария на полпути. А если сценарий показывает свое собственное окно или форму, -noConsole останавливает появление черного окна консоли позади него, но никогда не используйте его для сценария, который задает вопросы пользователю в консоли, иначе EXE-файл будет выглядеть замороженным, пока он ожидает ввода, который никто не сможет ввести.
Протестируйте EXE-файл как настоящий пользователь
Скопируйте EXE-файл в нейтральное место — на рабочий стол или в общую папку — и дважды щелкните его. Не судите об этом по окну PowerShell. Если ему необходимы права администратора, подтвердите, что появится приглашение UAC, и после него задание завершится. Затем сохраните пару вместе: скрипт и EXE в одной папке. При изменении сценария повторно запустите преобразование и замените EXE — никогда не передавайте устаревшую сборку.
Честные ограничения: прочитайте, прежде чем поделиться
Этот один факт дает правило, которое обеспечивает вашу безопасность: никогда не указывайте секрет в конвертируемом скрипте - ни пароля администратора, ни пароля сервисной учетной записи, ни ключа API или токена, ни ключа Wi-Fi, который вы бы не напечатали на плакате. Если сценарию нужен пароль, он должен запросить его или прочитать из соответствующего хранилища учетных данных во время выполнения, никогда не храните его внутри файла.
Еще одно честное ограничение: совершенно новый неподписанный EXE-файл, который декодирует и запускает текст внутри себя, имеет ту же форму, что и настоящая вредоносная программа, поэтому антивирус и SmartScreen могут пометить ваш преобразованный файл, даже если ваш скрипт чист. Честные исправления — это идентичность, а не уловки: заполните информацию о версии из шага 5, каждый раз распространяйте файл из одного и того же места и подписывайте его сертификатом подписи кода, если вы регулярно обмениваетесь инструментами. Никогда не отвечайте на предупреждение, предлагая пользователям отключить антивирус.
🏷️Topic Search Variables & Keywords
🎙️ Полная расшифровка — нажмите, чтобы развернуть
Преобразуйте сценарий PowerShell (.ps1) в EXE-файл двойного щелчка с помощью бесплатного модуля PS2EXE: установка, команда Invoke-PS2EXE, графический интерфейс, значок, версия и параметры администратора, а также честные ограничения.
Пошаговое руководство по устранению неполадок и решениям — преобразование сценария PowerShell в программное обеспечение. Экранная демонстрация от Технического Аншу.
(расшифровка заканчивается здесь, на исходной странице)
❓ Часто задаваемые вопросы (на английском языке)
Является ли это руководство абсолютно бесплатным?
Да! Во всех руководствах и методах, продемонстрированных Tech Anshu, используются бесплатные легальные и образовательные ресурсы.
Могут ли новички следовать этому руководству?
Абсолютно! Каждый шаг демонстрируется на экране с подробными инструкциями, поэтому каждый может легко следовать им.
Где я могу задать вопросы, если застряну?
Оставьте комментарий прямо под видео на YouTube, и наше сообщество и технический специалист Anshu помогут вам.
🚀 Посмотрите полное руководство на YouTube
🚀 Посмотрите полное пошаговое видеоруководство на YouTube: https://www.youtube.com/watch?v=F2xMkbJi4wk
Подпишитесь на техническую поддержку Anshu для ИТ-поддержки, устранения неполадок Windows и управления сервером.
▶️ Посмотреть полное видео