問題タブ [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.
powershell - New-PSSession 並列実行
スクリプトを続行する前に、確立して現在のセッションにインポートする必要がある 2 つの PSSession があります。どちらのステップも、連続して実行する場合、それぞれ約 10 ~ 15 秒、合計で 20 ~ 30 秒かかります。
別の実行空間で New-PSSession を実行し、その確立されたセッションを親プロセスにインポートすることは可能ですか?
たとえば、次のように変更します。
おそらくこのようなものに(これは機能しないことを警告します):
最終的な目標は、これにかかる時間を短縮することです。New-PSSession を並行して使用すると、連続して 20 ~ 30 秒ではなく、10 ~ 15 秒で完了するという考えです。これを達成する答えに満足しています。実行空間を使用する必要はありません。
編集:追加された目標
powershell-4.0 - RunSpace へのハッシュ配列
Main スクリプトから RunSpace コード ブロックに配列オブジェクトを渡すと、奇妙な動作が発生します。Where-Object
RunSpace コード ブロック内のステートメントを使用して値を取得しようとしています。ただし、null メソッドに関連するエラーが発生します。
Where-Object
実行空間に渡す前に配列に対して同じステートメントを実行すると、機能しますか?
たとえば、配列が RunSpace に渡される前に次の操作を実行すると、正常に動作します。
この配列を実行空間に渡して同じことを実行すると、次のように失敗します。
両方の配列オブジェクトを比較しましたが、まったく同じプロパティを持っていますか? Get-Member
?をチェックすると、ARRAY と ARRAY1 の違いはありません。何が起こっている?
c# - .net の永続的な実行空間 (C#)
パワーシェルセッションが実行されるWebページコードで実行空間を作成したい. ユーザーがページを開いたときにこの実行空間を作成し、閉じるまで開いたままにしたい. たとえば、以下のコードはボタンを 1 回クリックするためのものです。しかし、パワーシェルコマンドを実行するたびに、
これには数秒かかり、セッションを設定するだけです。使用するたびに再作成することなく、コード内の任意の場所から呼び出すことができるように、実行空間と powershell オブジェクトをどこで作成できますか。コンソール アプリでは、「メイン」クラスで口をとがらせますが、Web ページ/アプリケーションの構造が異なるようです
私の提案する解決策
そこで、静的で呼び出しが可能なオブジェクトを作成しようと考えました。最初に呼び出した静的呼び出しを作成すると、「static powers()」コンストラクトが実行されると思いましたが、それ以降の呼び出しでは、メソッド内のコードのセクションのみが呼び出されます。ただし、まだ完全に正しいかどうかはわかりません。
powershell - PowerShell の起動エラー - オブジェクト "runspace" が既に破棄されているため、操作を実行できません
PowerShell を起動しようとすると、次のメッセージが表示されます。
シェルを開始できません。初期化中にエラーが発生しました: オブジェクト "runspace" が既に破棄されているため、操作を実行できません。オブジェクト名:「実行空間」。
Google経由で解決策が見つからないようです。powershell を最初からアンインストール/再インストールできるかどうかは誰にもわかりませんか?
ベスト、ジョン
powershell - コンピューターで RunspacePool が既に開いているかどうかを確認する
VM で Powersell スクリプトを実行するプロセスがあります。このスクリプトは、VM で RunspacePool を定義し、その VM のリソース機能に基づいてしきい値 (実行空間の数) を設定します。このプロセスは繰り返されるため、その VM で RunspacePools が既に定義されて開かれている場合に、RunspacePools を定義して開き続けることは望ましくありません。
Powershell スクリプトの冒頭で、RunspacePoolStateInfo または RunspacePoolAvailability プロパティを呼び出して、Runspacepool が既に定義されているかどうかを確認しようとしました。ただし、スクリプトを実行するためにプロセスが開いた新しいウィンドウで Runspacepool オブジェクト自体を使用できないため、これらは識別されません。
私は基本的に、Powershell スクリプトを使用して VM で RunspacePool が開いていることを識別する方法を探しています。