Powershell Skript – Updates installieren
Abschnitt 1: config values
# --------------------------------------------------------------------------- # config values # --------------------------------------------------------------------------- param( [Parameter(Mandatory=$true, Position=0, ParameterSetName="DeskUpdate Path", ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true, HelpMessage="Path to location of Ducmd.exe")] [Alias("PSPath")] [ValidateNotNullOrEmpty()] [string[]] $DeskUpdate )
Hier wird definiert welche Parameter das Skript von außen erwartet. DeskUpdate ist als Parameter anzugeben. Dieser muss auf die Ducmd.exe zeigen. Im ersten Abschnitt wird nur überprüft, ob ihr diesen angebt und dieser nicht leer ist.
Abschnitt 2: Prüfen ob Ducmd.exe vorhanden ist
# check for Deskupdate if (! (Test-Path $DeskUpdate) ) { Write-Error "Deskupdate not found" exit 9001 }
Sollte Ducmd.exe nicht vorhanden sein oder kein Zugriff darauf möglich sein, so wird eine Fehlermeldung ausgegeben und der Rückgabewert 9001.
Abschnitt 3: Updates installieren
else { # run Ducmd with parameters $content = (cmd /c $DeskUpdate' /INSTALL /WEB /X') exit $LASTEXITCODE }
Die Installation wird gestartet und innerhalb der Variable $content gespeichert. Diese kann später auch weiter ausgewertet werden. Diese enthält die Information über den Download und die Installation. Der Inhalt könnte zum Beispiel wie folgt aussehen:
Beispiel $content
ducmd 5.00.8.0
Copyright (c) 2017 Fujitsu Technology Solutions
DeskUpdate command line applicationComputer Product Identification:
Product . . . . : ESPRIMO P420
Board . . . . . : D3230-A1
Operating system: W7 (AMD64)
Marketing name : ESPRIMO P420Creating a system restore point
Package 0/6 downloaded
Package 1/6 downloaded
Package 2/6 downloaded
Package 3/6 downloaded
Package 4/6 downloaded
Package 5/6 downloaded
Package 6/6 downloaded
Package 1/6 installed
Package 2/6 installed
Package 3/6 installed
Package 4/6 installed
Package 5/6 installed
Installation finishedDeskUpdate requires a reboot to activate changes!!!
Der Rückgabewert wird direkt durchgereicht. Eine genauere Auswertung wäre möglich, in den meisten Fällen reicht aber der Rückgabewert.
Auf der nächsten Seite werden wir uns die Rückgabewerte von Ducmd anschauen.