我需要一個PowerShell腳本(2.0兼容)來掃描SQL Server 2008 R2及更高版本的錯誤日誌。我需要有一個要搜索的短語列表以及要排除的短語列表。如何使用PowerShell掃描SQL Server錯誤日誌(並忽略一些錯誤)?
param ([String]$instanceName=$(throw "Instance name was not supplied"))
[System.Reflection.Assembly]::LoadWithPartialName('Microsoft.SqlServer.SMO')|Out-Null;
$sqlServer = new-object ("Microsoft.SqlServer.Management.Smo.Server") $instanceName;
$r = $sqlServer.ReadErrorLog();
$find = "Error:","Failed";
$exclude = "Error: 0x2098";
# need to do something with $r here and involve $find and $exclude
因此,例如我想找到包含Error:
和Failed
錯誤日誌的所有行,但不包括$exclude
數組中的人。有任何想法嗎?
謝謝,但查找和排除數組可能會增長,我想知道如何做到這一點與數組,任何想法呢? –
我增加了另一個例子,我認爲它更接近你所問的內容。 – malexander