我首先想说我只是在学习 powershell,这可能是一个非常简单的答案,但我已经做了一些研究,但找不到我正在寻找的确切内容。
我的目标:我正在使用 SQL cmdlet 尝试排除一些我们需要在其上运行脚本的数据库。下面是我获取数据库的代码
$ExcludeDBs=Invoke-Sqlcmd -ServerInstance $EDDSServer -Database EDDS -InputFile $InactiveCaseSQLPath
这很好用,在此之后,当我尝试使用 foreach 循环并尝试比较属性时,我可以确定它位于哪个 SQL 集群上。下面是我的代码:
$str="__SQL Cluster 13 (ALL NEW CASES HERE)"
$ExcludeDbs | foreach{
if($ExcludeDBs | Where-Object SQLclusterName -eq $str){
$SQLClusterName="ClusterNameSQL"}
}#end foreach loop
我收到以下错误:
无法绑定参数“FilterScript”。无法将“System.String”类型的“SQLclusterName”值转换为“System.Management.Automation.ScriptBlock”类型。
我认为这与类型转换有关,但我不确定从这里去哪里。任何帮助将不胜感激。