問題タブ [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.
powershell - PowerShell カスタム PSObject で GetType().GetProperties() を使用するにはどうすればよいですか?
このlog4netのカスタマイズを取得して、PowerShell PSObjectで機能させようとしています。基本的に、このパターン レイアウトはオブジェクトを反復処理し、そのプロパティを CSV 列にダンプします。リフレクションを行うコードは次のとおりです。
これは、C# で通常のクラスを使用する場合にうまく機能します。このように PowerShell でインライン C# を使用してクラスを作成しても機能します。
うまくいかないのは、カスタム PSObject を作成した場合です。$code を次のような PSCustom オブジェクトに置き換えると、
その後、Null が返されます。これが実際に null を返すことを確認しました。
CSVLogging パターン レイアウトをハックして、着信オブジェクトが PSObject の場合に特別なケースを作成できると思いますが、1 つのタイプのオブジェクトだけにカスタマイズする必要はありません。PowerShell で psobject を取得し、それを GetType().GetProperties() で使用できるものに変換/キャストする方法はありますか?
c# - C# Powershell パイプラインの出力/応答
現在、私は「中間者」である ac# Web サービスを開発しています。クライアントはメソッド「executeScript(String script)」を呼び出すことができ、私の Web サービスはスクリプトを呼び出します。
現在、Web サービスは、クライアントが実行するスクリプトを認識していません (通常はスクリプトを交換します)。出力を正しく読み取るにはどうすればよいですか? たとえば、Get Process などです。
私のエラーリーディングはすでに機能しています。スクリプト例: "Get-Mailbox xxxxx"
logger.Info(o.ToString()); -> Get メールボックス xxxxx
プロパティ: 「名前: 長さ、値: 19、メンバータイプ: プロパティ」
それは正しい出力ではありません。元のpowershellコンソールと同じように、応答を文字列として取得する方法はありますか? (すべてのスクリプトで動的に!)
events - イベントを PSObject に添付することはできますか?
次のような psobject があるとします。
value 属性が変更されたときにメソッド Sqrt() が実行されるようにイベントを添付することは可能ですか? すなわち:
生産します
アップデート
@Richardの回答によると、これは実用的なレシピです:
xml - PowerShell: ConvertTo-XML 出力を使用したカスタム プロパティ XML タグ
ハッシュ テーブルを使用してプロパティ値を設定し、PowerShell で新しいオブジェクトを作成しています。次に、ConvertTo-XML メソッドを使用してオブジェクトを XML 形式にエクスポートします。
XML 出力は次のとおりです。
私が望むのは、XML タグを次のようにフォーマットすることです。
そして、そのための良い解決策があれば、オブジェクトタグもカスタムにする方法はありますか?
ありがとうございました。