尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

3步搭建你的第一个PowerShell Cmdlet:从安装到跨平台运行的完整实战指南

3步搭建你的第一个PowerShell Cmdlet:从安装到跨平台运行的完整实战指南 3步搭建你的第一个PowerShell Cmdlet从安装到跨平台运行的完整实战指南【免费下载链接】PowerShellPowerShell for every system!项目地址: https://gitcode.com/GitHub_Trending/po/PowerShellPowerShell 是微软出品的跨平台命令行外壳与脚本环境配合 C# 编写的 Cmdlet 开发你可以在 Windows、Linux、macOS 上运行同一套自定义命令。下面你会完成安装验证并用 3 步做出第一个可在多平台运行的 Cmdlet。✨ 核心能力速览一套命令跨 Windows、Linux、macOS 运行脚本不用改原生支持 JSON、CSV、XML 等结构化数据处理用 C# 写 Cmdlet把自定义命令像内置命令一样使用管道对象传递容器化部署和任务自动化开箱即用⚙️ 环境准备从零到能跑H3一行命令获取项目git clone https://gitcode.com/GitHub_Trending/po/PowerShell cd PowerShellH3一条脚本安装并验证版本先跑仓库自带的一键安装脚本Linux 示例它会按你的发行版自动装好 pwsh 并建好/usr/bin/pwsh链接./tools/install-powershell.sh pwsh进入控制台后输入$PSVersionTable能看到 PowerShellVersion 为 7.x 的表格输出即代表安装成功。 核心场景用 PowerShell 解决命令扩展与服务器部署场景一用 C# 扩展你自己的 PowerShell 命令问题系统自带 Cmdlet 不够用你希望把团队脚本封装成一条正式命令。在 Visual Studio 中新建SendGreeting类型的 Class Library (.NET Core) 项目在 NuGet 包管理器中添加powershell-core专用包源搜索并安装System.Management.Automation包记得勾选 Include prerelease写入 Cmdlet 类代码按 F6 编译输出窗口会给出 DLL 路径关键命令Import-Module .\bin\Debug\SendGreeting.dll Send-Greeting -Name PowerShell输出Hello PowerShell!即成功而且这个 DLL 拿到 Linux 上同样能跑。场景二给一台全新的 Linux 机器装好 PowerShell问题新服务器只有裸系统你需要几分钟内具备 PowerShell 环境。克隆仓库拿到安装脚本执行./tools/install-powershell.sh脚本自动识别发行版并安装直接输入pwsh进入控制台验证关键命令./tools/install-powershell.sh pwsh -Command $PSVersionTable场景一产出的是代码资产场景二解决的是运行环境两者合起来就是完整的跨平台工作流。️ 动手实践搭建你的第一个 PowerShell 二进制模块三步做出一个跨平台二进制模块基于 .NET Standard 2.0PowerShell 7 和 Windows PowerShell 都能加载。第 1 步创建项目并加依赖dotnet new classlib --name MyModule cd MyModule dotnet add package PowerShellStandard.Library第 2 步替换 Class1.cs 里的 Cmdlet 代码[Cmdlet(VerbsCommunications.Write, TimestampedMessage)] public class WriteTimestampedMessageCommand : PSCmdlet { [Parameter] public string Message { get; set; } ; protected override void EndProcessing() WriteObject($[{DateTime.Now:u}] - {Message}); }第 3 步编译并导入运行dotnet buildImport-Module ./bin/Debug/netstandard2.0/MyModule.dll Write-TimestampedMessage Test message.运行结果带当前时间戳的一条消息[2026-08-29T14:10:00Z] - Test message.❓ 常见问题问题Windows 上Import-Module报Could not load file or assembly netstandard。 原因系统的 .NET Framework 低于 4.7.1缺少 netstandard 的实现程序集。 解法升级到 .NET Framework 4.7.1或改用 PowerShell 7 加载该模块。问题安装完pwsh却提示 command not found。 原因脚本创建的软链接所在目录未生效或当前终端还在缓存旧环境。 解法重开一个终端再试仍不行就重跑./tools/install-powershell.sh修复链接。问题编译仓库时Start-PSBuild提示要更新 dotnet。 原因构建依赖最新版 .NET CLI且旧版 CLI 会干扰安装。 解法先手动卸载旧版 dotnet再运行Start-PSBootstrap自动安装新版。 延伸资源Linux 上从环境搭建到完整构建的官方指南docs/building/linux.md命令行与 Visual Studio 两种 Cmdlet 开发教程docs/cmdlet-example/各发行版一键安装脚本与 Docker 打包脚本tools/install-powershell.sh、docker/InstallTarballPackage.sh构建失败、SDK 包位置等高频问题解答docs/FAQ.md官方 Pester 测试套件可对照学习脚本测试写法test/powershell/PowerShell 加 Cmdlet 开发这套组合让你的自动化脚本从每台机器改一遍变成一次编写、处处运行。现在克隆仓库把第一个 Cmdlet 跑起来吧。【免费下载链接】PowerShellPowerShell for every system!项目地址: https://gitcode.com/GitHub_Trending/po/PowerShell创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表