問題タブ [psobject]
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.
json - -pass と -passthru の間の PowerShell PSObject の混乱
-pass
&-passthru
キーについて混乱しています。違いは何ですか?-passthru
また、 for を使用すると何も入力されないのはなぜ$Items1
ですか?
powershell - ExpandProperty - パイプラインにないオブジェクト
次のようなパイプラインにいくつかのオブジェクトがあります。
結果:
小道具を展開し、展開されたすべてのプロパティをオブジェクト名と一緒にリストする必要があります。これ以上簡単なことはありません:
結果:
ここまでは順調ですね。問題は、パイプライン内の一部のオブジェクトに props がない場合に始まります。
結果:
今、私はそのコマンドを期待します:
次のような結果が返されます (obj2 の追加の props はありませんが、「デフォルト」プロパティ objname でまだパイプラインにあります):
代わりに obj2 がありません:
展開するものが何もない場合、ExpandProperty がオブジェクトをそのままにしないのはなぜですか?
c# - C# で PSObject ハッシュテーブルを反復処理する
identity
私の PSObject オブジェクトのプロパティ ( ) の 1 つは、 PowerShell から返される次のようなハッシュテーブルです。
これは私がやろうとしていることです:
ハッシュテーブル内のプロパティにアクセスするにはどうすればよいですか?
powershell - PowerShell 型アクセラレータ: PSObject と PSCustomObject の比較
PowerShell v3.0PSCustomObject
で導入されました。のようPSObject
ですが、より良いです。その他の改善 (例: プロパティの順序が維持される) の中でも、ハッシュテーブルからのオブジェクトの作成が簡素化されています。
これで、次のステートメントは明らかなようです。
PSCustomObject
完全な名前空間 + クラス名の「エイリアス」であるため、同じように機能します。代わりに、エラーが発生します。
タイプ "System.Collections.Hashtable" の "System.Collections.Hashtable" 値をタイプ "System.Management.Automation.PSCustomObject" に変換できません。
両方のタイプのオブジェクトのアクセラレータをリストしました。
そして、両方が同じクラスを参照していることを発見しました。PSObject
これは、アクセラレータを使用すると、コードを短くするだけでなく、他の多くのことができることを意味します。
この問題に関する私の質問は次のとおりです。
- アクセラレータを使用する場合と完全な型名を使用する場合の違いについて、興味深い例はありますか?
- アクセラレータが一般的なベスト プラクティスとして利用できる場合は常に、完全な型名の使用を避けるべきですか?
- おそらくリフレクションを使用して、アクセラレータが基になるクラスを指す以外のことを行うかどうかを確認する方法は?
c# - PSObject インスタンスを C# オブジェクトに解析する
PSObject インスタンスを C# POCOモデル エンティティに解析するにはどうすればよいですか?
PSObject インスタンスは、次のプロパティを含む動的オブジェクトです。
それらのフィールドに適合する C# POCO モデルがあります。
うまくキャストする方法はありますか?
c# - コレクションCSV出力へ
Collection<PSObject>
CSV 出力に変換する良い方法はありますか?
pipeline.ToCsv();
また試したpsResult.ToCsv()
何か案は?
string - 値に基づいて、オブジェクト内の不明なプロパティを検索します
通常の容疑者、つまりWhere-Object
またはでこれを行う方法がわかりませんSelect-Object
。
PSCustomObject で文字列「needle」を見つけたいとします。そのオブジェクトは、$Object
などの複数の Note プロパティを持つことができます。$Object.Haystack1
$Object.Haystack2
私の場合、音符のプロパティの数は既知であり、固定されていますが、オブジェクトが持つプロパティの数がわからない場合、より困難なケースではどうすればよいか知りたいです。
Select
私は/Where-Object
と演算子をいじり回しまし-in
たが、仕事をする簡単でエレガントなワンライナーを作ることができませんでした.