我在这里使用这个脚本:
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属性?
答案 0 :(得分:1)
我讨厌回答我自己的问题...... 但...
在将服务从2005年更改为2010年时,CreateDataSource方法从void返回到返回表示已创建数据源的CatalogItem,该数据源也具有Name和Path属性。
在方法返回后尝试访问这些属性时,powershell发现了多个同名属性,并导致混淆。不再需要在New-SSRSDataSource方法中创建DataSource对象(或者,还有其他方法可以解决问题)。