我想为Write-Error
创建替换函数。为此,它必须支持与原始CmdLet相同的参数集。
我可以使用
查看Write-Error
支持的参数集
Get-Help Write-Error
上的在线
NAME 写入错误
概要 将对象写入错误流。
SYNTAX 写错误[-Message] [-Category] [-CategoryActivity] [-CategoryReason] [-CategoryTargetName] [-CategoryTargetType] [-ErrorId] [-RecommendedAction] [ - TargetObject] []
Write-Error [-Category <ErrorCategory>] [-CategoryActivity <String>] [-CategoryReason <String>] [-CategoryTargetNam e <String>] [-CategoryTargetType <String>] [-ErrorId <String>] [-Message <String>] [-RecommendedAction <String>] [- TargetObject <Object>] -Exception <Exception> [<CommonParameters>] Write-Error [-CategoryActivity <String>] [-CategoryReason <String>] [-CategoryTargetName <String>] [-CategoryTarget Type <String>] [-RecommendedAction <String>] -ErrorRecord <ErrorRecord> [<CommonParameters>]
但是,如何轻松创建使用完全相同的参数集(包括必需参数和默认值)的新PowerShell脚本CmdLet?
答案 0 :(得分:2)
这是代理功能的完美用例。您可以使用命令元数据创建代理功能:
$command = Get-Command Write-Error
$proxy = [System.Management.Automation.ProxyCommand]::Create($command)
一些有助于解释它的链接:
还有PowerShell模块(pspx)可以帮助您入门。