Doppelte Bedingungen für eine Update Batch
Hallo Zusammen,
jetzt bastel ich schon schon ein paar Tage an einer Update Batch und Sie läuft auch wunderbar. Nun will ich diese Update-Batch via Task-planer einbinden und da viel mir ein, dass ja nur Server 2008 R2 dieses Update erhalten sollen und wenn die Update Datei einen höheres Datum hat als die lokale Datei. Also brauche ich vor der eigentlichen Update ein Prüfung. Meine Fähigkeiten reuchen aber dafür nicht aus! Das Ganze soll etwas so aussehen:
Das hier habe ich gefunden als VBS
Hat wer Lust das für mich zu bauen, Biber ?
[Edit Biber] Erstmal Codeformatierung.[/Edit]
jetzt bastel ich schon schon ein paar Tage an einer Update Batch und Sie läuft auch wunderbar. Nun will ich diese Update-Batch via Task-planer einbinden und da viel mir ein, dass ja nur Server 2008 R2 dieses Update erhalten sollen und wenn die Update Datei einen höheres Datum hat als die lokale Datei. Also brauche ich vor der eigentlichen Update ein Prüfung. Meine Fähigkeiten reuchen aber dafür nicht aus! Das Ganze soll etwas so aussehen:
@echo
if hat Datei "X:\RAP\BE-Dateien\Update.exe" einen neueres datum als "C:\Program Files\RAP\rap.mdb" und gleichzeitig prüfe ob OS ein Server 2008 R2 ist dann starte Update goto :U1
goto :ende
:U1
Hier startet dann das Update
:ende
exit
'v1.0********************************************************************
' File: GetOSVersion.vbs
' Autor: schuladmin
' verwendet: WMI
' Plattformen: Win98/WinNT/ -> Voraussetzung WMI installiert
' 2k/XP
' Indentifiziert das installierte Betriebssystem sowie die Versionsnummer
'************************************************************************
Titel=" GETOSVERSION"
Eingabe = InputBox("Geben Sie die IP oder den Namen des Rechners ein !",Titel)
If Eingabe="" then MsgBox" . . . dann halt nicht!",,WScript.ScriptName
If Eingabe="" then WScript.Quit
strComputer = Eingabe 'Name oder IP eingeben
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colOperatingSystems = objWMIService.ExecQuery _
("Select * from Win32_OperatingSystem")
For Each objOperatingSystem in colOperatingSystems
Wscript.Echo objOperatingSystem.Caption & " " & _
objOperatingSystem.Version
Next
[Edit Biber] Erstmal Codeformatierung.[/Edit]
Please also mark the comments that contributed to the solution of the article
Content-Key: 301826
Url: https://administrator.de/contentid/301826
Printed on: April 25, 2024 at 07:04 o'clock
2 Comments
Latest comment
Moin.
OS auf Server2008R2 prüfen:
Prüfen welche Datei von zweien neuer ist:
wobei das nicht den Fall der Gleichheit beider Dateien berücksichtigt.
oder du nimmst
Damit solltest du jetzt klar kommen
Gruß jodel32
OS auf Server2008R2 prüfen:
wmic os where (Version like "6.1%" and ProductType=2 or ProductType=3) get Version | findstr /b "6" >nul && echo OS is Server 2008R2 || echo OS passt nicht
Prüfen welche Datei von zweien neuer ist:
for /f "delims=" %%a in ('dir /B /O:D "C:\datei1.exe" "C:\datei2.exe"') do set "newest=%%a"
echo Neuestes File: %newest%
oder du nimmst
powershell -Executionpolicy ByPass -Command "if ((get-item 'C:\datei1.exe').LastWriteTime -gt (get-item 'C:\datei2.exe').LastWriteTime){"Datei1 ist aktueller als Datei2"}"
Gruß jodel32