Powershell-Skripte aus anderen Produkten weiter nutzen

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>

High Quality Theme

There is a fine line between creating greatness and accomplishing awesomeness. This time, we worked to prove that sky is not the limit.

Fill out the form to subscribe to our newsletter.

[contact-form-7 404 "Nicht gefunden"]

High Quality Theme

There is a fine line between creating greatness and accomplishing awesomeness. This time, we worked to prove that sky is not the limit.

Fill out the form to subscribe to our newsletter.

[contact-form-7 404 "Nicht gefunden"]