問題タブ [cmdlet]

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.

0 投票する
2 に答える
2042 参照

c# - C# カスタム コマンドレットのパラメーターでユーザー入力パスワードをマスクする方法

私のプログラムでは、パラメーターでユーザーにパスワードを要求する必要があります。

パスワードに使用する正しいタイプがわかりません。別の質問: カスタム作成された PowerShell コマンドレットでパスワードを安全に処理するにはどうすればよいですか?

受け入れられた回答では、コードで read-host を使用するように求められましたが、このフィールドを要求するにはパラメーターを使用する必要があります。

また、パスワードに SecureString を使用しようとしましたが、安全な文字列ではなく文字列として自動的に受け入れられるため、このパラメーターに SecureString を指定することはできません。

次の使用法を達成する方法はありますか:

0 投票する
1 に答える
578 参照

c# - コマンドレットで内部パイプラインから情報を取得する

ネストされたパイプラインを作成しようとしています。このネストされたパイプラインで実行しているコマンドレットは、ネストされたパイプラインから実行されているかどうかを確認する必要があります。ネストされたパイプラインから実行する場合は、少し異なる動作をする必要があります。

コマンドレットがネストされたパイプラインから実行されているかどうかを判断する方法を教えてください。

次のコードを使用して、ネストされたパイプラインを作成します。

0 投票する
1 に答える
476 参照

c# - PowerShell の $input 変数に相当する C#

PSCmdlet クラスを拡張して、C# で PowerShell コマンドレットを作成しています。C# コードで使用するには、Pipelined 入力全体を取得する必要があります。プロパティが次のように設定されたパラメーターを使用してみました:

アイテムのリストをパイプしてコマンドレットを実行しようとすると、一度に 1 つのアイテムが取得され、C# コードで処理されます。

C# コードで処理するには、パイプ入力全体を取得する必要があります。これは、$input 変数を使用して PowerShell で取得できることがわかりました。この $input PowerShell 変数に相当する C# はありますか?

0 投票する
2 に答える
15834 参照

powershell - Powershell where句フィルタリング

PowerShell スクリプトを使用してサーバーで実行されているサービスをフィルタリングしようとしていますが、構文が正しくないようです

脚本

Get-Service -ComputerName $ServerName |Where-Object {$_.Name -like "DEX*" -or $_.Name -like "WORLD*" -or $_.Name -like "Entr*"}

強調表示されたセクションに問題があります。どんな助けでも大歓迎です..

0 投票する
1 に答える
299 参照

powershell - コマンドレットから生成された Windows ワークフロー アクティビティを使用するには?

PowerShell 3.0 を使用してコマンドレットから WWF アクティビティを生成しました。

activity1.xaml を作成したら、「Connect-Host」アクティビティを配置し、開始コードを記述します。

しかし、「Microsoft.PowerShell.Workflow.ActivityHostProcess」の型初期化子が例外をスローしました。「パス 'C:\Windows\system32\windowspowershell\v1.0\modules\psworkflow\PSWorkflow.types.ps1xml' の一部が見つかりませんでした。」

しかし、このファイルは私のシステムに存在します。

このテクノロジーをどのように使用できますか?

0 投票する
1 に答える
912 参照

powershell - ワードファインダーでPowershellの行全体を印刷する

基本的に、検索された単語を見つけてファイル内のインスタンスをチェックするための簡単なアプリを作成しました。これを編集して、単語が見つかった行全体を Oput.txt ファイルに送信する方法を知っている人はいますか?インスタンスの上に行全体を追加しますか?前もって感謝します

0 投票する
1 に答える
429 参照

powershell - データのテーブルを受け入れるカスタム Powershell コマンドレットの作成

データを受け取り、それを列挙できるカスタム PowerShell コマンドレットを C# で作成する必要があります。私はオンラインでいくつかの例をたどり、いくつかの実用的なコードを持っています。

私が抱えている問題は、次のように示すことができます。

  1. カスタム PowerShell コマンドレットで、別のコマンドの出力をパラメーターへの入力として取得する必要があるため、たとえば Get-Process
  2. カスタム コマンドレットでテーブル形式のデータを受け入れるようにしたい
  3. データを列挙する

私が抱えている問題は、コマンドレットからテーブル形式でデータを出力する方法がわからないで、データのテーブルを取得するようにパラメーターを設定する方法がわからないことです。

誰でも例を挙げてもらえますか?

0 投票する
2 に答える
2004 参照

c# - C#でコマンドレットの概要/概要を追加するには?

C# でPSCmdLetを作成しているとします。

上記を定義するモジュールが PowerShell に読み込まれると、コマンドhelp Join-StackOverflowは次を返します。

このコマンドレットの概要/要約を追加するにはどうすればよいですか。たとえば、次の場合と同じですGet-Process

0 投票する
1 に答える
900 参照

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 AllNoNo to All

0 投票する
1 に答える
92 参照

c# - コマンドレットの出力を C# クラスに使用する

コマンドレットの出力を C# コードで使用する方法はありますか?

Web を検索しましたが、ほとんどの場合、コマンドレットの作成に役立つトピックを見つけましたが、その逆は見つかりませんでした。