微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

有没有办法在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

原文地址:https://www.jb51.cc/windows/372145.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐