An diesem kleinen Skript zur Ermittlung des Datums, an dem ein Zertifikat ausläuft, soll gezeigt werden, wie es in der River weiter genutzt werden kann.
Hinweis:
- Die Skripte müssen am Ende immer einen Rückgabewert ausgeben
- Über Variablen können Ausgaben ‚vorformatiert‘ werden
- Am Besten alle Ausgaben immer mit echo ausgeben
<snip>
$cr_lf = „`r`n“
$kuchen = ‚Marmorkuchen‘
$ausgabe = ‚Mein Lieblingskuchen: ‚ + $kuchen
echo $cr_lf $ausgabe
exit 0
<snip>
Skript aus anderen Produkten: #
In anderen Produkten können die Parameter nur durch die vorherigen Deklaration verwendet werden. Daher sind in unserem Fall die 5 oberen Zeilen notwendig.
<snip>
param (
[Parameter(Mandatory=$true)][string]$url,
[Parameter(Mandatory=$true)][int]$Warninglimit,
[Parameter(Mandatory=$true)][int]$Errorlimit
)
[Net.ServicePointManager]::ServerCertificateValidationCallback = {$true}
$req = [Net.HttpWebRequest]::Create($url)
try {
$req.GetResponse() | Out-Null
}
catch {
Write-Host URL check error $site`: $_ -f Red
}
$expDate = [datetime]::ParseExact($req.ServicePoint.Certificate.GetExpirationDateString(), ‚dd.MM.yyyy hh:mm:ss‘, $null)
switch ($expdate) {
($expDate -lt (Get-Date).AddDays($Warninglimit)) { Write-Host („Certficate expires on“ + $expDate)
exit 2 }
($expDate -lt (Get-Date).AddDays($Errorlimit)) { Write-Host („Certficate expires on“ + $expDate)
exit 1 }
Default { Write-Host „Success“
exit 0}
}
<snip>
Modifikation für die Nutzung in der River: #
In der River werden Parameter direkt bei der Ausführung ersetzt und benötigen deshalb keine Deklaration. Für die Nutzung dieses Skripts werden einfach die oberen 5 Zeilen zur Deklaration der Parameter entfernt.
<snip>
[Net.ServicePointManager]::ServerCertificateValidationCallback = {$true}
$req = [Net.HttpWebRequest]::Create($url)
try {
$req.GetResponse() | Out-Null
}
catch {
Write-Host URL check error $site`: $_ -f Red
}
$expDate = [datetime]::ParseExact($req.ServicePoint.Certificate.GetExpirationDateString(), ‚dd.MM.yyyy hh:mm:ss‘, $null)
switch ($expdate) {
($expDate -lt (Get-Date).AddDays($Warninglimit)) { Write-Host („Certficate expires on“ + $expDate)
exit 2 }
($expDate -lt (Get-Date).AddDays($Errorlimit)) { Write-Host („Certficate expires on“ + $expDate)
exit 1 }
Default { Write-Host „Success“
exit 0}
}
<snip>