Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Office SP mit Batch auslesen und in .txt schreiben

Frage Entwicklung Batch & Shell

Mitglied: L4SCHI

L4SCHI (Level 1) - Jetzt verbinden

28.03.2011, aktualisiert 11:32 Uhr, 5634 Aufrufe, 15 Kommentare

Ich möchte wissen, ob und welches ServicePack für Office 2003 auf den Clients installiert ist.

Guten morgen,

wie im Vorwort schon beschrieben, möchte ich gerne das ServicePack von Office über ein Batch auslesen.
Leider konnte ich im Netz nur Skripts zur Office-Version finden.

Es handelt sich um XP-Pro-Clients.

Gibt es eine Möglichkeit das auszulesen? Wenn ja, wie muss die bat aussehen?

DANKE schonmal
Mitglied: Skyemugen
28.03.2011 um 11:51 Uhr
Aloha,

nun wie bei der Office-Version (HKLM_Software_Microsoft_Office_XX.0) lässt sich auch per registry die SP-Version auslesen, allerdings(!) nur indirekt über die ProductVersion (Office_XX.0_Common_ProductVersion) der letzte Block ist die Build-Version, die sich zwar je nach SP unterscheidet aber auch innerhalb des SP je nach Update unterscheiden kann.

Du müsstest also die Build-Versionen der SP-Versionen recherchieren, dann per batch (denke mal zum Punkt 1 hast du schon was gefunden, bisschen umbasteln geht schnell) die ausgelesene Version mit den vorgegebenen vergleichen, um die Aussage zu bekommen, welches SP installiert ist.

greetz André
Bitte warten ..
Mitglied: L4SCHI
28.03.2011 um 15:49 Uhr
Hallo André,

vielen lieben Dank für die schnelle Hilfe. >>>> Funktioniert prima.

Lösung:
net use U: \\DATEIAUSGABE
set RegKey=HKLM\SOFTWARE\Microsoft\Office\11.0\Common\ProductVersion
Reg query %RegKey% /v lastproduct|FIND /I "11.0.8173">NUL
IF NOT ERRORLEVEL 1 (echo %computername% hat Office2003 installiert > U:\%computername%.txt)
for /f "tokens=3" %%i in ('reg query HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\11.0\Common\ProductVersion\ /v LastProduct') do set "ver=%%i"
IF "%ver%"=="11.0.8173.0" (echo auf %computername% ist das ServicePack 3 installiert!!! >> U:\SP3.txt) else (echo %computername%--------SP3 ist nicht installiert--------%computername% >> u:\SP3.txt)
net use u: /delete /yes


Die Buildnr. für die jeweiligen Updates findet man auf:
Bitte warten ..
Mitglied: 60730
28.03.2011 um 23:53 Uhr
moin,

dein Problem ist zwar gelöst - ich würde dir aber trotzdem ein zwei Ansätze mitgeben wollen

  • Ansatz 1:

echo auf %computername% ist das ServicePack 3 installiert!!! >> U:\SP3.txt
Auch wenn es dir "jetzt" noch eindeutig logisch erscheint, dass es sich um das Office 11 Sp3 handelt - irgendwann ist es das nicht mehr.
else (echo %computername%--------SP3 ist nicht installiert--------%computername% >> u:\SP3.txt
Ist (in meinen Augen) auch suboptimal
else (echo %computername%--------SP3 ist nicht installiert--------%computername%>> u:\NO_Office_11_SP3.txt
Gäbe es - nachdem alle Rechner dieses Script abgearbeitet haben keine Datei NO_Office_11_SP3.txt - wüsstest du - alle im Boot.
"So" mußt du die allinclusive Datei mühsam abflücken.


  • Ansatz 2:
Wsus

  • Ansatz 3:
Scriptschnippsel zwischen codeblöcke werden speziell im Batch for Hell Bereich sehr gerne gesehen.

Gruß
Bitte warten ..
Mitglied: L4SCHI
29.03.2011 um 08:23 Uhr
Guten morgen,

Ansatz 1:
danke für die Tipps werds gleich mal in diesem Skript umsetzen.

Ansatz 2:
Wsus will man sich bei uns nicht leisten

Ansatz 3:
Wie meinst du denn das genau?

Gruß
L4SCHI
Bitte warten ..
Mitglied: Skyemugen
29.03.2011 um 08:41 Uhr
Zitat von L4SCHI:
Guten morgen,
Aloha
Ansatz 3:
Wie meinst du denn das genau?
Wie üblich per Codeformatierung
01.
net use U: \\DATEIAUSGABE 
02.
set RegKey=HKLM\SOFTWARE\Microsoft\Office\11.0\Common\ProductVersion 
03.
Reg query %RegKey% /v lastproduct|FIND /I "11.0.8173">NUL 
04.
IF NOT ERRORLEVEL 1 (echo %computername% hat Office2003 installiert > U:\%computername%.txt) 
05.
for /f "tokens=3" %%i in ('reg query HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\11.0\Common\ProductVersion\ /v LastProduct') do set "ver=%%i" 
06.
IF "%ver%"=="11.0.8173.0" (echo auf %computername% ist das ServicePack 3 installiert!!! >> U:\SP3.txt) else (echo %computername%--------SP3 ist nicht installiert--------%computername% >> u:\SP3.txt) 
07.
net use u: /delete /yes
greetz André
Bitte warten ..
Mitglied: Biber
29.03.2011 um 09:14 Uhr
Moin L4SCHI,

ich fange auch gerade an, mich ein bisschen mit dem Thema Batch auseinanderzusetzen.
Magst du mir mal kurz die Notwendigkeit bzw. den sittlichen Mehrwert der zweiten "REG QUERY"-Abfrage erklären?
So insbesondere im Vergleich zur ersten..
Da blick ich's noch nicht so ganz...

Grüße
Biber
Bitte warten ..
Mitglied: L4SCHI
29.03.2011 um 10:28 Uhr
Guten morgen Biber,

in der Zeile 3 checke ich eigentlich nur, ob überhaupt Office 2003 installiert ist.
Ich brauche das, um bei Clients mit fehlendem Office 2003, dieses nachzuinstallieren.
Die zweite Abfrage in Zeile 5 benötige ich um das Ergebnis aufzuteilen. Sprich den String nach dem dritten Leerzeichen zu verwenden.

Wenn du die RegQuery-Abfrage in die Kommandozeile schreibst bekommst du ein Ergebnis, welches mehr Informationen enthält als nur die Versionsnummer.
Das muss eben etwas gefiltert werden.

Ich hoffe es ist halbwegs verständlich.

Gruß L4SCHI
Bitte warten ..
Mitglied: L4SCHI
29.03.2011 um 10:57 Uhr
Ah Okay,

DANKE werd mich dran halten.

Gruß
L4SCHI
Bitte warten ..
Mitglied: Biber
29.03.2011 um 11:19 Uhr
Moin L4SCHI,

ich formuliere es mal um...

Das hier ist deine Variante mit zwei REG QUERY-Abfragen..
01.
net use U: \\DATEIAUSGABE 
02.
set RegKey=HKLM\SOFTWARE\Microsoft\Office\11.0\Common\ProductVersion 
03.
Reg query %RegKey% /v lastproduct|FIND /I "11.0.8173">NUL 
04.
IF NOT ERRORLEVEL 1 (echo %computername% hat Office2003 installiert > U:\%computername%.txt) 
05.
for /f "tokens=3" %%i in ('reg query HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\11.0\Common\ProductVersion\ /v LastProduct') do set "ver=%%i" 
06.
IF "%ver%"=="11.0.8173.0" (echo auf %computername% ist das ServicePack 3 installiert!!! >> U:\SP3.txt) else (echo %computername%--------SP3 ist nicht installiert--------%computername% >> u:\SP3.txt) 
07.
net use u: /delete /yes

Was unterscheidet diese vom Ergebnis her von einer Variante mit einer REG QUERY-Abfrage wie dieser...???
01.
net use U: \\DATEIAUSGABE 
02.
 
03.
set "RegKey=HKLM\SOFTWARE\Microsoft\Office\11.0\Common\ProductVersion" 
04.
set "VersID=11.0.8173.0" && REM VersionsID von SP3 
05.
Reg query %RegKey% /v lastproduct|FIND /I "%VersID%">NUL 
06.
IF NOT ERRORLEVEL 1 ( 
07.
    echo %computername% hat Office2003 installiert > U:\%computername%.txt) 
08.
    echo auf %computername% ist das ServicePack 3 installiert!!! >> U:\SP3.txt 
09.
 ) else ( 
10.
   echo %computername%--------SP3 ist nicht installiert--------%computername% >> u:\SP3.txt 
11.
12.
net use u: /delete /yes
Grüße
Biber
Bitte warten ..
Mitglied: L4SCHI
29.03.2011 um 11:29 Uhr
Wenn ich das richtig interpretiere, dann wird in Zeile 5 - 8, ausgegeben, dass sobald
Office 2003 installiert ist auch das ServicePack 3 vorhanden ist.

Wenn der Client-PC nun aber nur SP2 installiert hat kommt man auch in die Zeilen 7 und 8.


Korrigiere mich bitte wenn ich fals liege.
Danke

Gruß
L4SCHI
Bitte warten ..
Mitglied: 60730
29.03.2011 um 12:23 Uhr
moin ihr zwei hybschen

@Biber so genau hab ich mir das gestern gar nicht angesehen - denn auf meinem Apfel will ich batch und dieses regquery Windowszeugs garnicht
(außerdem war der Pistazieneishakenmann ja auch schon da)

Obwohl ich - in der Firma - ja gerne mit reg gedöhnsfallerie und Hoppssassa werkel - ist mir das ungetestet in dem Zusammenhang so auch suspekt.

Ich hab sowas nämlich schonmal gebaut und dann erlebt, dass der d00feliche Office importkonverter sich in der Registry auch als Office ausgibt.
ACHTUNG - das ist für den genauen Fall ungetestetes Halbwissen! - ich vermute im speziellen fall wäre ein
if exist "%programfiles%\pfad\msaccess.exe"
sinniger - auch hier ich hab hier windowsfreie Zone und da bin ich stolz drauf

Und das SP würde ich evtl. auch über die reste / das Logfile vom installer auslesen - existiert die LogDatei und steht da success drin.

Gruß

edit:
Wsus will man sich bei uns nicht leisten
ich gebs offen und ehrlich zu - meine Wsusse laufen auf irgendwelchen Servern in den Standorten auf jeweils Billich ungesicherten und ungespiegelten WD Black SATA 2 TB Platten
Der frisst so kein Brot und einen Mirror brauchts da nicht - Platte im Orkus - Wsus runter - neue Platte rein Wsus wieder drauf - im Startupscript ein wuauclt /reportnow reingedrückt und in 1 Woche ist alles wieder komplett da
Bitte warten ..
Mitglied: Biber
29.03.2011 um 12:57 Uhr
Moin L4SCHI,

Ich bin der Meinung, dass in beiden REQ QUERY-Abfragen inhaltlich identisch abgefragt wird und es sich daher nicht im ersten Fall auf "Office 2003 installiert UND SP3 installiert" und im zweiten Fall auf irgendetwas anderes handelt könnte.

Deine Variante schritt-by-schritt am CMD-Prompt:
>set RegKey=HKLM\SOFTWARE\Microsoft\Office\11.0\Common\ProductVersion 
 
>reg query %regkey% 
 
! REG.EXE VERSION 3.0 
 
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\11.0\Common\ProductVersion 
    LastProduct REG_SZ  11.0.8173.0 
 
>reg query "%regkey%" /v LastProduct|find "11.0.8173.0" 
    LastProduct REG_SZ  11.0.8173.0 
#### bis hier war es die erste REG QUERY 
 
### ab hier die zweite wie im Schnipsel OHNE Variable %regkey%" 
>reg query HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\11.0\Common\ProductVersion\ /v LastProduct 
 
! REG.EXE VERSION 3.0 
 
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\11.0\Common\ProductVersion\ 
    LastProduct REG_SZ  11.0.8173.0
Grüße
Biber
Bitte warten ..
Mitglied: L4SCHI
29.03.2011 um 13:58 Uhr
Stimmt jetzt sehe ich es auch.

Muss mir angwöhnen vernünftig zu schreiben.

Bin in ziemlicher Anfangsphase mit der ganzen Batchgeschichte. Deswegen war ich primär erstmal froh, dass es gelaufen ist.
Nun hab ich auch neben *was gelernt* auch wieder was zum Verbessern.

Danke

Ich werde die erste Abfrage herausnehmen und mich mal näher mit dem Vorschlag von TimoBeil befassen.

DANKE FÜR DIE GEDULD
Bitte warten ..
Mitglied: Skyemugen
29.03.2011 um 14:14 Uhr
Aloha,

Anmerkung: Office\11.0\ = Office2003, wäre etwas anderes installiert, würde 11.0 nicht gefunden werden (sondern 10.0 oder 12.0 oder was weiß der Geier)

greetz André
Bitte warten ..
Mitglied: L4SCHI
29.03.2011 um 14:18 Uhr
Hi,

das könnte man natürlich auch noch bewerkstelligen. Die Arbeit werd ich mir nicht mehr damit antun.
Bei uns ist nur Office2003 im Umlauf

Für mich ist nur wichtig herauszufiltern, wo überhaupt kein Office03 installiert ist.

Aber auch hier wieder danke für die Anmerkung

Gruß
L4SCHI
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Windows Systemdateien
gelöst Registry-Schlüssel per Batch auslesen und in Datei schreiben (9)

Frage von Philzip zum Thema Windows Systemdateien ...

Batch & Shell
gelöst Mittels Batch alle .txt Dateien eines Verzeichnises ändern (10)

Frage von mttspeedy zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

Microsoft
Ordner mit LW-Buchstaben versehen und benennen (19)

Frage von Xaero1982 zum Thema Microsoft ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Windows Server
Server 2008R2 startet nicht mehr (Bad Patch 0xa) (18)

Frage von Haures zum Thema Windows Server ...