powershell ParameterSet解析
自定义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.”
}
示例函数定义了两个参数集:A,B。
参数集A只有一个参数$ComputerName,且它是可选的。
参数集B有两个参数$ComputerName和$Credential。
如使用默认参数集A,函数不需要输入ComputerName参数,因为它不是必选的。
如使用参数$Credential,参数集被赋值为B,这时参数$ComputerName属性Mandatory=$true,这时强制使用$ComputerName了。
下面一个例子更详细演示:
function Test-ParameterSet
{
[CmdletBinding(DefaultParameterSetName = 'NonCredential')]
param
(
$id, [Parameter(ParameterSetName = 'LocalOnly', Mandatory = $false)]
$LocalAction, [Parameter(ParameterSetName = 'Credential', Mandatory = $true)]
[Parameter(ParameterSetName = 'NonCredential', Mandatory = $false)]
$ComputerName, [Parameter(ParameterSetName = 'Credential', Mandatory = $false)]
$Credential
) $PSCmdlet.ParameterSetName
$PSBoundParameters if ($PSBoundParameters.ContainsKey('ComputerName'))
{
Write-Warning '远程调用'
}
}
powershell ParameterSet解析的更多相关文章
- 【193】◀▶ PowerShell 官方资料索引
Microsoft.PowerShell.Core 模块 Windows PowerShell 核心 Cmdlet Windows PowerShell 核心函数 Windows PowerShell ...
- Windows下非PE方式载荷投递方式研究
0. 引言 0x1:载荷是什么?在整个入侵过程中起到什么作用? 载荷的作用在整个入侵链路的作用起到纽带的作用,它借助于目标系统提供的某些功能:组件:执行环境,将攻击者的传递的恶意payload包裹起来 ...
- PowerShell与CMD在路径解析上的一点不同
对于路径含有空格的文件夹,在加入PATH环境变量时,前后往往会加上引号.这种情况,CMD可以正确识别:但是Powershell却不能加上引号,否则无法定位路径. 例如,在PS中,$env:path查看 ...
- 一键帮你复制多个文件到多个机器——PowerShell小脚本(内附PS远程执行命令问题解析)
作为一个后台程序猿,经常需要把一堆程序集(DLL)或者应用程序(EXE)复制到多个服务器上,实现程序的代码逻辑更新,用以测试新的功能或改动逻辑.这里给大家介绍一个自己实现的PowerShell脚本,方 ...
- PowerShell ISE/文件名解析缺陷远程执行代码漏洞#RCE
基础信息 ID 1337DAY-ID- 32642 类型 zdt Reporter hyp3rlinx 修改后的 2019-05-03 00:00:00 描述 在调试包含数组括号作为文件名一部分的特制 ...
- PowerShell Notes
1. 概要 - PowerShell 是cmdlet(command-let)的指令集合,类似unix的bash. - IDE: Windows PowerShell ISE,不区分大小写,可以用命 ...
- Sharepoint学习笔记—习题系列--70-576习题解析 -(Q147-Q151)
Question 147 Your company has an existing SharePoint 2010 public-facing Web site. The Web site runs ...
- Sharepoint学习笔记—习题系列--70-576习题解析 -(Q144-Q146)
Question 144 You are planning a feature upgrade for a SharePoint 2010 farm. The original feature wi ...
- Sharepoint学习笔记—习题系列--70-576习题解析 -(Q112-Q115)
Question 112 You are designing a public-facing SharePoint 2010 Web site for an elementary school th ...
随机推荐
- Linux运维人员最常用166个命令汇总
引用自“菜鸟博客” 命令 功能说明 线上查询.帮助命令(2个) man 查看命令帮助,命令词典,更复杂还有info,但不常用. help 查看Linux内置命令的帮助,比如cd等命令. 文件.目录操作 ...
- Python全栈开发记录_第一篇(循环练习及杂碎的知识点)
Python全栈开发记录只为记录全栈开发学习过程中一些难和重要的知识点,还有问题及课后题目,以供自己和他人共同查看.(该篇代码行数大约:300行) 知识点1:优先级:not>and 短路原则:a ...
- Dubbo源码分析
Dubbo源码分析1 Dubbo源码分析2 dubbo源码阅读:rpc请求处理流程(1) 架构设计:系统间通信(17)——服务治理与Dubbo 中篇(分析) 13. Dubbo原理解析-注册中心之Zo ...
- leetcode78
本题是回溯法的基本应用,深度优先遍历,使用递归实现. class Solution { public: ]; vector<vector<int>> R; int n; //t ...
- Sphinx 与全文索引
全文索引创建过程 第一步:将源文档传给分词组件(Tokenizer) 分词组件做了以下事情: 将文档分成一个一个的单词 去除标点符号 去除停词:英文(the / a / this / that ... ...
- java学习--java源文件
java源文件以“java”为扩展名.源文件的基本组成部分是类(class) 一个源文件中最多只能有一个public类.其他类(如抽象类,default类即省去修饰符的类,接口)的个数不限. 如果源文 ...
- Microsoft DQS sqlException 0x80131904 - SetDataQualitySessionPhaseTwo
遇到这个问题的原因可以从报错信息看出来,大概率是.net framework的问题 可以尝试如下解决途径 1. regenerate .net Assemble for DQS 2. 如果步骤一无法解 ...
- servlet中的请求响应与重定向区别
一.概念 请求响应(转发):将客户端请求转发另一个servlet或者jsp页面------------------------getRequestDispatcher()方法 重定向: 返回一个连接给 ...
- [leetcode]716. Max Stack 最大栈
Design a max stack that supports push, pop, top, peekMax and popMax. push(x) -- Push element x onto ...
- 交叉编译sudo
编译Sudo version 1.8.6p7下载路径:https://www.sudo.ws/news.html 1.交叉编译 # tar -xvf sudo-1.8.6p7.tar.gz # cd ...