問題タブ [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 - Powershell Runspace オブジェクトのクローンを作成する方法はありますか
古いものから新しい Powershell 実行空間オブジェクトを作成できるかどうかを知りたいです。
いくつかの PowerShell 操作を同時に実行します。毎回 powershell 実行空間を作成し、特定のコマンドを実行します。最初の 5 つのコマンドがすべての操作で同じであるとしましょう。これらのコマンドをすべての操作に対して 1 回だけ実行し、実行空間のコピーをマルチスレッド メソッドに送信できれば、より効率的です。
つまり、最初にパイプラインを介していくつかのコマンドを実行します。
ここで、特定のコマンドを同時に実行したいと考えています。
メソッドは次のconcurrentOperations
ように定義されています
そして、「パイプラインを同時に実行することはできません」という例外が発生しました。
そのため、実行空間のコピーを作成できれば、異なる実行空間に対してのみパイプラインが作成されます。しかし、実行空間にはClone()
メソッドがありません。
これを達成する方法はありますか?
c# - runspaceconnectioninfo を指定せずにローカルホストで RunSpace を作成すると、一部の PowerShell モジュール (Cluster コマンドレット) が読み込まれません
以下のサンプルを参照してください。「'Add-VMToCluster' という用語は、コマンドレットの名前として認識されません」で失敗します。一方、RunspaceSample("localhost") または RunspaceSample("somecomputerName") は成功します。それはなぜですか?RunspaceConnectionInfo を含めると、使用される powershell バージョンまたは実行に使用される RunspaceConfiguration が変更されますか? また、ローカル コンピューターで PowerShell スクリプトを実行する場合でも、RunSpaceConnectionInfo で ComputerName = "localhost" を使用して Runspace を作成すると、パフォーマンスにどのような影響がありますか?
ありがとう
multithreading - これは PowerShell 実行空間の適切な実装ですか?
PowerShell スクリプトには 3 つのコンポーネントがあります。コア、GUI、タイマーのそれぞれに実行空間を使用しています。
コアはいくつかのアクションを実行するためのもので、GUI はコア内のアクションが完了したかどうかを示すためのもので、タイマーはコア内の 1 つのアクションに必要です。
それがクリーン/良い解決策かどうかはわかりません... write-host で情報を書き込み、これらの実行空間間で情報を交換する必要があるためです。そうでない場合、より良い方法を教えていただけますか?
編集 :
GUI スレッド:
タイマースレッド
powershell - 実行空間プールを使用した SessionStateProxy 変数
PowerShell で実行空間プールを使用して、バックグラウンド アクションを実行したいと考えていました。しかし、メイン スレッドから WPF ウィンドウ変数にアクセスする必要があります。
通常の実行空間には次のオプションがあります。
しかし、RunspacePool で同じことを行うにはどうすればよいでしょうか?
user-interface - Powershell GUIで別の実行空間からラベルを追加するには?
私のPowershell GUIには、接続と切断の2つのモードがあります。それぞれにステップのリストがあります。このリストは xml から読み取られ、各ステップのラベルとしてフローレイアウト パネルに読み込まれます。したがって、接続に 8 つのステップがある場合、flowlayout パネルに 8 つのラベルが作成されます。
モードが変更されたときに、ラベルを動的に変更したいと考えています。接続モードで接続解除モードに移行する場合は、関連する手順を関数実行空間からフローレイアウト パネルにロードする必要があります。
私のスクリプトには、3 つの実行空間 (GUI 用、関数用、タイマー用) があります。
Gui 実行空間では、PanelLabelInner (flowlayoutpanel) が PanelLabelOuter にラップされます。これは垂直方向のセンタリング用です。ラベルを PanelLabelInner に追加する必要があります。
BUiltXML 関数を完成させる必要があります。最初に、モードが変更されたときにすべてのラベルを削除してから、UI を更新して新しいラベルを表示します: どうすればそれを行うことができますか?
このコードでは、何も追加されていません。更新、更新などを使用する必要があると思います...
GUI 実行空間:
関数の実行空間