Ihr wollt euren Server, auf dem IPS läuft, über das WebFront oder die Mobile-App neustarten? Mit folgenden Skripten wird der Computer/Server neugestartet (mit der Option „-f“, falls etwas hängt).
Soll der IPS-Dienst vorher beendet werden, dann muss der Dienst entweder unter dem jeweiligen Benutzer laufen, oder man kann das Skript mit „/runas“ ausführen lassen, damit die Berechtigungen passen.
Dazu legt euch z.B. die Datei „C:\TOOLS\Server-Neustart.bat“, mit folgendem Inhalt, auf dem IPS-Computer, an:
@echo off
echo Computer wird neugestartet
echo ###########################
shutdown -r -f -t 10
Dann müsst ihr euch in der IPS-Console noch ein Skript anlegen, an beliebiger Stelle, und mit diesem Inhalt füllen:
Hast du das IPS Dienste Neustart Skript rausgelöscht?
IPS_Dienste_neustart.bat
@echo off
REM IPS-Dienst wird beendet
net stop IPSServer
echo ###########################
echo 20 Sekunden warten
@CHOICE /T 20 > NUL /D J
echo ###########################
echo IPS wird neugestartet
echo ###########################
net start IPSServer
FUnktioniert top. Aus der Weboberfläche heraus, kann ich bei Bedarf auch nur mal „IPS“ durchstarten.
Wer Windowsupdates auf dem IPS Rechner installieren möchte -per IPS Weboberfläche -, könnte mal folgendes probieren:
In einer Batch folgendes VBS Skript starten:
ist von Microsoft Seite
cscript WUA_SearchDownloadInstall.vbs
Set updateSession = CreateObject("Microsoft.Update.Session")
updateSession.ClientApplicationID = "MSDN Sample Script"
Set updateSearcher = updateSession.CreateUpdateSearcher()
WScript.Echo "Searching for updates..." & vbCRLF
Set searchResult = _
updateSearcher.Search("IsInstalled=0 and Type='Software' and IsHidden=0")
WScript.Echo "List of applicable items on the machine:"
For I = 0 To searchResult.Updates.Count-1
Set update = searchResult.Updates.Item(I)
WScript.Echo I + 1 & "> " & update.Title
Next
If searchResult.Updates.Count = 0 Then
WScript.Echo "There are no applicable updates."
WScript.Quit
End If
WScript.Echo vbCRLF & "Creating collection of updates to download:"
Set updatesToDownload = CreateObject("Microsoft.Update.UpdateColl")
For I = 0 to searchResult.Updates.Count-1
Set update = searchResult.Updates.Item(I)
addThisUpdate = false
If update.InstallationBehavior.CanRequestUserInput = true Then
WScript.Echo I + 1 & "> skipping: " & update.Title & _
" because it requires user input"
Else
If update.EulaAccepted = false Then
WScript.Echo I + 1 & "> note: " & update.Title & _
" has a license agreement that must be accepted:"
WScript.Echo update.EulaText
WScript.Echo "Do you accept this license agreement? (Y/N)"
strInput = WScript.StdIn.Readline
WScript.Echo
If (strInput = "Y" or strInput = "y") Then
update.AcceptEula()
addThisUpdate = true
Else
WScript.Echo I + 1 & "> skipping: " & update.Title & _
" because the license agreement was declined"
End If
Else
addThisUpdate = true
End If
End If
If addThisUpdate = true Then
WScript.Echo I + 1 & "> adding: " & update.Title
updatesToDownload.Add(update)
End If
Next
If updatesToDownload.Count = 0 Then
WScript.Echo "All applicable updates were skipped."
WScript.Quit
End If
WScript.Echo vbCRLF & "Downloading updates..."
Set downloader = updateSession.CreateUpdateDownloader()
downloader.Updates = updatesToDownload
downloader.Download()
Set updatesToInstall = CreateObject("Microsoft.Update.UpdateColl")
rebootMayBeRequired = false
WScript.Echo vbCRLF & "Successfully downloaded updates:"
For I = 0 To searchResult.Updates.Count-1
set update = searchResult.Updates.Item(I)
If update.IsDownloaded = true Then
WScript.Echo I + 1 & "> " & update.Title
updatesToInstall.Add(update)
If update.InstallationBehavior.RebootBehavior > 0 Then
rebootMayBeRequired = true
End If
End If
Next
If updatesToInstall.Count = 0 Then
WScript.Echo "No updates were successfully downloaded."
WScript.Quit
End If
If rebootMayBeRequired = true Then
WScript.Echo vbCRLF & "These updates may require a reboot."
End If
WScript.Echo vbCRLF & "Would you like to install updates now? (Y/N)"
strInput = WScript.StdIn.Readline
WScript.Echo
If (strInput = "Y" or strInput = "y") Then
WScript.Echo "Installing updates..."
Set installer = updateSession.CreateUpdateInstaller()
installer.Updates = updatesToInstall
Set installationResult = installer.Install()
'Output results of install
WScript.Echo "Installation Result: " & _
installationResult.ResultCode
WScript.Echo "Reboot Required: " & _
installationResult.RebootRequired & vbCRLF
WScript.Echo "Listing of updates installed " & _
"and individual installation results:"
For I = 0 to updatesToInstall.Count - 1
WScript.Echo I + 1 & "> " & _
updatesToInstall.Item(i).Title & _
": " & installationResult.GetUpdateResult(i).ResultCode
Next
End If
Ja, hab den Teil rausgenommen mit dem IPS-Dienst. Weil das nur funktioniert, wenn die Rechte stimmen…
Aber dann für alle nochmal meine lange Version, wo vorher der IPS Dienst beendet wird, dazu hat er 60 Sekunden Zeit, wenn der Dienst bis dahin nicht beendet ist, dann wird er zwangsweise beendet und dann der Computer/Server neugestartet.
@echo off
REM IPS-Dienst wird beendet
net stop IPSServer
echo ###########################################
echo 60 Sekunden warten
@CHOICE /T 60 > NUL /D J
echo ###########################################
echo IPS Dienst hart beenden, falls noch nicht beendet
for /f "tokens=1,2,3,4 delims=/ " %%a in ('sc queryex IPSServer ^|FIND "PID"') do set PID=%%c
taskkill /f /pid %PID%
echo ###########################################
echo Computer wird neugestartet
shutdown -r -f -t 10
echo ###########################################
exit
nachdem sich meine COM Ports immer wieder verabschieden und nur durch einen Neustart wieder richtig funzen, hab ich nach einem PC Neustart Skript gesucht.
Die Neustart .bat funktioniert auf dem Rechner. Leider will die IPS_Execute nicht das machen was sie soll.