Скрипт проверки tnsnames.ora для Windows. Сваливает ответы tnsping в файлик.
Код:
$tnsnamesFile = "C:\work\DBA_GIT\DBA\MasterTNS\tnsnames2.ora"
$logfile = "C:\work\DBA_GIT\DBA\MasterTNS\tnsping.log"
Get-Content $tnsnamesFile | ForEach-Object {
$line = $_
if ($line -match '^[A-Za-z0-9]+') {
$serviceName = $line.Trim().Split(' ')[0]
#Выводим что проверяем
$log = "Check connection for $serviceName"
Write-Host $log
$log | Out-File -Append -FilePath $logfile
#Пингуем через tnsping
$tnslog = tnsping $serviceName
Write-Host $tnslog
$tnslog | Out-File -Append -FilePath $logfile
}
}