2

以下のように、リモート処理を使用してオブジェクトを作成し、操作しようとしています。

$foldername = "C:\test"
$computername ="remotecomputer"

Invoke-Command -computername $computername -Scriptblock {$newquotaobj = New-Object -ComObject Fsrm.FsrmQuotaManager}
Invoke-Command -computername $computername -Scriptblock {$newquotasrc = $newquotaobj).GetQuota($Using:foldername)}

$newquotaobj逆シリアル化されて送り返されるという私の理解ですが、それは起こらないようです。ここで私の目標を達成することさえ可能ですか?つまり、comオブジェクトをリモートで作成して操作することはできますか?

4

1 に答える 1

2

Invoke-Command作成されたオブジェクトではなく、出力を返します。COM オブジェクトをリモートで操作したい場合Invoke-Commandは、スクリプト ブロックにコードを含める必要があります。

$foldername = "C:\test"
$computername ="remotecomputer"

Invoke-Command -ComputerName $computername -ScriptBlock {
  $newquotaobj = New-Object -ComObject Fsrm.FsrmQuotaManager
  $newquotasrc = $newquotaobj.GetQuota($args[0])
  $newquotasrc   # <-- this will be returned to the local host
} -ArgumentList $foldername
于 2013-06-28T10:56:11.477 に答える