我有这个功能:
function AlwaysRunAtLogon {
[CmdletBinding()]
param (
[Parameter(Mandatory=$true)]
[System.String]$NomTache,
[Parameter(Mandatory = $true)]
[System.String]$Script,
[switch]$retrait
)
...
}
用例1是:
AlwaysRunAtLogon -NomTache AnyName C:\temp\script.ps1
它将运行代码来添加一些内容。这个很好用。现在我想给我的函数添加一个开关参数,这样它就可以根据第一个参数的值(nomatches)删除一些内容。
所以用例2应该是:
AlwaysRunAtLogon -NomTache AnyName -Retrait
现在问题来了。在案例1中,我想让$script成为强制的,所以用户必须提供一个脚本文件。但是,在案例2中,$script现在是可选的,因为删除操作只需要第一个参数就可以工作(nomatche)
我如何调整这个函数,以便同时使用用例1和2?在某个地方可能有逻辑问题。我是新来的,谢谢你的帮助。我愿意接受任何重新设计。
我是不是最好做另一个函数,例如“removealwaysrunatlogon”,然后像这样运行它?:
RemoveAlwaysRunAtLogon -NomTache AnyName