問題タブ [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 投票する
3 に答える
4930 参照

.net - PSObjectのディープコピー

私は次のことを行うPowerShellスクリプトを持っています

CSV内のデータのいくつかの異なるコピーを作成して、いくつかの異なる操作を実行したいので、これを行う必要があります。ある意味で、PSObjectの結果の配列に対して「INNERJOIN 」を実行しています。ForEach-Object$somePSObjectHashtablesを使用して簡単に反復処理し、配列の各メンバーでHashtable.Clone()を呼び出すことができます。次に、PSObjectのディープコピーを取得するために使用できます。New-Object PSObject -Property $someHashTable[$i]

私の質問は、中間のハッシュテーブルなしで、ディープコピーを作成する簡単な方法はありますか?

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

datetime - Get-Date が DateTime オブジェクトを返すように見えるのに、BinarySerializer が PSObject を返すと示しているのはなぜですか?

シンプルなHashTableを見てみましょう:

キー StartDate にはDateTimeが含まれているようです。

ただし、バイナリ シリアル化を実行しようとすると、PSObjectがシリアル化できないという例外が発生します。

スロー:

次のように [DateTime] への明示的なキャストを使用すると、このメッセージは消え、すべてが機能します。

Get-Date が実際には DateTime を返さないか、またはここで動作している他の PowerShell の奇妙な点も同様です。

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

c# - C# Psobject のコレクションを powershell パイプラインに渡す

powershell スクリプトに渡したい C# PSObjects のコレクションがあります。パイプラインで渡すのが好きなので、psfile のプロセス セクションで使用できます。

これが可能かどうか、その場合は誰でも手がかりを持っています。どうすればいいのですか?

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

powershell - Powershell特定の行を検索(クエリ)psobject

Powershellは初めてです。そして、私は最も単純なタスクに苦労しています。

わかった。これは本当にばかげた質問ですが、PSObjectを作成しました...メンバーを追加しました(4列、ID、名前、ステータス、TagFile、行数)...ループがあります...各i(反復) )... ID=iであるオ​​ブジェクトの行の値を使用するようにします。

本当に難しいことではありません。私はグーグルで検索しましたが、私を助けるのに十分明確または簡潔な答えを思いつきませんでした。

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

powershell - カスタムオブジェクト配列を関数に渡す

カスタムオブジェクトの配列を関数に渡して、これらのオブジェクトをさらに処理しようとしています。

カスタムオブジェクト配列を作成する関数は次のとおりです。

次に、メインコードで、上記の関数を次のように呼び出します。

$ netAdapterListは期待されるデータを返し、次のようなことができます。

ここまでは順調ですね。

ここで、$netAdapterListを渡す関数を呼び出します。

次のようなダミー関数を作成しました。

そして、私がこのようにそれを呼び出すとき:

何も印刷されません。

関数のシグネチャを変更しようとしましたが、それでもうまくいきません。

誰かが私が間違っていることを知っていますか?関数内のカスタムオブジェクトにアクセスするにはどうすればよいですか?

0 投票する
6 に答える
57816 参照

powershell - PSObject、Hashtable、およびPSCustomObjectの違い

誰かが詳細を説明できますか?を使用してオブジェクトを作成する場合

getType()次に、 PowerShellを使用してそのタイプを検索すると、Hashtableタイプであることがわかります。

Get-Member(エイリアス)を使用してオブジェクトを検査する場合、ハッシュテーブルにはとプロパティgmがあるため、ハッシュテーブルが作成されていることは明らかです。では、「通常の」ハッシュテーブルとの違いは何ですか?keysvalues

また、PSCustomObjectを使用する利点は何ですか?このようなものを使用して作成する場合

私にとって目に見える唯一の違いは、PSCustomObjectのデータ型が異なることです。また、キーと値のプロパティの代わりに、を使用して検査すると、gmすべてのキーがNotePropertyオブジェクトとして追加されていることがわかります。

しかし、私にはどのような利点がありますか?ハッシュテーブルと同じように、キーを使用して値にアクセスできます。PSCustomObjectには、ハッシュテーブルと同じように、単純なキーと値のペア(たとえば、キーとオブジェクトのペア)以上のものを格納できます。では、利点は何ですか?重要な違いはありますか?

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

powershell - PowerShell - Win32_OperatingSystem からの Select-Object の表示がおかしい

ここに初めてポスターを投稿しました。私は少し初心者で、PowerShell スクリプトのスキルをゼロまで上げたいと思っていましたが、ややこしいものに出くわしました...

コンピューターのコレクションにクエリを実行するスクリプトを作成しました。Win32_OperatingSystem にクエリを実行したいのですが、PSObject にデータを入力できるようにビルド番号のみを推定します。ビルド番号が 7601 の場合に OS 列の下にメッセージを書き込めるように、いくつかの If ロジックを追加しようとしています。

私が抱えている問題は、たとえば BuildNumber の値が 7601 ではなく @{BuildNumber=7601} として出力されることです。それと、私の If ステートメントが壊れています。

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

c# - C#で名前を使用してPSObjectプロパティにアクセスします

たとえば、idとtransactionNameの2つのプロパティを持つPSObjectトランザクションがあるため、次のようになります。transaction {id:123 transactionName:tranName1}

名前がtranName1の場合、トランザクションのIDを返したい。

PowerShellスクリプトでは、次のことを簡単に実行できるように見えます。

ただし、c#では、名前でプロパティを認識できないため、エラーが発生します... c#でそれを行う方法はありますか?

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

powershell - 「ネイティブ」オブジェクトをバックグラウンドジョブに渡す

これが私が何らかの形で達成したいことです。

いくつかのオブジェクトを定義するカスタムアセンブリがあります。スクリプトでは、スクリプトブロックに渡したいカスタムオブジェクトを作成し、そのオブジェクトの動作を維持します。

どうすればそれを行うことができますか、または同じ効果を達成できますか?ご協力いただきありがとうございます

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

vb.net - "" を含む文字列を VB .NET の既存の文字列に追加するにはどうすればよいですか?

.ps1 スクリプト (Powershell) の内容を取得し、VB.NET Winform のコンテキストで実行するユーティリティに取り組んでいます。基本的に、いくつかの Powershell DLL を参照し、.ps1 ファイルを開き、テキスト行を読み取り、ボタン クリック イベントで実行される内部文字列に入力することでこれを行います。

これまでの完全なコードは次のとおりです。

長文で申し訳ありませんが気になるセリフはそのcurLine.Contains一部です。私がやろうとしているのは、行が特定の行 ( を読み取る$Folder = "") であるかどうかをパーサーに検出させ、空の引用符をテキスト ボックス ( ) に格納されているフォルダー パスに置き換えることですtbpath.selectedtext。残念ながら、Powershell スクリプトではパス文字列を引用符で囲む必要があるため (スペースがある場合に備えて)、やりたいことを実行する方法を理解するのに苦労しています。

私はそこで何をすべきですか?必要なものを新しい変数 (おそらくvbPath = tbpath.selectedtext) に組み込み、それを新しい行に入れる必要がありますか? 「ベストプラクティス」はありますか?