Web services 如何在Powershell中的两个webservice实例之间转换对象类型?

Web services 如何在Powershell中的两个webservice实例之间转换对象类型?,web-services,powershell,reporting-services,types,converter,Web Services,Powershell,Reporting Services,Types,Converter,我正在为SSRS webserivce使用Powershell编程 我有两个SSRS站点,我想使用GetSubscriptionProperties方法获取订阅信息,然后使用CreateSubscription将其复制到另一个站点 $SSRS0 = New-WebServiceProxy -Uri $Uri0 -UseDefaultCredential; $SSRS1 = New-WebServiceProxy -Uri $Uri1 -UseDefaultCredential; ..... $S

我正在为SSRS webserivce使用Powershell编程

我有两个SSRS站点,我想使用GetSubscriptionProperties方法获取订阅信息,然后使用CreateSubscription将其复制到另一个站点

$SSRS0 = New-WebServiceProxy -Uri $Uri0 -UseDefaultCredential;
$SSRS1 = New-WebServiceProxy -Uri $Uri1 -UseDefaultCredential;
.....
$SSRS0.GetSubscriptionProperties($subscription.SubscriptionID, [ref]$extSettings, [ref]$desc, [ref]$active, [ref]$status, [ref]$eventType, [ref]$matchData, [ref]$values);
$SSRS1.CreateSubscription($URL, $extSettings, $desc, $eventType, $matchData, $values);
然后我得到了一个错误:

Cannot convert argument "ExtensionSettings", with value: "Microsoft.PowerShell.Commands.NewWebserviceProxy.AutogeneratedTypes.WebServiceProxy1er_ReportService20
10_asmx_WSDL.ExtensionSettings", for "CreateSubscription" to type "Microsoft.PowerShell.Commands.NewWebserviceProxy.AutogeneratedTypes.WebServiceProxy5er_Report
Service2010_asmx_WSDL.ExtensionSettings": "Cannot convert the "Microsoft.PowerShell.Commands.NewWebserviceProxy.AutogeneratedTypes.WebServiceProxy1er_ReportServ
ice2010_asmx_WSDL.ExtensionSettings" value of type "Microsoft.PowerShell.Commands.NewWebserviceProxy.AutogeneratedTypes.WebServiceProxy1er_ReportService2010_asm
x_WSDL.ExtensionSettings" to type "Microsoft.PowerShell.Commands.NewWebserviceProxy.AutogeneratedTypes.WebServiceProxy5er_ReportService2010_asmx_WSDL.ExtensionS
ettings"."
它试图将类型从SiteA webservice类型转换为site B webservice类型,事实上,它是相同的类型,但由两个新的WebServiceProxy语句创建

如何在不手动复制所有成员的情况下进行转换

我在互联网上尝试过这些方法,但没有任何帮助:

  • 使用-as运算符转换$null返回值

  • 在两个新的WebServiceProxy中使用-namespace,只有一个代理工作,另一个已损坏


  • 谢谢

    您能告诉我们产生错误的代码吗?另一个问题。
    $ext.Extension
    是否返回任何内容?更新代码,$ext.Extension不是空的。是否尝试使用
    $ext.Extension
    而不是
    $ext
    ?$ext.Extension是一个字符串,从ssrs2创建一个类型的对象,然后复制该值是可以的,但对于$ext.ParameterValues来说,这很复杂。我正在寻找解决此问题的通用方法,而不是手动执行深度复制