Powershell,Web服务和对象类型

dar*_*ait 5 powershell web-services reporting-services

我是新来使用web servicespowershell,所以也许我有一些基本的误解.我正在和微软合作Reporting Services.这是一个repro脚本.

$computer = "rptdev"
$uri = "http://$($computer)/ReportServer/ReportService.asmx?WSDL"

$reporting = New-WebServiceProxy -uri $uri -UseDefaultCredential -namespace "ReportingWebService"

$dsRef = new-object ReportingWebService.DataSourceReference
$ds = new-object ReportingWebService.DataSource

$dsRef.GetType()
$ds.GetType()
Run Code Online (Sandbox Code Playgroud)

如果我运行它,我得到的东西看起来或多或少像这样:

Name                BaseType
----                --------
DataSourceReference ReportingWebService.DataSourceDefinitionOrReference
DataSource          System.Object
Run Code Online (Sandbox Code Playgroud)

所以,我的问题是:为什么数据源有System.Object作为BaseType的时候DataSourceReference明明已经是基于网络对象的对象类型?它们都是从ReportingWebService命名空间创建的,不是吗?

我根本问题是,我需要用手数组DataSourcesSetItemDataSources,和SetItemDataSources电抗器的阵列上System.Objects,我似乎并没有能够施展它我想要什么.

x0n*_*x0n 0

如果您只有一个对象并且想要传递一个对象数组(即其中包含单个元素的数组 - 您的唯一对象),则可以使用 @() 语法:

ps> $o = new-object mynamespace.myobj
ps> $thing.Method( @($o) )
Run Code Online (Sandbox Code Playgroud)

-奥辛