Micha81 10 Geschrieben 29. Januar 2020 Melden Teilen Geschrieben 29. Januar 2020 Hallo, wir setzen zur Software und Updateverteilung Kaspersky SC11 ein. Leider musste ich feststellen, das hierüber keine Windows 10 Funktionsupdates installiert werden können (1903/1909 etc.) Nun habe ich mir die Windows 10 ISO Datei heruntergeladen und in einem Share entpackt. Über ein Batchdatei kann ich die Verknüpfung der Setup.exe auch mit gewissen Parametern ohne Probleme starten (/quiet /auto upgrade...) und die Installation wird im Hintergrund durchgeführt. Ich würde nun gerne in die Batch noch eine Windows Versionsabfrage einbauen, so das die Batch Datei bei der Version 10.0.18363 beendet wird und das Setup nicht ausgeführt wird. Über folgenden Befehl bekomme ich die Version angezeigt, leider weiß ich nicht wie ich diesen so einbauen kann, das meine gewünschte Funktion damit realisiert wird. wmic os get version Ich bedanke mich jetzt schon mal und hoffe das mir jemand helfen kann. Gruß Zitieren Link zu diesem Kommentar
MurdocX 949 Geschrieben 29. Januar 2020 Melden Teilen Geschrieben 29. Januar 2020 vor 2 Stunden schrieb Micha81: Ich würde nun gerne in die Batch noch eine Windows Versionsabfrage einbauen, so das die Batch Datei bei der Version 10.0.18363 beendet wird und das Setup nicht ausgeführt wird. Mit einer Batch kann ich Dir nicht weiterhelfen. Viel einfacher geht das mit der Powershell. Füllen musst du die Variablen noch. Das Skript frägt die Betriebssystemversion ab und wenn die Version kleiner als 1909 ist, dann wird der Upgrade-Prozess durchgeführt. [string]$SetupPath = 'Hier kommt der UNC-Pfad zu der Setup-Datei herein' [string]$SetupArgs = 'Hier kommen die Argumente /upgrade etc. herein' [int]$CurrentOsVersion = (Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\" -Name ReleaseID -ErrorAction SilentlyContinue).ReleaseId if ($CurrentOsVersion -lt 1909) { # Start Upgrade Start-Process -FilePath $SetupPath -ArgumentList $SetupArgs -Verb RunAs -Wait } Zitieren Link zu diesem Kommentar
daabm 1.354 Geschrieben 29. Januar 2020 Melden Teilen Geschrieben 29. Januar 2020 Jan... ver | find "18363" > nul && goto :EOF Zitieren Link zu diesem Kommentar
MurdocX 949 Geschrieben 30. Januar 2020 Melden Teilen Geschrieben 30. Januar 2020 oh.. Doch nur so wenig Text.. An die Kürze komme ich in der PS nicht ran. Jetzt hat er die Qual der Wahl Zitieren Link zu diesem Kommentar
Micha81 10 Geschrieben 30. Januar 2020 Autor Melden Teilen Geschrieben 30. Januar 2020 Guten Morgen. Vielen Dank euch beiden für die schnelle Antwort. Das ver | find..... funktioniert. Das es so einfach ist, hätte ich nicht gedacht. Gruß Michael Zitieren Link zu diesem Kommentar
NilsK 2.934 Geschrieben 30. Januar 2020 Melden Teilen Geschrieben 30. Januar 2020 Moin, man behalte dabei im Auge, dass diese Fassung nur exakt den einen String prüft. Das ist hier die Aufgabe, dann ist das okay. Das wird aber scheitern (oder zumindest viel umständlicher werden), wenn sich die Aufgabe ändert. Spätestens dann sind die Mittel der PowerShell deutlich überlegen. Dabei allerdings sollte man auch aufpassen: Der Weg, das über die Registry auszulesen, hat auch so seine Tücken. Da kommt dann ein String raus ... da können numerische Vergleiche fehlschlagen. Und es ist auch nicht gesagt, dass der Registrywert dauerhaft das ausgibt, was man davon erwartet. Gerade bei Windows-Versionsnummern hat Microsoft da schon eine ganze Menge an Permutationen durch. [Windows und der Fluch der Versionsnummer | faq-o-matic.net]https://www.faq-o-matic.net/2015/05/18/windows-und-der-fluch-der-versionsnummer/ Zu dem Thema aufschlussreich ist ein Blick auf ein verwandtes Thema: In Hyper-V gibt es eine Schnittstelle, um die Version der Integrationsdienste einer VM auszulesen (per (Get-VM <Name>).IntegrationServicesVersion) ). Seit Windows 2016 gibt diese aber immer 0.0 zurück, und eine neue Methode gibt es schlicht nicht. Gruß, Nils Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.