問題タブ [pscmdlet]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - C# カスタム コマンドレットのパラメーターでユーザー入力パスワードをマスクする方法
私のプログラムでは、パラメーターでユーザーにパスワードを要求する必要があります。
パスワードに使用する正しいタイプがわかりません。別の質問: カスタム作成された PowerShell コマンドレットでパスワードを安全に処理するにはどうすればよいですか?
受け入れられた回答では、コードで read-host を使用するように求められましたが、このフィールドを要求するにはパラメーターを使用する必要があります。
また、パスワードに SecureString を使用しようとしましたが、安全な文字列ではなく文字列として自動的に受け入れられるため、このパラメーターに SecureString を指定することはできません。
次の使用法を達成する方法はありますか:
powershell - インラインで渡す Powershell 変数
OUlist.txt ファイルには、OU のリストがあります。各 OU を get-qadcomputer コマンドに渡すのに問題があります。「$_」の代わりに「company.com\workstation\Win7」を使用してコマンドで OU をハードコーディングすると、スクリプトは正常に実行されます。
OU をパイプラインに渡すことに関して、私が間違っていることはありますか?
c# - C#でコマンドレットの概要/概要を追加するには?
C# でPSCmdLetを作成しているとします。
上記を定義するモジュールが PowerShell に読み込まれると、コマンドhelp Join-StackOverflow
は次を返します。
このコマンドレットの概要/要約を追加するにはどうすればよいですか。たとえば、次の場合と同じですGet-Process
。
c# - Whatif および Confirm 応答のサポート
ここSOや他の場所では-Confirm
、コマンドレット全体をネストされたコマンドレットなどに伝播する方法を説明する質問がたくさんあります。しかし、私が見つけられないのは、そのプロンプトへの応答を伝播する方法です。つまり、ユーザーがこのプロンプトに答えると...
...私のコマンドレットは、そのプロンプトに対するユーザーの応答に基づいて動作する可能性があると合理的に推測できます。Suspend [S]
との両方Help [?]
がローカライズされた操作であり、それらは正常に機能します。
Yes to All
しかし、私の主な問題は、とを認識して行動することNo to All
です。C# ( via Cmdlet.ShouldProcess()
) と PowerShell ( via )$PSCmdlet.ShouldProcess()
の両方で、推測できるブール値の結果しか得られません。
true
[Y] または [A] のいずれかです。false
[N] または [L] のいずれかです。
私は当初、そのように文書化されていませんが、ShouldContinue
内部コマンドレットの状態を利用してこの区別を行うことを期待していましたが、スクリプト化されたコマンドレットを使用した実験では、そうではないことが示されました。
実際、私がこれまでに見つけた唯一の可能な回避策は、おそらく「公式」が導入される前の、PowerShell の Should-Process 関数の Jeffrey Snover による初期の表現(2007 年頃!) です。Cmdlet.ShouldProcess
$PSCmdlet.ShouldProcess
PowerShell チームが Yes/Yes to All と No/No to All を区別できるようにするのを忘れたとは信じがたいです。むしろ、私はそれを見過ごしているだけだと思います。
簡単に言えば、私の質問は次のとおりです。コンパイルされたコマンドレットとスクリプト化されたコマンドレットの両方について、どのように区別できますYes
か?Yes to All
No
No to All
c# - コマンドレットを呼び出したスクリプトの名前を特定する方法
C# で記述している PowerShell コマンドレットでは、呼び出し元のスクリプトの名前を取得する必要があります。
コマンドレット クラスを PSCmdlet から派生させました。実行時にこのクラスに関連付けられた大量の情報がありますが、探している情報をどこで取得できるかわかりません。
スクリプト名を取得することはできますか? もしそうなら、それはどこに住んでいますか?
c# - PowerShell コマンドレットからオブジェクトを返す
PowerShell スナップイン用の独自のコマンドレット セットを作成しようとしています。私が抱えている問題は、ProcessRecord メソッド内で作成して入力する独自のオブジェクトを作成したことですが、戻り値の型を変更して、作成したオブジェクトを返すことができないことです。
これは私の ProcessRecord メソッドですが、PSCmdlet のメソッドをオーバーライドしているため、戻り値の型を void から変更できません。
rptFileSettingsオブジェクトを返して、他のコマンドレットでその値を使用できるようにするための最良の方法を誰かが手伝ってくれますか?