WinFuture-Forum.de: Update Script (For Schleife CMD) - WinFuture-Forum.de

Zum Inhalt wechseln

Alle Informationen zum Thema Windows 7 in unserem Special. Windows 7 Download, FAQ und neue Funktionen im Überblick.
Seite 1 von 1

Update Script (For Schleife CMD)


#1 Mitglied ist offline   beli3ver 

  • Gruppe: Mitglieder
  • Beiträge: 9
  • Beigetreten: 26. Oktober 16
  • Reputation: 1
  • Geschlecht:Männlich

geschrieben 26. Oktober 2016 - 08:07

Servus,

ich habe einige Windows 7 Rechner die ich installieren muss, und das Problem sie sind in keiner Domäne und WSUS ist auch keine Option, daher habe ich mir ein Script gebastelt um die alle zu updaten:

@echo off
cd /D %~dp0

NET SESSION >nul 2>&1
IF %ERRORLEVEL% EQU 0 (
goto start
)
ELSE (ECHO Mit Adminirechten starten!
goto end)


echo Möchten Sie die Win7 Updates installieren?(y/n)
set INPUT=
set /P INPUT=Type input: %=%
If /I "%INPUT%"=="y" goto win7
If /I "%INPUT%"=="n" goto nowin7

:win7

for %%A in ("Win7Updates\exe\*") do %%~fA /quiet /norestart
for %%A in ("Win7Updates\msu\*") do wusa.exe %%~fA /quiet /norestart
goto nowin7

:nowin7
echo ######################################################
echo ######################################################
echo #####		Internet Explorer 11	      #####
echo ######################################################
echo ######################################################

echo Möchten Sie den IE11 installieren?(y/n)
set INPUT=
set /P INPUT=Type input: %=%
If /I "%INPUT%"=="y" goto yesie
If /I "%INPUT%"=="n" goto noie

:yesie
Software\IE11\ie11.exe /passiv /quiet
goto noie



Wie man sieht:

for %%A in ("Win7Updates\exe\*") do %%~fA /quiet /norestart
for %%A in ("Win7Updates\msu\*") do wusa.exe %%~fA /quiet /norestart



Nutze ich zwei for Schleifen um alle Updates in den jeweiligen Ordner zu installieren. Das sind aber über 290 Stück, daher wollte ich einen Counter einbauen, der dem Admin zeigt wie viele er schon geschafft hat. Leider bekomme ich das nicht wirklich hin.
Zusätzlich will ich gerne einen Eintrag in eine Textdatei machen, ob das Update installiert wurde oder nicht, wenn nicht warum nicht.
Ist das möglich?

Danke
0

Anzeige



#2 Mitglied ist offline   RalphS 

  • Gruppe: VIP Mitglieder
  • Beiträge: 8.895
  • Beigetreten: 20. Juli 07
  • Reputation: 1.126
  • Geschlecht:Männlich
  • Wohnort:Zuhause
  • Interessen:Ja

geschrieben 26. Oktober 2016 - 08:20

Wenn Du schreibst, WSUS sei keine Option:

- Meinst Du den WSUS-Serverdienst?
- Oder meinst Du das WSUSoffline-Updatescript?

Denn das WSUSofflinescript wäre für Dich eigentlich genau das richtige. Der kümmert sich auch um Abhängigkeiten zwischen den Updates. Das müßtest Du dann nur noch in eine Freigabe packen und von da ausführen (in client\cmd gibts eine DoUpdate.cmd, die kann man mit Parametern ausführen. Dazu einfach dort reinschauen.)

- Ansonsten bist Du mit exe und msu recht schlecht beraten. Du bräuchtest non-Express-Updates; die liegen üblicherweise als cab und als msu vor. MSU-Dateien kann man auspacken; da steckt dann jeweils eine(1) cab-Datei drin, außer einer WSUSSCN.cab (die brauchst Du nicht).

- Den ganzen Ramsch in einen Ordner und dann mit DISM /Image:<pfad zur windowsinstallation> oder /Online (falls das betroffene Windows grad läuft) und dann /Add-Package /PackagePath:<pfad zu den Updates>. Den Rest macht er selber, hintereinander weg.

-- Caveat, auch hier wird sich nicht um Abhängigkeiten gekümmert. Wenn ein Paket, welches von einem anderen erfordert wird, noch nicht installiert ist, dann schlägt die Installation für dieses Paket fehl --- auch dann, wenn die bewußte Paketabhängigkeit als cab-Datei im selben Ordner vorhanden war.

-- IE erfordert besonderes Handling. Die Exe kann man auch auspacken (sind so 60MB, die vollständige EXE-Datei). Da drin gibt es mehrere .cab-Dateien und eine pkgorder.txt. Die anschauen und dann die Pakete in der dort drin angegebenen Reihenfolge installieren, sonst funktioniert es nicht. Außerdem müssen alle Abhängigkeiten installiert sein. Wenn Du die kennst, gut. Wenn nicht, die IE-Installation ganz ans Ende verschieben. Zum IE gibts auch monatlich ein kumulatives Update. Dann reicht es, wenn Du nur dieses eine Update zusätzlich installierst (spart auch Zeit).


TLDR? WSUSoffline verwenden. Das ist der einfachste und schnellste Weg und ist vor allem auch scriptfähig.

Dieser Beitrag wurde von RalphS bearbeitet: 26. Oktober 2016 - 08:22

"If you give a man a fish he is hungry again in an hour. If you teach him to catch a fish you do him a good turn."-- Anne Isabella Thackeray Ritchie

Eingefügtes Bild
Eingefügtes Bild
0

#3 Mitglied ist offline   beli3ver 

  • Gruppe: Mitglieder
  • Beiträge: 9
  • Beigetreten: 26. Oktober 16
  • Reputation: 1
  • Geschlecht:Männlich

geschrieben 26. Oktober 2016 - 08:23

Danke. Dann werde ich mir das mal anschauen.
0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0