Arrrg!我正在用PowerShell写一个简单的脚本,我觉得这是一个愚蠢的问题.我正在调用一个调用存储过程的sql命令,结果我把它放在一个数组.结果看起来像这样:
Status ProcessStartTime ProcessEndTime
------ ---------------- --------------
Expired May 22 2010 8:31PM May 22 2010 8:32PM
Run Code Online (Sandbox Code Playgroud)
我想做的是if($s.Contains("Expired"))报告失败.简单...?:(问题我遇到的是它看起来像没有加载Contains方法,因为我得到这样的错误:
方法调用失败,因为[System.Object []]不包含名为"Contains"的方法.在行:1 char:12 + $ s.Contains <<<<("Expired")+ CategoryInfo:InvalidOperation :(包含:String)[],RuntimeException + FullyQualifiedErrorId:MethodNotFound
那么,我该怎么做才能阻止PowerShell将其展开为字符串?下面的实际ps脚本 -
$s = @(Invoke-Sqlcmd -Query "USE DB
GO
exec Monitor_TEST_ps 'EXPORT_RUN',NULL,20" `
-ServerInstance testdb002\testdb_002
)
if ($s.Contains("Expired"))
{
Write-Host "Expired found, FAIL."
}
else
{
Write-Host "Not found, OK."
}
Run Code Online (Sandbox Code Playgroud) powershell ×1