これは、私が何らかの方法で達成したいことです。"ネイティブ"オブジェクトをバックグラウンドジョブに渡す
いくつかのオブジェクトを定義するカスタムアセンブリがあります。私のスクリプトでは、スクリプトブロックに渡したいカスタムオブジェクトを作成し、そのオブジェクトの動作を維持します。
Add-Type -AssemblyName MyCustomDLL
$global:object = new-object MyCustomDLL.MyCustomObject()
$object | gm
$jobWork = { param ($object) $object | gm } # I'd like to keep my object behavior in that block
$job = Start-Job -ScriptBlock $jobWork -ArgumentList $object
Wait-Job $job
Receive-Job $job
どうすれば同じ効果が得られますか?ご協力ありがとうございます
オブジェクトがステートフルで、呼び出し元のスクリプトの状態がすでに変更されている場合は、そのオブジェクトの状態が変更されています。助けにならないでしょう。シリアライズ/デシリアライズ以外のトラックがありますか? –