Macht euch das Werkzeug zu eigen, um selbst Lösungen zu entwickeln.
Ich werde vermutlich zum Jahresbeginn nicht mehr für einen Managed TI Anbieter arbeiten und habe daher weder die Zeit, noch die Mittel (Konnektor), noch die Motivation hier weiter Werkzeuge zur Verfügung zu stellen.
Vorgehen:
- Kopiert den Quellcode in einen Editor
- Tragt eure IP-Adresse und das koco-root Kennwort bei IP und Pass an der Stelle "Ab hier PowerShell"
- Speichert Sie unter KonnektorReboot.cmd (Dateityp ändern von "Textdatei" auf "Alle Dateien")
- Prüft mit einem Doppelklick, ob alles funktioniert
- Legt über die Aufgabenplanung eine neue, "einfache Aufgabe" an. Verwendet die Zeitsteuerung, um die Aufgabe z.B. jeden morgen auszuführen.
Code: Alles auswählen
@echo off
%windir%\System32\more +8 "%~f0" > "%temp%\%~n0.ps1"
powershell -NoProfile -ExecutionPolicy Bypass -File "%temp%\%~n0.ps1" %*
del %temp%\%~n0.ps1
pause
exit /b
*** Ab hier PowerShell ***
$IP = "127.0.0.1"
$User = "koco-root"
$Pass = "GEHEIM"
#Reboot
$PerformAction = "reboot"
$Data = ''
# Login
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
[System.Net.ServicePointManager]::ServerCertificateValidationCallback = { $true }
$LoginUri = "https://" + $IP + ":9443/j_security_check"
$LoginBody = @{
j_username = "$User"
j_password = "$Pass"
}
$LoginResponse = Invoke-WebRequest -Uri $LoginUri -SessionVariable "Session" -Body $LoginBody -Method "POST"
# Get X-Token
$BackendUri = "https://" + $IP + ":9443/administration/json-retrieve/infoservice"
$BackendResponse = Invoke-WebRequest -Uri $BackendUri -WebSession $Session -Headers @{'Content-Type' = 'application/json'}
$xtoken = (((($BackendResponse.Headers."Set-Cookie") -Split ";")[0]) -Split "=")[1]
# Perform Action
$PerformUri = "https://" + $IP + ":9443/administration/perform/" + $PerformAction
$PerformHeaders = @{
'Content-Type' = 'application/json'
'X-TOKEN' = "$xtoken"
}
$PerformResponse = Invoke-WebRequest -Uri $PerformUri -WebSession $Session -Body $Data -Method "POST" -Headers $PerformHeaders
echo $PerformResponse.content
P.P.S.: Von PS1 nach CMD konvertiert mit dem Heise PS1 to CMD converter. Danke Heise!
Grüße Christian Krause