オプションの呼び出し変数を持つ関数を作成する 質問する

オプションの呼び出し変数を持つ関数を作成する 質問する

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」が存在し、それに引数がある場合は、設定された引数ではなくそれを使用するようにしたいです。

ベストアンサー1

Powershell には、必須パラメーター、オプション パラメーター、「スイッチ」(別名フラグ) パラメーター、および「パラメーター セット」など、一般的なパラメーター シナリオに対する多くの組み込みサポートが用意されています。

デフォルトでは、すべてのパラメータはオプションです。最も基本的なアプローチは、各パラメータをチェックし$null、そこから必要なロジックを実装することです。これは基本的に、サンプル コードで既に示しているものです。

Powershell が提供する特別なサポートについて詳しく知りたい場合は、次のリンクを参照してください。

機能について

高度な機能について

関数の詳細パラメータについて

おすすめ記事