本文介绍PowerShell自定义函数中使用参数集时,可以将同一个参数既设置为可选,又设置为必选。

好吧,小编承认,这个话题有点无聊,但确实还是有点有趣,不妨看一看啦。
在PowerShell中,我们有可能有这样的需求,如果只需要输入某个参数时,这个参数是可选的。但如果还要输入别的参数,那这个参数就变成必选的了。那么这种需求如何来满足呢?那就是本文的意义所在了。
复制代码 代码如下:
function Connect-Somewhere
{
[CmdletBinding(DefaultParameterSetName='A')]
param
(
[Parameter(ParameterSetName='A',Mandatory=$false)]
[Parameter(ParameterSetName='B',Mandatory=$true)]
$ComputerName,
[Parameter(ParameterSetName='B',Mandatory=$false)]
$Credential
)
$chosen = $PSCmdlet.ParameterSetName
“You have chosen $chosen parameter set.”
}
读了上面这个函数,有没有什么疑惑?上面这个PowerShell函数定义了两个参数集,一个参数集名为A,另一个名为B。参数集A只有一个参数$ComputerName,且它是可选的。而参数集B有两个参数$ComputerName和$Credential。如果我们使用参数集A时,输入不需要输入ComputerName这个参数,因为它不是必选的。而如果我们使用参数集B,这个时候就必须要填$ComputerName了。
且看下面的函数调用示例。
复制代码 代码如下:
PS> Connect-Somewhere
You have chosen A parameter set.
PS> Connect-Somewhere -ComputerName test
You have chosen A parameter set.
PS> Connect-Somewhere -Credential user1
cmdlet Connect-Somewhere at command pipeline position 1
Supply values for the following parameters:
ComputerName: NOWMANDATORY!
You have chosen B parameter set.
第一个调用Case是使用默认参数集,函数中默认参数集是参数集A,参数集A只有一个参数$ComputerName,且是可选的,所以什么都不输入是可以的。
第二个调用Case是使用了一个ComputerName参数,符合参数集A的条件,自动匹配为参数集A了。
第三个调用Case只使用了一个Credential参数,这个参数是出现在参数集B中的。但如果使用参数集B,那必须填ComputerName参数,所以就报错了。
关于PowerShell函数参数即可选又必选,本文就介绍这么多,希望对您有所帮助,谢谢!
相关推荐:
SEO查:如何用精准的SEO诊断助力网站流量爆发,美团关键词排名怎么补
seo简报什么意思,seo工作汇报 ,万花筒 ai
AI免费写文章生成器高效写作新革命
SEO网:让你的数字营销更加精准高效,开启网络引流新时代,丰县互联网网站推广优势
seo网站自学看什么书,seo技术适合自学吗 ,斑马ai阅读
ChatGPT网络故障报告从协调世界时(UTC)晚上1107左右开始激增,15分钟内引发广泛关注,ai无视进化
AI热门软件,未来科技的钥匙
SEO分类:从基础到进阶,全面解析SEO优化的关键要素,新建设网站排名
文章AI生成:让创作变得更简单、更高效!
GPT怎么收费?揭秘AI技术的定价与价值,ai报考高考
ChatGPT无法加载?检查您的网络设置并尝试重启,轻松解决常见问题!,ai招生广告设计
seo追词是什么,seo词条 ,52580609AI
ChatGPT与讯飞:AI语音与智能对话的完美融合,ai直角变圆角
SEO埋词技巧,如何提升网站排名?,贵州营销推广方法
为什么选择老域名注册,打造品牌价值的秘密武器,网站建设服务费用多少
ChatGPT全球宕机:人工智能的崩塌与未来的挑战,中国ai和美国ai教父
SEO门户:打造高效网站流量的关键利器,创意网站建设要求
怎样用AI写文章?快速高效创作新技能!
ChatGPT故障你从未听过的真相,究竟是什么让它偶尔“失灵”?,ai 图片 矢量
seo,seoul city ,ai精洗
企业关键字-助力企业成功的隐形动力,闽侯县企业网站建设
优化软件:让电脑性能焕然一新,提升效率的秘密武器,大理网站推广招聘信息最新
丹东抖音seo是什么,抖音seo引流 ,ai工具编写作业指导书
ChatGPT付款银行卡被拒绝?解决方案全解析!,小发猫ai智能写作查重能过吗
seo相关知识是什么,seo相关技术 ,ai写作讯飞星火认知大模型
ChatGPT显示“此网站无法加载站点”:背后原因与解决办法详解,用ai画明度渐变条
ChatGPT在处理文本时可能无法完全理解上下文的复杂性,肌肉ai
AI人工智能文章生成器写作新纪元
ChatGPT360:全方位提升你的工作与生活效率,ai72787
ChatGPT界面看不到用户:隐秘的互动方式与智慧的背后,AI和UR
SEO课:让你从小白变成搜索引擎优化高手,推广自媒体营销计划
seo需要会什么,seo要会些什么 ,ai313414919
WPS改写-轻松提升文档创作效率的秘密武器,推广网站的优势
2025年整站SEO排名优化策略:让你的网站脱颖而出,id排版ai
为什么做seo矩阵项目,为什么做seo矩阵项目不能做 ,怎么用ai写作
ChatGPT进不去怎么办?解决方案与技巧,轻松畅享智能对话,ai va
为什么要做seo si,为什么要做* ,ai里面怎么扣二维码
SEO爱站:提升网站排名,赢得流量的秘密武器,优化网站设计价格多少
在线AI写文:开启高效创作新时代
ChatGPT常见问题汇总:解答你关于AI的一切疑惑,松鼠ai智能教适应教育
SEO自行:提升网站流量的秘密武器,邹平县个人网站建设建议
wordpress seo是什么,wordpress建站seo好做吗 ,学习图文ai
ChatGPT破解版:让人工智能助力你的工作与生活,ai cos帽
SEO工装裤-打造时尚与实用兼备的工作利器,ai画中国爸爸辅导孩子写作业
ChatGPT内部HTTP接口文档-为开发者提供高效便捷的AI服务接入方式,安屿ai
ChatGPT+维护页面:您的智能助手之旅,安全、高效、无忧,奥特曼画图ai
“爱站”:开启网站优化与流量增长的新纪元,seo入门ppt
什么是seo反连接,网站反链多好还是少好 ,网易ai产品
WP原创:打造属于你的独特网站,从这里开始!,一个网站推广一个月需要多少钱
seo营销到底是什么,seo算什么营销 ,ai里面新建