Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- param(
- [string]$targethost,
- [int]$port = 161,
- [string]$version = "2c",
- [string]$community = "public",
- [string]$oid = "1.3.6.1.4.1.318.1.1.1.7.2.4.0",
- [string]$dateformat = "MM/dd/yyyy"
- )
- $pinfo = New-Object System.Diagnostics.ProcessStartInfo
- $pinfo.FileName = "C:\Program Files (X86)\PRTG Network Monitor\Custom Sensors\EXE\snmpget.exe"
- $pinfo.RedirectStandardError = $true
- $pinfo.RedirectStandardOutput = $true
- $pinfo.UseShellExecute = $false
- $pinfo.CreateNoWindow = $true
- $pinfo.Arguments = @("-q","-r:$targethost","-p:$port","-v:$version","-c:$community","-o:$oid")
- $p = New-Object System.Diagnostics.Process
- $p.StartInfo = $pinfo
- $p.Start() | Out-Null
- $stdout = $p.StandardOutput.ReadToEnd()
- $stderr = $p.StandardError.ReadToEnd()
- $p.WaitForExit()
- function Convert-DateString ([String]$Date, [String[]]$Format)
- {
- $result = New-Object DateTime
- $convertible = [DateTime]::TryParseExact(
- $Date,
- $Format,
- [System.Globalization.CultureInfo]::InvariantCulture,
- [System.Globalization.DateTimeStyles]::None,
- [ref]$result)
- if ($convertible) { $result }
- }
- $Now = (Get-Date)
- $LastSelfTest = (Convert-DateString -Date $stdout.TrimStart().TrimEnd() -Format $dateformat)
- $Difference = $Now - $LastSelfTest;
- Write-Host ([string]::Format("{0}:Last self test was {0} days ago",$Difference.Days));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement