問題タブ [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.

0 投票する
1 に答える
734 参照

powershell - PowerShell が PSObject で値の型をラップしないようにする

多くのデリゲートを使用する .NET API があります。私の API には、次のようなメソッドがいくつかあります。

現在、PowerShell には次のものがあります。

問題は、PowerShell スクリプト ブロックが実際の double 値ではなく PSObject を返すことです。私の .NET API は PowerShell について何も知りません。また、この特定のシナリオに特別な処理を追加できるように、PowerShell DLL への参照を追加したくありません。

スクリプト ブロックが PSObject ではなく実際の値の型を返すようにする方法はありますか? または、.NET ライブラリが PSObject を処理するための PowerShell に依存しない方法はありますか?

0 投票する
1 に答える
85 参照

sql - PowerShell 多値変数または SQL テーブル

一時的な時間だけメモリにデータを書きたいと思っています。形式は基本的に、たとえば 5 列と 1,000 行の SQL テーブルと同じです。このデータを保存し、それに対してクエリを実行して計算を行い、並べ替え、クエリを実行して、グラフ レポートと Excel データを生成したいだけです。

カスタム psobjects と sql を調べましたが、SQL ではなくカスタム psobjects を使用する理由がわかりません。どう思いますか?

また、psobjects を使用して複数の行を追加することは、SQL で別の行を追加するのと同じくらい簡単であることがわかりませんでした。

ありがとうスティーブ

0 投票する
1 に答える
1755 参照

sorting - オブジェクト Powershell のプロパティの並べ替え

このコードを使用して SharePoint リストからデータを取得し、それを txt ファイルにエクスポートしています。これを取得するために New-Object PSObject を使用しています。

私の質問は、指定した名前でプロパティを並べ替える方法、またはそれらの名前で並べ替えられたこのアイテムをエクスポートする方法です。よろしくお願いします

0 投票する
1 に答える
1221 参照

c# - Powershell: Get-WMIObject を PSObject に動的に変換する

Powershell と C# を操作するために見つけたコード例の大部分は、Powershell スクリプトからデータを返すために PSobject を使用しています。PSObject の作成に関する多くの例では、Get-WMIObject からデータを取得し、それを PSObject に変換します。これは、結果から新しい PSObject に引き継がれる各プロパティを手動で指定して行われます。Get-WMIObject (ManagementObject だと思います) からの結果を Powershell の PSObject に動的に変換する方法はありますか?

基本的に、使用する WMIObject のクラスに関係なく、PSObject に変換できる関数が必要です。Get-WMIObject 呼び出しの結果で使用できる .PSObject.Members 呼び出しに出くわしました (実際には .PSObject は有効なものではないようです)。だから私は次のことができます:

しかし、これにより、通常は Get-WMIObject を呼び出すだけで得られるよりもはるかに多くの結果が得られます。変換のより良い方法、またはこれらの結果をさらに標準出力に近づけるための方法を知っている人はいますか? $class の値を他の WMIObject クラスのいずれかに変更できる汎用的なままにしておきたいと思いますが、それでも機能します。

0 投票する
2 に答える
3953 参照

powershell - CSV エクスポート可能オブジェクト配列を作成するときに列名の位置を制御するにはどうすればよいですか?

参照スクリプト:

スクリプト 1:

スクリプト 2 (拡張使用を反映するために編集で追加):

質問:

そのスクリプトは CSV を作成し、必要なすべてのデータを正しい行に含めますが、列の位置を制御する方法がわかりません。name,accountname,mailPowershellでデータを注文して追加していますが、 mail,name,accountname. 列の順序を制御するにはどうすればよいですか?

注:エクスポート前にコンテンツのスクリーン ダンプを実行すると$csvList、順序は既に変更されています。

0 投票する
1 に答える
10628 参照

powershell - PSObject をそのまま維持しながら、PowerShell オブジェクトから重複するエントリを削除します

複数のプロパティを持つ PSObject を作成しました。特定のプロパティを参照として使用して、PSObject から重複するエントリを削除したいと考えています。

PSObject を元の形式に保ちながら、これを行いたいと思います。

私が見た例では、重複しない値を抽出しています。重複した値を削除したい。

私はこれを変えようとしています:

これに:

ここにトリックが欠けているような気がします...

ありがとう

0 投票する
1 に答える
865 参照

xml - カスタム PowerShell オブジェクトの Tostring() メソッドと export-clixml

1. export-clixmlを介し てバックアップとしてエクスポートされたサードパーティのコマンドレットからのデータを含むこれらの XMLファイルがあります。    それらは次のようになります (より多くのオブジェクトがある場合のみ):


2 . 私は通常、これらをimport -clixml でインポートし、これらのサードパーティ コマンドレットに再度パイプしてデータを再作成します。よく働く。

3 . これらを使用する前に、 *OldDomain* を *NewDomain*に置き換える必要があります。
だから私はデータをインポートしてから値を置き換えます:

これは理論的には機能し、交換後にオブジェクトを見ると、問題なく見えます。
 
4 . しかし、データをコマンドレットにパイプした後、「OldDomain」 が利用できないというエラーが発生し続けました。「OldDomain」はもはやオブジェクトに含まれていないはずです...
しばらく時間がかかりましたが、「OldDomain」がどこから来ているのかがわかりました。値を置き換えた後、オブジェクトを再度エクスポートすると明らかになります。


値は tostring()-Method にあります。しかし、なぜtostring()- Methodに静的な値があるのでしょうか? METHOD であるはずです。 何らかの理由で、コマンドレットは tostring() メソッド内でこの値を使用します。5.この理由とは別に、tostring() 内の値を置き換えてみました。しかし、それはメソッドなので、これをオーバーライドする唯一の方法は、同じ名前の新しいメソッドを追加することです:




これは、 tostring () の値を変数 $replValの内容( " NewDomain") ではなく、変数$replVal自体で置き換えたため、半分しか機能しませんでした。したがって、$subobj.tostring() は、固定値ではなく、メソッド tostring() を呼び出すときに $replval にあるものです。 だから私が必要とするのは、scriptmethod が noteproperty のように機能し、tostring () = $replvalueのように固定値を割り当てられるようにすることです。




A)なぜ tostring() が export-clixml - ファイルにあるのですか?

B)格納されたオブジェクト内にメソッド (tostring())の固定値があるのはなぜですか?

C)そして最も重要: tostring() 内の固定値を置き換えるにはどうすればよいですか?

 
よろしくお願いします、ffm


   

0 投票する
3 に答える
5411 参照

regex - netsh の結果を PowerShell オブジェクトに

PowerShell からNETSHを使用しようとしています。オブジェクトなど、このコマンドの結果を確認したいのですが、netshは文字列を返します。

私のスクリプトは、むしろローカライズされたシステムで動作する必要があり、文字列をオブジェクトに直接解析するために-matchを使用することはできません。

どうすれば私の悩みを解決できますか?