Powershell - 这个脚本中返回了什么?

时间:2013-01-02 23:06:34

标签: deployment reporting-services powershell-v3.0

我在这里使用这个脚本:

https://gist.github.com/3043878

尝试使用Powershell将报表服务Visual Studio项目部署到SSRS。但请注意,我已将其修改为使用2010 Web服务,并相应地修改了对象初始化命名空间。

在第115行,返回新创建并填充的对象$ DataSource。

第147行& 148,调用此方法并使用结果输出,我得到以下错误:

 Property 'Name' cannot be found on this object. Make sure that it exists.

但是,如果我执行:

$DataSource | Select Name
$DataSource | Select Path

它返回预期值

同样,执行:

$DataSource | Get-Member
$DataSource | Select *

还列出了Name和Path属性。

Powershell实际上从New-SSRSDataSource方法返回的是什么 - 它似乎不仅仅是DataSource对象?为什么我不能在返回的内容上访问Name属性?

1 个答案:

答案 0 :(得分:1)

我讨厌回答我自己的问题...... 但...

在将服务从2005年更改为2010年时,CreateDataSource方法从void返回到返回表示已创建数据源的CatalogItem,该数据源也具有Name和Path属性。

在方法返回后尝试访问这些属性时,powershell发现了多个同名属性,并导致混淆。不再需要在New-SSRSDataSource方法中创建DataSource对象(或者,还有其他方法可以解决问题)。