You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerShell自定义模块能否为单个函数设置独立版本?

为PowerShell模块中单个函数设置独立版本

实现步骤

1. 为目标函数添加独立版本属性

修改Add-Border函数的定义,在[CmdletBinding()]中指定Version参数,示例如下:

function Add-Border {
    [CmdletBinding(Version='1.2.0.0')]
    param(
        # 保留原函数的参数定义
        [Parameter(Mandatory=$true)]
        [string]$InputString
    )
    # 函数原有逻辑
    Write-Output "`n+$('-' * $InputString.Length)+`n| $InputString |`n+$('-' * $InputString.Length)+`n"
}

该设置会让Add-Border拥有独立版本,其他未指定Version参数的函数仍会继承模块清单的版本号。

2. 验证函数版本

执行以下命令查看Add-Border的独立版本:

Get-Command Add-Border | Select-Object Name, Version

也可直接获取版本对象用于后续对比:

$addBorderVersion = (Get-Command Add-Border).Version

3. 检查用户是否使用更新版本

编写简单逻辑判断当前Add-Border版本是否符合要求:

# 定义要求的最低版本
$requiredVersion = [version]'1.2.0.0'
$currentVersion = (Get-Command Add-Border -ErrorAction SilentlyContinue).Version

if ($null -eq $currentVersion) {
    Write-Warning "未检测到Add-Border函数"
} elseif ($currentVersion -ge $requiredVersion) {
    Write-Host "当前使用的Add-Border版本为 $currentVersion,符合要求" -ForegroundColor Green
} else {
    Write-Warning "当前Add-Border版本为 $currentVersion,低于要求的 $requiredVersion,请更新"
}

4. 更新函数版本

后续只需修改Add-Border函数中[CmdletBinding(Version='x.x.x.x')]的版本号,无需改动模块清单(.psd1)的版本,其他函数的版本仍会与模块清单保持同步。


内容的提问来源于stack exchange,提问作者Fitzgery

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 05:25:55