最初に言いたいのは、私はpowershellを学んでいるだけで、これは非常に簡単な答えかもしれませんが、いくつかの調査を行ったところ、探しているものを正確に見つけることができません.
私の目標: SQL コマンドレットを使用して、スクリプトを実行する必要があるいくつかのデータベースを除外しようとしています。以下は、データベースを取得するための私のコードです
$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" に変換できません。
これは型キャストと関係があると思いますが、ここからどこへ行くべきかわかりません。どんな助けでも大歓迎です。