問題タブ [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 投票する
1 に答える
351 参照

c# - コマンドレット パラメーター (文字列) を他の型に変換する方法

カスタム型のパラメーターをコマンドレットに渡したいです。次のようにパラメーターを宣言します。

しかし、パラメーターを指定してコマンドレットを実行すると (このように: Get-Store VS)、例外が発生します。

パラメータ 'Identity' をバインドできません。タイプ「System.String」の「VS」値をタイプ「R.Management.StoreIdParameter」に変換できません。

String を受け入れる StoreIdParameter のコンストラクターを作成しましたが、役に立ちませんでした。文字列から私の型への型コンバーターである必要がありますか?

0 投票する
4 に答える
11261 参照

powershell - PowerShellコマンドレットパラメーターの短いバージョン

私の研究を考えると、次のことが簡単に達成できるとは思いません。しかし、最後の手段として、ここで確認することにしました。

Powershell 2.0では、パラメーターの(煩わしい)長い名前をさまざまなコマンドレットに減らす方法が必要です。速記バージョンがどのように見えるかを完全に制御したいと思います。(PSが使用するパラメーター省略形スキームのスレーブになるのとは対照的です。)

したがって、たとえば、次のようなことができるようにしたいと思います。

この機能に最も近いものは何ですか、またどのようにしたらよいですか?'get-helpabout_parameters'を使用してパラメーターの省略形に関する情報を見つけることができませんでした。

ありがとう!

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

powershell - Appfabric Powershell エラー「'Get-CacheStatistics' という用語は、コマンドレットの名前として認識されません..」

次の単純な Powershell AppFabric コマンドを呼び出しています。

スクリプトには次のものが含まれています。

次のエラーが表示されます。

私はウェブ上で見つけることができるすべてのことをしました

.\ を使用してファイルを参照します。

c:\Scripts を含むように環境パスを設定します。

しかし、エラーは持続し続けます。私はすべてのGoogleオプションを使い果たしたので、誰でも助けてもらえますか. ありがとう。

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

powershell - ホストされたpowershell環境でpowershellスナップインをプログラムで登録する方法は?

いくつかの PowerShell コマンドレットとプロバイダーを開発し、PowerShell 環境をホストするアプリケーションも開発しました。このホストされた PowerShell 環境でこれらのコマンドレットとプロバイダーを実行したいと考えています。これが可能かどうか、カスタム スナップインを登録する方法を知りたいです。助けてくれてありがとう。

0 投票する
3 に答える
2767 参照

c# - ホストされているPowerShellは、同じアセンブリ内のコマンドレットを表示できません

C#コードからPowerShellスクリプトを実行しようとしています。これは、スクリプトを実行するアセンブリのカスタムコマンドレットを使用します。コードは次のとおりです。

実行しようとすると、CommandNotFoundExceptionが発生します。コマンドレットを間違って書きましたか?CmdletをPowerShellまたはRunspaceなどに登録するために必要なことはありますか?

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

powershell - Powershellカスタムコマンドレットの書式設定出力

私は最初のカスタムCMDLetをPowerShell2.0で作成しています。コマンドレットでカスタムフォーマットのtemaplatexmlが使用されていないという問題が発生しました。これが私のフォーマットファイルです:

すべてがうまくいき、Formatは適切なタイプで正常に登録されています(Get-FormatDataコマンドを使用してチェックしました)。しかし、私のコマンドレットを実行するとき、それはまだデフォルトのフォーマットを使用します。「|Format-Table-View abc」をパイプ処理して、フォーマッターを強制的に使用しようとしましたが、「abc」という名前のビューが見つかりません。何が起こっている?Get-FormatDataを試し、エントリを分析しました-私のViewDefinitionは適切なビュー名でそこにあります!

読んでくれてありがとう。

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

powershell - スナップインをインストールせずに、ホストされている Powershell ランタイムに PSCmdlet または PSSnapin を追加する方法

私のシナリオは次のとおりです。

  • Web UI から dll をアップロードしています。
  • ASP.NET アプリケーションで PowerShell 実行空間をホストしています。
  • I DLL には PSCmdlet が含まれており、それを利用したいと考えています。
  • PSCmdlet は、ホストされている実行空間内でのみアクセス可能である必要があり、外部シナリオで使用する必要はありません。
  • アプリケーションは限られた権限で実行されるため、Windows レジストリにアクセスできないため、PsSnapin をインストールできません。

インストールプロセスを経ずにコマンドレットを使用することはできますか?

0 投票する
19 に答える
460180 参照

powershell - 実行中のコマンドレットの現在のディレクトリを取得する方法

これは簡単な作業ですが、実行されたコマンドレットが配置されているディレクトリへのパスを取得する方法についていくつかの試みがあり、成功はさまざまです。たとえば、にC:\temp\myscripts\mycmdlet.ps1設定ファイルがあるを実行する場合、内の変数C:\temp\myscripts\settings.xmlに格納できるようにしたいと思います。C:\temp\myscriptsmycmdlet.ps1

これは機能する1つの解決策です(少し面倒ですが):

別の1つは、テスト環境でのみ機能するこのソリューションを提案しました。

私は後者のアプローチがとても好きで、毎回ファイルパスをパラメーターとして解析するよりも好きですが、開発環境で動作させることができません。私は何をすべきか?PowerShellの構成方法と関係がありますか?

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

c# - Hashtable/Dictionary パラメーターを使用した Powershell C# コマンドレット

Hashtable/StringDictionary であるカスタム C# コマンドレットにパラメーターを追加して、次のような方法でコマンドレットを呼び出す方法を教えてください。

これを行う方法を明確かつ簡単に説明しているドキュメント/例、またはカスタムコマンドレットが可能かどうかを単純に見つけることができません。

使用できますか:

または、他の何か?

敬具

0 投票する
4 に答える
1066 参照

powershell - PowerShellプロバイダーの相対パスタブ-補完の問題

単純なPowerShellを実装しましたNavigationCmdletProvider

知らない人にとっては、これは、事実上仮想ファイルシステムドライブであるコマンドレットを使用してスナップインを作成できることを意味します。このドライブは、通常のフォルダーと同じように、PowerShellからマウントしてナビゲートできます。ドライブに対する各アクション(たとえば、パスが有効なアイテムを指しているかどうかの確認、フォルダー内の子アイテムの名前のリストの取得など)は、クラスから継承された.NETクラスのメソッドにマップされますNavigationCmdletProvider

タブ補完の問題に直面しているので、解決策を見つけたいと思います。相対パスを使用すると、タブ補完によって誤った結果が得られることがわかりました。絶対パスの場合、正常に機能します。

知らない人のために、タブ補完は、クラス からオーバーライドされるメソッドをNavigationCmdletProvider呼び出すPowerShellを介して機能します。GetChildNamesNavigationCmdletProvider

-問題のデモンストレーション--

次のフォルダー階層を持つプロバイダー「TEST」があるとします。

絶対パス:

dir TEST::child1\」と入力して数回押すとtab、期待どおりの結果が得られます。

相対パス:

まず、「TEST::child1」に移動します。

次に、「dirspace」と入力して数回押すとtab、間違った結果が表示されます。

私は代わりにこれらを見ることを期待しています:

これはPowerShellのバグですか、それとも何か間違ったことをしていますか?

プロバイダーの完全な自己完結型コードは次のとおりです。