如何使用PS2EXE将PowerShell脚本编译为可执行程序
2023-03-14 22:57:05 时间
关于PS2EXE
PS2EXE是一个可以将PowerShell脚本编译为可执行程序的模块,在GUI和Ingo Karstein脚本的支持下,该模块能够生成真正的Windows可执行程序。除此之外,PS2EXE还支持PowerShell 5.x和图形化前端。
注意事项
有一些人可能会滥用PS2EXE来编译他的计算机病毒脚本,因此越来越多的病毒扫描程序会将使用PS2EXE创建的程序识别为恶意程序并将其删除。因此,希望大家不要将其用于恶意目的。
工具安装
首先,我们需要使用下列命令将该项目源码克隆至本地:
git clone https://github.com/MScholtes/PS2EXE.git
接下来,运行下列命令安装PS2EXE:
PS C:> Install-Module ps2exe
工具使用
Invoke-ps2exe .source.ps1 . arget.exe
或
ps2exe .source.ps1 . arget.exe
上述命令会将“source.ps1”编译成可执行程序target.exe,如果命令参数中忽略了“. arget.exe”的话,生成的文件将为“.source.exe”。
或者,我们也可以启动Win-PS2EXE来开启图形化前端:Win-PS2EXE
支持的参数
ps2exe [-inputFile] '<file_name>' [[-outputFile] '<file_name>'] [-prepareDebug]
[-x86|-x64] [-lcid <id>] [-STA|-MTA] [-noConsole] [-UNICODEEncoding]
[-credentialGUI] [-iconFile '<filename>'] [-title '<title>'] [-description '<description>']
[-company '<company>'] [-product '<product>'] [-copyright '<copyright>'] [-trademark '<trademark>']
[-version '<version>'] [-configFile] [-noOutput] [-noError] [-noVisualStyles] [-requireAdmin]
[-supportOS] [-virtualize] [-longPaths]
参数解释
inputFile = 你需要转换为可执行程序的PowerShell脚本(文件需要是UTF8或UTF16编码)
outputFile = 目标可执行文件名称或目录
prepareDebug = 创建调试帮助信息
x86或x64 = 编译运行时32位或64位代码
lcid = 编译可执行程序的位置ID
STA或MTA = 单线程模式或多线程模式
noConsole = 生成的可执行文件为Windows应用程序,不带终端窗口
UNICODEEncoding = 将输入编码为UNICODE(终端模式)
credentialGUI = 使用GUI弹出凭证窗口(终端模式)
iconFile = 编译可执行文件的图标文件名
title = 标题信息
description = 描述信息
company = 公司信息
product = 产品信息
copyright = 版权信息
trademark = 商标信息
version = 版本信息
configFile = 编写配置文件(<outputfile>.exe.config)
noOutput = 生成可执行文件,不带标准输出
noError = 生成可执行文件,不带错误输出
noVisualStyles = 禁用Windows GUI应用程序的可视化风格
requireAdmin = 如果启用的UAC,编译的可执行文件只会在提权上下文中执行
supportOS = 使用最新Windows版本的功能
virtualize = 激活应用程序虚拟化
longPaths = 启用长路径支持
项目地址
https://github.com/MScholtes/PS2EXE
参考资料
https://github.com/MScholtes/TechNet-Gallery
https://gallery.technet.microsoft.com/PS2EXE-GUI-Convert-e7cb69d5
https://www.powershellgallery.com/packages/ps2exe/
相关文章
- 在 Go 里用 CGO?这 7 个问题你要关注!
- 9款优秀的去中心化通讯软件 Matrix 的客户端
- 求职数据分析,项目经验该怎么写
- 在OKR中,我看到了数据驱动业务的未来
- 火山引擎云原生大数据在金融行业的实践
- OpenHarmony富设备移植指南(二)—从postmarketOS获取移植资源
- 《数据成熟度指数》报告:64%的企业领袖认为大多数员工“不懂数据”
- OpenHarmony 小型系统兼容性测试指南
- 肯睿中国(Cloudera):2023年企业数字战略三大趋势预测
- 适用于 Linux 的十大命令行游戏
- GNOME 截图工具的新旧截图方式
- System76 即将推出的 COSMIC 桌面正在酝酿大变化
- 2GB 内存 8GB 存储即可流畅运行,Windows 11 极致精简版系统 Tiny11 发布
- 迎接 ecode:一个即将推出的具有全新图形用户界面框架的现代、轻量级代码编辑器
- loongarch架构介绍(三)—地址翻译
- Go 语言怎么解决编译器错误“err is shadowed during return”?
- 敏捷:可能被开发人员遗忘的部分
- Denodo预测2023年数据管理和分析的未来
- 利用数据推动可持续发展
- 在 Vue3 中实现 React 原生 Hooks(useState、useEffect),深入理解 React Hooks 的