![]() |
Создание исполняемого файла на основе скрипта PowerShell
Тема является выделенной из Как полюбить PowerShell? для поддержания чистоты и порядка.
Есть скрипт Код:
Write-Output -InputObject 'Hello World' Я хочу из данного скрипта сделать исполняемый файл. Допустим гугл нам подскажет команду Ps2Exe. Код:
PS C:\Users\Andrew\Documents\PS_test> ps2exe -inputFile C:\Users\Andrew\Documents\PS_test\helloWorld.ps1 -outputFile C:\Users\Andrew\Documents\PS_test\helloWorld.ps1 -iconFile C:\Data\Icon.ico -noConsole -title "MyScript" -version 0.0.0.1 Причем не важно, короткая форма вызова будет или нет -- Имя командлета не распознано. Но! Если его вызвать просто так (ps2exe?, Invoke-ps2exe) -- то командлет находится. Можно через графику (win-ps2exe), можно другими инструментами (powershell on steroids). Т.е. задача решаема, это не проблема. Проблема мне понять что здесь идет не так. |
У вас у входного и выходного файла одинаковые имена и расширения, может, дело в этом?
|
Да, ошибка в написании есть, но нет, ситуацию это не спасает.
Код:
PS C:\Users\Andrew\Documents\PS_test> ps2exe -inputFile C:\Users\Andrew\Documents\PS_test\helloWorld.ps1 -outputFile C:\Users\Andrew\Documents\PS_test\111.exe Я с какой-нибудь оказией попробую на чистой установке. |
Надо поставить ps2exe как модуль в Powershell, это было сделано?
https://github.com/MScholtes/PS2EXE#installation |
Версия ps
Код:
PS C:\Users\Andrew\Documents\PS_test> ---- Значит, дело было так. В PS версии 7 это фигня через установку модуля не отрабатывает. Причем молчит как резанная. В PS версии 5, открытой от имени администратора после Install-Module потребовался Import-Module Код:
PS C:\Windows\system32> Install-Module ps2exe Код:
PS C:\Users\Andrew\Documents\PS_test> Set-ExecutionPolicy Код:
PS C:\Users\Andrew\Documents\PS_test> ps2exe Код:
PS C:\Users\Andrew\Documents\PS_test> ps2exe -inputFile C:\Users\Andrew\Documents\PS_test\helloWorld.ps1 -outputFile C:\Users\Andrew\Documents\PS_test\111.exe |
Время: 15:48. |
Время: 15:48.
© OSzone.net 2001-