問題タブ [runspace]

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 に答える
527 参照

c# - リモート Powershell セッションを作成し、C# を使用して実行空間にモジュールをロードする

リモート PowerShell セッションに接続し、実行空間にモジュールをロードしたいと考えています。

このリンクを使用して接続部分を取得しました: -C# でリモート PowerShell セッションを作成しますか?

実行空間にモジュールをロードし、そのモジュールで他のコマンドを呼び出すにはどうすればよいですか?

ありがとうございました。

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

c# - C# による PowerShell - Asynchronous RunspacePool - キーは既に追加されています

長年の潜伏者(特にこの問題について)。私の問題に直接関連するこの Web サイトの非同期投稿を調べていますが、解決策が見つかりません。また、以下のコードのさまざまなバリエーションを試してみましたが、役に立ちませんでした。

何が起こっているのかps.BeginInvoke()というと、コマンドをロードした後に非同期で実行し、ある種のメソッドを使用して呼び出しを非同期で起動し、実際には常に非同期で実行されています! ただし問題は、(たとえば) 実行されたコマンドが 10 回中 2 回、場合によっては 10 回中 8 回しか結果を返さないことです。私が実行している現在のコードの例を次に示します。

さまざまな組み合わせを試しIASyncResult result = ps.BeginInvoke()て、そのコマンドを何度も待っていますが、上記のコードと同じ結果になります。また、それをスタイルブロックに投げ込みvar task = Task.Factory.FromAsync(ps.beginInvoke(), p => ps.EndInvoke(p));、タスクのリストに追加してから、もう一度すべての実行を待ってみ.ConfigureAwait(false);ました...同じ結果です!

果たして結果はいかに?コマンドはすべて実行されますが、試行に失敗すると、次の例外がスローされます。

それ以外の場合は、非常に迅速に結果を返します。

問題は、PowerShell セッションが次のように実行されているにもかかわらず、同じ内部出力オブジェクトに書き込もうとしていることにあると思います。

1.) それは独自の新しい PowerShell インスタンスです
。 2.) RunSpace プールによって管理される別の実行空間にあります。

このエラーは、スクリプトを実行するたびに少なくとも 1 回発生します。10 個のグループ結果のうち 8 個が実際に吐き出されることもあれば、1 つしか機能しないこともあります。

この衝突が起こらないようにするにはどうすればよいですか? これが発生する原因となっている PowerShell 内で内部的に何かが起こっているのではないかと疑っています。

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

c# - C# WPF で powershell 実行空間を維持していますか?

Exchange サーバーとの対話をActive Directory/Exchange使用して管理コンソールを構築することを計画しています。C#powershellDC

アプリケーションの起動時powershellにこれらのサーバーへの接続を確立し、それらを維持して、クエリやスクリプトなどを実行し続けることができるようにしたいのです。リモート接続を確立するのに数秒かかるためです。あなたがするすべてを遅らせる。

現在、ローカルの実行空間をテストしているだけですpowershellが、コマンドを送信するたびに終了し、最初のコマンドの後に再利用できません。

runspace何度も使用できるように、閉じないようにするにはどうすればよいですか?

編集: コード 非常に基本的で、実行空間を作成するだけで、後で基本的な機能がダウンしたときにモジュールを含めることができるようにする予定です。アイデアは、実行空間を作成し、powershell コードを実行する関数を呼び出すときに、その実行空間を別の変数に割り当てて再利用できるようにすることでしたが、私はおそらく愚かです。現在、ボタンをクリックしたときに送信されるダミーの「Get-Process」と、出力を表示するテキストボックスがあります。

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

powershell - GUI コマンドを PowerShell 実行空間にエクスポートしますか?

PowerShell 実行空間をホストする .NET アプリケーションで、UI に影響を与える PowerShell コマンドレットを使用できるように、ホスト アプリケーション関数をその実行空間にエクスポートすることはできますか?

私の目標は、実行時間の長い PowerShell スクリプトから進行状況メッセージをホスト アプリケーションの UI に報告できるようにすることです (PowerShell をホストしているため、コンソール ウィンドウがありません)。次のようなものを想像しています。

C#:

パワーシェル:

これは可能ですか?私が間違っている場合は、さまざまな解決策 (イベント?) を聞いて喜んでいます。次の質問をすべて読み、他の多くの質問も読みましたが、それらが私が探しているものではないと思います:

アプリケーション内から PowerShell に機能を公開する方法

Powershell コール アセンブリ デリゲート

プログラムで PSCmdlet を Powershell パイプラインに追加する方法は?

デリゲート コールバックとして .NET メソッドを提供する

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

powershell - Powershell 'runspace' が Powershell コンソールから実行されない

このコードが Powershell ISE では実行されるが、Powershell コンソールからは実行されない理由を理解しようとしています。

ISE から実行すると、XAML ウィンドウが表示され、期待どおりの結果が得られます。ファイルを保存してコンソールから実行すると、サイレント モードで失敗する ファイルをコピーしてコンソールに貼り付けると、サイレント モードで失敗します。

同期されたハッシュ テーブルを持つ単一の実行空間が含まれています。これは XAML であるため、単一のスレッド化されたアパートメントとして実行空間を開始します。コンソールから実行する場合、MTA と STA を試しました

目的は、このコードをスプラッシュ スクリーンの一部として使用することです。

0 投票する
0 に答える
1341 参照

c# - 「GetSteppablePipeline」を呼び出す Get-MailboxPermission 例外

次の PoweShell コマンドの実行中に例外が発生します。

例外:

"1" 個の引数を指定して "GetSteppablePipeline" を呼び出し中に例外が発生しました: "カスタム属性 'Parameter' の型が見つかりません。
この型を含むアセンブリが読み込まれていることを確認してください。"

これに続いて

それは私を取得していますParameterBindingException

パラメータ名 'CommandName' に一致するパラメータが見つかりません。

これは私のコードの一部です。 上記のコマンドを送信してexecuteRemoteCommand、すべてのユーザーに対して 1 つずつ機能させます。

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

c# - モジュールから特定のコマンドレットをインポートして、Runspacepool で使用する

C# では、InitialSessionState クラスは、特定のモジュールをインポートし、"ImportPSModule" メソッドを使用して実行空間プール内のすべての実行空間で使用できるようにする方法を提供します。(ただし、これにより、インポートされるモジュール内のすべてのコマンドレットがインポートされます)

モジュールから特定のコマンドレットをインポートするために、「Import-Module」コマンドはパラメーター「Cmdlet」を受け入れます。これを使用して、そのモジュールから特定のコマンドレットのみをインポートできます。Runspacepool でこの動作 (モジュールから特定のコマンドレットのみをインポートする) を実現する方法