使用可选的调用变量创建一个函数

有没有办法在PowerShell函数中创建一个参数,你必须调用它才能考虑它?

由命令行开关给出的示例(粗体是我想要做的):

Invoke-Command -computername Server01 -Scriptblock {…}

这是我想要对该功能做什么的一个例子

Function DoStuff($computername,-arg2,-domain $domain)
    Test-parameter(-domain) if (-domain -eq $true) {
        use $domain
    }
    Else {
        $domain = "Domain1"
    }
    test-parameter($arg2) {
        if ($arg2 -eq $true) {
            Do something
        }
        else {
            Do the opposite
        }
    }

总结如下:

如果存在“-arg2”,我希望在脚本中发生一些事情.如果“-Domain”存在并且有一个参数,我希望使用它而不是set参数.

Powershell为常见的参数场景提供了大量内置支持,包括强制参数,可选参数,“switch”(aka flag)参数和“参数集”.

认情况下,所有参数都是可选的.最基本的方法是简单地检查每个$null,然后从那里实现你想要的任何逻辑.这基本上就是您在示例代码显示内容.

如果您想了解Powershell可以为您提供的所有特殊支持,请查看以下链接

about_Functions

about_Functions_Advanced

about_Functions_Advanced_Parameters

相关文章

Windows2012R2备用域控搭建 前置操作 域控主域控的主dns:自...
主域控角色迁移和夺取(转载) 转载自:http://yupeizhi.blo...
Windows2012R2 NTP时间同步 Windows2012R2里没有了internet时...
Windows注册表操作基础代码 Windows下对注册表进行操作使用的...
黑客常用WinAPI函数整理之前的博客写了很多关于Windows编程的...
一个简单的Windows Socket可复用框架说起网络编程,无非是建...