Компилируем скрипт PoSh в .exe
На самом деле сделаем выполняемый, самораспаковывающийся пакет при помощи утилиты IExpress
Для чего это может понадобиться:
Например у меня появился софт, который пришлось "доавтоматизировать" с разных сторон, и если сначала у меня был один скрипт выполняющий действие, то спустя какое-то время этих скриптов образовалось уже более десятка.
Собирать все скрипты в один файл мне лень, в будущем может понадобиться что-то исправить в этих файлах, использовать их для других целей.
Поэтому я использовал для них простейшую менюшку. Получилось красиво, но хотелось бы получить этот набор в одном файле.
Чтобы впихнуть все это будем использовать встроенную утилиту IExpress
Для этого нажмем пуск, найдем iexpress. Запуск утилиты необходимо выполнить исключительно от имени администратора, иначе ничего не получится.
Оставляем по умолчанию. Создать новый самораспаковывающийся файл, далее..
Распаковать файлы и выполнить команду, далее..
Назовем наш набор скриптов, далее..
Не отображаем лицензию, далее..
Добавим файлы нажав кнопку Add,
В поле "установки программы" добавим команду выполнения скрипта (у меня это MENU.ps1), далее..
powershell.exe -ExecutionPolicy Bypass -File MENU.ps1
Оставляем демонстрацию окна по умолчанию, далее..
По умолчанию, без сообщений, далее..
Укажем имя нашего exe - архива, опции.
Для этого нажмем кнопку Browse и выберем место и назовем наш файл.
Отметим чекбоксы "Скрыть распаковку файлов" и "Сохранить файлы с длинными именами"
При указании "Сохранить файлы с длинными именами" появится предупреждение, "что не стоит ставить чекбокс, если будете выполнять сей код на Windows 95".
Мы инструкции не сохраняем, далее..
Создаем архив, это может занять некоторое время, далее..
Откроется окно выполнения процесса упаковки