首页/系统/Windows 运维速查/函数定义与返回值
PowerShell 基础66 条

函数定义与返回值

function 封装可复用逻辑:输出流即返回值,任何未消费的输出都会混入结果,这是新手最常踩的坑。

Windows 运维速查系统更新于 2026-10-12
用途封装可复用逻辑
语法function 名称 { param($a) ... };高级函数加 [CmdletBinding()]
返回规则函数内所有输出都成为返回值;return 只是提前结束

常用示例

常用示例
function Get-Disk-Free {
  param([string]$Drive = 'C:')
  (Get-PSDrive $Drive[0]).Free / 1GB
}
Get-Disk-Free
要“只返回一件事”时把中间输出写进变量或 Write-Verbose,避免污染返回值。

易错点

  • 函数内副作用命令的默认输出会混进返回值,注意 Out-Null 或赋值抑制
  • 命名用动词-名词(Get-/Set-)便于与内置命令风格一致

数据来源与参考

  • Microsoft Learn:about_Functions
  • Microsoft Learn:about_Functions_Advanced

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌