February 8, 2024

Компилируем скрипт PoSh в .exe

https://t.me/PS_crutch

На самом деле сделаем выполняемый, самораспаковывающийся пакет при помощи утилиты IExpress

Вид IExpress

Для чего это может понадобиться:

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

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

Ужос O.o

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

Вид окна SET-Patches V.2.1

Чтобы впихнуть все это будем использовать встроенную утилиту IExpress

Для этого нажмем пуск, найдем iexpress. Запуск утилиты необходимо выполнить исключительно от имени администратора, иначе ничего не получится.

Выполняем утилиту

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

Далее

Распаковать файлы и выполнить команду, далее..

Распаковать и выполнить, далее

Назовем наш набор скриптов, далее..

Имя нашего архива, далее

Без инструкций, далее..

Далее

Не отображаем лицензию, далее..

Далее

Добавим файлы нажав кнопку Add,

Добавляем файлы

Продолжим, далее..

Список пакуемых файлов, далее

В поле "установки программы" добавим команду выполнения скрипта (у меня это MENU.ps1), далее..

powershell.exe -ExecutionPolicy Bypass -File MENU.ps1

Указываем аргументы и программу, далее

Оставляем демонстрацию окна по умолчанию, далее..

Все по дефолту, далее

По умолчанию, без сообщений, далее..

Далее

Укажем имя нашего exe - архива, опции.

Для этого нажмем кнопку Browse и выберем место и назовем наш файл.

Отметим чекбоксы "Скрыть распаковку файлов" и "Сохранить файлы с длинными именами"

Все отметили, указали имя файла, далее

При указании "Сохранить файлы с длинными именами" появится предупреждение, "что не стоит ставить чекбокс, если будете выполнять сей код на Windows 95".

Мы нажимаем Да и Далее..

Да

Без перезапуска, далее..

Далее

Мы инструкции не сохраняем, далее..

Далее

Создаем архив, это может занять некоторое время, далее..

Далее

Откроется окно выполнения процесса упаковки

Процесс идет

Создание архива выполнено. Готово.

Готово

Вот он наш набор скриптов одним файлом

Результирующий файл