PowerShell DbaTools 将哈希表传递给 Invoke-DbaQuery

问题描述

我正在尝试将名为 $sqlInstanceParams 的哈希表传递给 Invoke-DbaQuery dbatools 命令:

Invoke-DbaQuery -sqlInstance "X" -Database "X" -Query "Set-sqlInstance" -sqlParameters $sqlInstanceParams -CommandType StoredProcedure

显示我填充的哈希表变量,一切看起来都很好,但是当查询执行时我收到了这个错误

No mapping exists from object type System.Version to a kNown managed
provider native type.

我是否需要以某种方式转换此哈希表或像这样单独列出每个参数,而不仅仅是传递哈希表变量:

$sqlInstanceParams = @{IsClustered = $sqlInstanceParams["IsClustered"]; 
                      ServerName = $sqlInstanceParams["ServerName"] etc}


 

解决方法

结果证明这是 Hashtable 值和 SQL 表之间的数据映射问题。