Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

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

Software aufliste und deinstallieren

Frage Entwicklung Batch & Shell

Mitglied: mirgue

mirgue (Level 1) - Jetzt verbinden

11.03.2008, aktualisiert 17.03.2008, 5035 Aufrufe, 13 Kommentare

Guten Morgen,

ich möchte über folgendes Script die Software auflisten lassen:


@for /f %%i in ('reg query
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall') do
@(
for /f "tokens=3,* skip=2" %%a in ('reg query %%i /v
DisplayName ^2^>nul') do @(
for /f "tokens=3,* skip=2" %%c in ('reg query %%i /v
DisplayVersion ^2^>nul') do @( echo %%a %%b [%%c %%d] )))


Das klappt auch tadellos. Jetzt möchte ich noch eine Abfrage haben bzw. einfach die Möglichkeit irgendeine der Aufgelisteten Software zu deinstallieren.

Weiß jemand wie es gehst? Schön wäre auch noch die Ausgabe der Software in eine Excel Tabelle.

mfg
mirgue
Mitglied: Logan000
11.03.2008 um 08:44 Uhr
... einfach die Möglichkeit irgendeine der Aufgelisteten
Software zu deinstallieren.
Weiß jemand wie es gehst? Schön
2 Möglichkeiten zur Deinst.
1. Du nimmst psexec und startest damit die deinst. remote auf dem client.
2. Du startest die Deinst. in einen Startskript am client.

Keine Ahnung wie man per Batch daten in Excel packt. Ich würdes das mit VBS machen.
Bitte warten ..
Mitglied: mirgue
11.03.2008 um 08:56 Uhr
über startskript möchte ich es nicht laufen lassen.

hat jemand ne andere idee?
Bitte warten ..
Mitglied: miniversum
11.03.2008 um 11:10 Uhr
Ichhabs etwas anders angeordnet. Aber in Excel bekommst du es so:
01.
@echo off 
02.
set "excelfile=excel.csv" 
03.
echo Programm;Version>"%excelfile%" 
04.
for /f %%i in ('reg query HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall') do (  
05.
for /f "tokens=2* skip=2" %%a in ('reg query "%%i" /v DisplayName ^2^>nul') do (  
06.
for /f "tokens=2* skip=2" %%c in ('reg query "%%i" /v DisplayVersion ^2^>nul') do (  
07.
echo %%b [%%d]  
08.
echo %%b;%%d 1>>"%excelfile%"  
09.
10.
11.
)
zum Deinstallieren könntest du das dann z.B. so machen das du die Nummer des Programms angibst das deinstalliert werden soll (wenn alle fortlaufend durchnumemriert wären:
01.
set "skiped=" 
02.
set /p nr=Welche Software soll deinstalliert werden?: 
03.
if %nr% neq 1 set "skiped=skip^=%nr% " 
04.
set "rk=" 
05.
for /f "%skiped%tokens=1 delims= " %%i in ('reg query HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall') do if not defined rk set rk=%%i  
06.
for /f "tokens=2*" %%c in ('reg query "%rk%" /v UninstallString') do "%%d"
Bitte warten ..
Mitglied: mirgue
11.03.2008 um 11:27 Uhr
danke, das mit der csv hat geklappt aber wenn er mich fragt welche Software deinstalliert werden soll was soll ich da eingeben?

den name?
kann ich es über eine nummer steuern lassen? das quasi die aufgelistete Software aufsteigend nummeriert wird und ich dann z.B. die 20 eintippe und das dann die Software die an zwanzigster Stelle steht deinstalliert wird?

mfg
Bitte warten ..
Mitglied: miniversum
11.03.2008 um 12:02 Uhr
Ja über die Nummer wars auch gedacht.
Die Durchnummerierung muß halt noch eingefügt werden. Das wäre dann ungefär so:
01.
for /f %%i in ('reg query HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall') do ( 
02.
for /f "tokens=2* skip=2" %%a in ('reg query "%%i" /v DisplayName ^2^>nul') do echo %%b 1>>"%temp%\soft.txt" 
03.
04.
(findstr /N /B .* "%temp%\soft.txt")|more 
05.
del "%temp%\soft.txt"
Bitte warten ..
Mitglied: mirgue
11.03.2008 um 12:39 Uhr
muss das jetzt alles so aussehen?

@echo off
set "excelfile=ListInstSW.csv"
echo Programm;Version>"%excelfile%"
for /f %%i in ('reg query HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall') do (
for /f "tokens=2* skip=2" %%a in ('reg query "%%i" /v DisplayName ^2^>nul') do echo %%b 1>>"%temp%\soft.txt"
)
(findstr /N /B .* "%temp%\soft.txt")|more
del "%temp%\soft.txt" do (
for /f "tokens=2* skip=2" %%c in ('reg query "%%i" /v DisplayVersion ^2^>nul') do (
echo %%b [%%d]
echo %%b;%%d 1>>"%excelfile%"
)
)
)
set "skiped="
set /p nr=Welche Software soll deinstalliert werden?:
if %nr% neq 1 set "skiped=skip^=%nr% "
set "rk="
for /f "%skiped%tokens=1 delims= " %%i in ('reg query HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall') do if not defined rk set rk=%%i
for /f "tokens=2*" %%c in ('reg query "%rk%" /v UninstallString') do "%%d"
Bitte warten ..
Mitglied: miniversum
11.03.2008 um 13:16 Uhr
Nein. Ist irgentwie durcheinander. In einzelnen Blöcken siet das so aus:
01.
@echo off 
02.
 
03.
REM Exceldatei wird erstellt 
04.
set "excelfile=ListInstSW.csv" 
05.
echo Programm;Version>"%excelfile%" 
06.
for /f %%i in ('reg query HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall') do (  
07.
for /f "tokens=2* skip=2" %%a in ('reg query "%%i" /v DisplayName ^2^>nul') do (  
08.
for /f "tokens=2* skip=2" %%c in ('reg query "%%i" /v DisplayVersion ^2^>nul') do (  
09.
echo %%b [%%d]  
10.
echo %%b;%%d 1>>"%excelfile%"  
11.
12.
13.
14.
 
15.
 
16.
 
17.
REM Temponäre Liste für Deinstallation wird erstellt und angezeigt 
18.
for /f %%i in ('reg query HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall') do ( 
19.
for /f "tokens=2* skip=2" %%a in ('reg query "%%i" /v DisplayName ^2^>nul') do echo %%b 1>>"%temp%\soft.txt" 
20.
21.
(findstr /N /B .* "%temp%\soft.txt")|more 
22.
del "%temp%\soft.txt" 
23.
 
24.
REM Abfrage welche Software deinstalliert werden soll 
25.
set "skiped=" 
26.
set /p nr=Welche Software soll deinstalliert werden?: 
27.
if %nr% neq 1 set "skiped=skip^=%nr% " 
28.
set "rk=" 
29.
for /f "%skiped%tokens=1 delims= " %%i in ('reg query HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall') do if not defined rk set rk=%%i  
30.
for /f "tokens=2*" %%c in ('reg query "%rk%" /v UninstallString') do "%%d"
Oder etwas verkürze, aber nicht ganz so unterteilt:
01.
@echo off 
02.
 
03.
REM Exceldatei und Temponäre Liste für Deinstallation wird erstellt 
04.
set "excelfile=ListInstSW.csv" 
05.
echo Programm;Version>"%excelfile%" 
06.
for /f %%i in ('reg query HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall') do (  
07.
for /f "tokens=2* skip=2" %%a in ('reg query "%%i" /v DisplayName ^2^>nul') do (  
08.
for /f "tokens=2* skip=2" %%c in ('reg query "%%i" /v DisplayVersion ^2^>nul') do (  
09.
echo %%b [%%d]  
10.
echo %%b;%%d 1>>"%excelfile%"  
11.
echo %%b 1>>"%temp%\soft.txt" 
12.
13.
14.
15.
 
16.
REM Anzeige der Temponären Liste für die Deinstallation 
17.
(findstr /N /B .* "%temp%\soft.txt")|more 
18.
del "%temp%\soft.txt" 
19.
 
20.
REM Abfrage welche Software deinstalliert werden soll 
21.
set "skiped=" 
22.
set /p nr=Welche Software soll deinstalliert werden?: 
23.
if %nr% neq 1 set "skiped=skip^=%nr% " 
24.
set "rk=" 
25.
for /f "%skiped%tokens=1 delims= " %%i in ('reg query HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall') do if not defined rk set rk=%%i  
26.
for /f "tokens=2*" %%c in ('reg query "%rk%" /v UninstallString') do "%%d"
Bitte warten ..
Mitglied: mirgue
17.03.2008 um 08:15 Uhr
das deinstallieren klappt aber noch nicht!
Bitte warten ..
Mitglied: miniversum
17.03.2008 um 13:53 Uhr
Ändere mal die Letzte Zeile von:
for /f "tokens=2*" %%c in ('reg query "%rk%" /v UninstallString') do "%%d"
in folgende:
echo "%rk%" ausgewählt
for /f "tokens=2*" %%c in ('reg query "%rk%" /v UninstallString') do ECHO "%%d"
pause
und schau ob dir das richtige Programm zur Deinstallation angezeigt wird.

miniversum
Bitte warten ..
Mitglied: mirgue
17.03.2008 um 15:29 Uhr
klappt nicht.

Fehlermeldung: "skip^=117 tokens=1 delims="" ist syntaktisch an dieser Stelle nicht verarbeitbat "" ausgewöhlt

Fehler: Ungültiger Schlüsselname
Bitte warten ..
Mitglied: miniversum
17.03.2008 um 15:40 Uhr
Ah.. ok. war dan ein denkfehler von mir.
Ändere
if %nr% neq 1 set "skiped=skip^=%nr% "
in
set /a nr=%nr%-1
if %nr% gtr 0 set "skiped=skip=%nr% "
Bitte warten ..
Mitglied: mirgue
17.03.2008 um 15:51 Uhr
"HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall\KB911564 " ausgewählt

Fehler: Der angegebene Registrierungsschlüssel oder Wert konnte nicht gefunden werden.
Bitte warten ..
Mitglied: miniversum
17.03.2008 um 16:06 Uhr
Dann gibts für diese Software keinen "UninstallString" Eintrag
Bitte warten ..
Ähnliche Inhalte
Windows Server
gelöst Monatliche Quality Rollups deinstallieren (4)

Frage von gruener.puma zum Thema Windows Server ...

Microsoft Office
Office 365 deinstallieren (2)

Frage von jensgebken zum Thema Microsoft Office ...

Windows Server
SBS 2011 WSUS deinstallieren (33)

Frage von Moelle zum Thema Windows Server ...

Microsoft Office
Office 2013 lässt sich nicht deinstallieren (1)

Frage von achklein zum Thema Microsoft Office ...

Neue Wissensbeiträge
Microsoft Office

Text in Zahlen umwandeln

Tipp von logische zum Thema Microsoft Office ...

Erkennung und -Abwehr

Infineon TPMs unsicher! Bitlocker ggf. angreifbar

(4)

Information von Lochkartenstanzer zum Thema Erkennung und -Abwehr ...

Firewall

PfSense Repository für Version 2.3.x

(4)

Information von Dobby zum Thema Firewall ...

LAN, WAN, Wireless

WPA-2 hat erste Risse: KRACK

(8)

Information von the-buccaneer zum Thema LAN, WAN, Wireless ...

Heiß diskutierte Inhalte
Microsoft Office
ICH BIN AM ENDE MEINES IT-WISSENS ANGELANGT!!!! (38)

Frage von 134537 zum Thema Microsoft Office ...

Windows Server
gelöst Gruppenrichtlinie greift nicht zu! (23)

Frage von Syosse zum Thema Windows Server ...

Hosting & Housing
Mailserver Software Empfehlungen (21)

Frage von sunics zum Thema Hosting & Housing ...