написал эту небольшую часть кода, чтобы проверить, существует ли файл и содержит ли он строковый шаблон
try {
$SEL = Select-String -Path \\$serversPing\c$\Scripts\compare_result.txt -Pattern "no differences encountered" -ErrorAction SilentlyCOntinue
}catch{
$ErrorMessage = $_.Exception.Message
$FailedItem = $_.Exception.ItemName
}
Finally {
if ($SEL | Test-Path -ErrorAction SilentlyContinue){
#write-host $serversPing $SEL.Pattern
#write-host $serversPing $SEL
if ($SEL.Pattern -eq "no differences encountered")
{
$SoftCheckResult = "ok"
}
else
{
$SoftCheckResult ="Verify"
}
}
else{
$SoftCheckResult = "NotInScope"
}
}
Но он не делает то, что должен.Во-первых, он частично распознает, что путь существует, и, во-вторых, он частично распознает шаблон в текстовом файле.Не могли бы вы мне помочь?
Я подозреваю, что PATTER частично распознается на сервере с несколькими серверами (пробелы и т. Д.), Даже если как пропустить это?
Странно думать, что он не видит, что шаблон отсутствует в файле, онвместо этого верните NotinScope. Проверьте файл ниже без этого шаблона
А ниже вы можете увидеть нормальный шаблон