我有以下脚本,它运行存储过程并返回一个值。问题是它返回一个哈希表,而使用 result.answer 不返回任何内容。如何在没有附加哈希表的情况下获取值?
$SqlConnection = New-Object System.Data.SqlClient.SqlConnection
$SqlConnection.ConnectionString = "Server=server;Database=AspDotNetStoreFront;Integrated Security=True"
$SqlCmd = New-Object System.Data.SqlClient.SqlCommand
$SqlCmd.CommandText = "exec dbo.[sp_ESC_CheckForOrderingIssues] 1"
$SqlCmd.Connection = $SqlConnection
$SqlAdapter = New-Object System.Data.SqlClient.SqlDataAdapter
$SqlAdapter.SelectCommand = $SqlCmd
$DataSet = New-Object System.Data.DataSet
$SqlAdapter.Fill($DataSet)
$SqlConnection.Close()
$Result = $DataSet.Tables[0]
$Result
If ($Result -eq 1 )
{PANIC}
else {Dont Panic}
答案1
这是我能让它发挥作用的唯一方法。
$Result = $DataSet.Tables[0] |
select column1 $Result = $Result |
ConvertTo-Csv
$Result = $Result[2]
[int]$Result = $Result -replace ('"',' ')
$Result If ($Result -eq 2)
如果有人知道更好的方法我愿意听听。