Powershell 远程处理 - 远程创建对象

标签 powershell remoting

我正在尝试创建对象并使用远程处理对其进行操作,如下所示:

$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 对象并对其进行操作?

最佳答案

Invoke-Command 返回输出,而不是创建的对象。如果您想通过 Invoke-Command 远程操作 COM 对象,您必须在脚本 block 中包含代码:

$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

关于Powershell 远程处理 - 远程创建对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17362579/

相关文章:

c# - 通过 Remoting/WCF 在远程计算机上部署和执行代码

ssl - jboss-as-maven-plugin 通过 https 部署

powershell - 在 Powershell 中抑制 cmdlet 输出

json - 使用 powershell 正确格式化 JSON

regex - 如何在 PowerShell 中使用变量作为正则表达式的一部分

.net - 可以捕获环回流量的 Windows 数据包嗅探器?

C# Remoting - 如何关闭 CustomErrors

sql-server - 如何使用 docker desktop 将 kubernetes 集群连接到外部 SQL Server 数据库?

sql - SQL合并删除目标表中的所有行

powershell - 使用 "Invoke-Command"在远程机器上运行本地文件