問題タブ [pscustomobject]
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 - パイプラインで PSCustomObject ScriptMethod を使用するにはどうすればよいですか
PSバージョン: 5.1
望ましい
私が望んでいたことはうまくいくだろう与える
しかし、エラーが発生します
試した
何がうまくいかないのか: idk, tl;dr 理由?何が機能しないか: begin/end
何が機能しないか: $this はもはや添付されていません
うまくいかない理由: idk、ステッパーのスコープが時期尚早に終了する可能性があります
もうすぐそこ
何がちょっと働いているのですかこれは機能モデルのように見えますが、接続オブジェクトのユーザーがオブジェクトのメソッドを使用するたびに開始/処理/終了スクリプトをコーディングする必要がないソリューションがあれば、より良いでしょう。 .
json - Powershell:名前と値の配列の解析可能な形式への高性能変換 - どうすればこれを高速化できますか
JSON ペイロードから簡単/高速に解析可能なオブジェクト/PSCustomObject を作成したい場合、コードのパフォーマンスを向上させるにはどうすればよい$JSON
ですか?
私が受け取る PAYLOAD の構造の例は次のとおりです。
ご覧のとおり、非常に面倒な形式になっています。
私が解析しようとしているペイロードは、上記の 4 つだけではなく、はるかに大きく、これらの名前/値オブジェクトの 500 から 50000 までの可変数であることに注意してください。
#################################################### ########################
私の目標
後で簡単に解析できるように、これをキーと値のペアのシナリオに変えるには
これではありません:
私がしなければならないJSONで$JSON.where({$_.name -eq "system.enablenetflow"}).value
はい、これ:
$obj
作成した新しい変数で値を取得できるようにするという最終状態にしたい$obj."system.enablenetflow"
#################################################### ########################
超遅い私の現在の試み
私は次のことをしました:
- 空の PSCustomObject を作成し、変数として保存します
$obj
$JSON
JSON 配列を反復処理する変数に対してforeach メソッドを実行しました$obj
「名前」を PropertyName に、「値」を PropertyValue に設定して、メンバーを追加します。
私のコードのサンプルは次のとおりです。
どうすればこれを速くすることができますか?
powershell - PowerShell オブジェクトの値を条件付きで置き換える
という名前の変数に PSCustomObject の配列が含まれています$attendance
。
present
列の値を次のように変更する必要があります。
ループで変更できForEach-Object
ますが、これはオブジェクト全体を反復処理します。
$attendance
コードを短くするために、次のバリエーションを試しましたが、変数に折り返すことができませんでした。
present
ドット表記を使用して列の値を変更するワンライナーまたはより簡単な方法はありますか?
arrays - PowerShell で、if ステートメントが単一のオブジェクトではなく配列全体を返すのはなぜですか?
ホスト名がどのスコープにあるかを見つけると思われるスクリプトがあります。
以下に示すように、私の PSCustomObjectLocation = $scope.name
は、一致するものではなく、スコープの配列全体を取得しています。
というホスト名の .txt ファイルをインポートします$list
。次に、ループして一致$list
を $scopes
探します。