Top-Themen

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

Daten per Batch auslesen und weiterverarbeiten

Frage Entwicklung Batch & Shell

Mitglied: Zendara

Zendara (Level 1) - Jetzt verbinden

10.06.2010, aktualisiert 13:48 Uhr, 6994 Aufrufe, 5 Kommentare

Hallo,

ich versuche gerade per Batch, auf mehreren Computer (Win2000, WinXP) den aktuellen Speicherort der Outlook.pst auszulesen. Der Speicherort der PST Dateien ist nicht immer, im dafür vorgesehenen Ordner gespeichert.
Mit Office 2007 funktioniert der Auslesevorgang ohne Probleme.
01.
reg query "HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Common\Open Find\Microsoft Office Outlook\Settings\Outlook-Datendatei erstellen oder öffnen\File Name MRU" /v Value >>"X:\Protokoll\pst_reg_%username%.txt"
aber bei den Rechnern mit Office XP ist der Reg Pfad immer an unterschiedlichen Orten gespeichert zb.:

"HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles\Outlook\8b9651257708ab4da0d8d43cd315ee4d
Der letzte Teil ändert sich immer (8b9651257708ab4da0d8d43cd315ee4d) und müsste als Variable ausgelesen und verarbeitet werden.


Um an diesen Eintrag zu kommen, verwende ich folgend Auszug.

01.
set regkey=HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Applets\Regedit 
02.
set keyname=LastKey 
03.
set regtemp=c:\reg_temp_Office_Pfad.txt 
04.
reg query "%regkey%" /v %keyname% >>%regtemp%
Der daraus entstandene Text:
__

! REG.EXE VERSION 3.0

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Applets\Regedit
LastKey REG_SZ Arbeitsplatz\HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles\Outlook\8b9651257708ab4da0d8d43cd315ee4d


Nun würde ich gerne nur den letzten Teil (8b9651257708ab4da0d8d43cd315ee4d) auslesen und als Variable weitergeben.

01.
reg query "HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles\Outlook\%HIER_REIN%" /v 001e6700 >>"X:\Protokoll\pst_reg_%username%.txt"
Ich glaub das hat irgendetwas mit dem for Befehl zutun, bin da leider zu keinem Sinnvollen Ergebnis gekommen.


Mit freundlichen Grüßen
Zendara
Mitglied: LotPings
10.06.2010 um 14:23 Uhr
Hallo Zendara,

so ganz kann ich nicht nachvollziehen warum du über den Lastkey von Regedit gehst, würde das denn auf anderen Computern funktionieren?

Was passiert denn wenn du per brute force alle Subschlüssel von "..Profiles\Outlook \.." mit :
reg query "HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles\Outlook" /s |findstr /I "001e6700"
nach dem Value "001e6700" durchsuchst?

Gruß
LotPings
Bitte warten ..
Mitglied: Zendara
10.06.2010 um 15:18 Uhr
Hallo LotPings danke für die Antwort.

Stimmt das mit LastKey hätte nicht funktioniert und ging nur die dem einem Rechner bis zum Neustart.

Der Vorschlag von dir funktioniert wunderbar!

01.
reg query "HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles\Outlook" /s |findstr /I "    001e6700" >>X:\test.txt
Das Ergebnis:
01.
    001e6700	REG_SZ	C:\Dokumente und Einstellungen\%USERNAME%\Lokale Einstellungen\Anwendungsdaten\Microsoft\Outlook\Outlook.pst
Ich hat zwar jetzt je nach PC Doppeleinräge mit unterschiedlichen Pfaden, aber dem Problem komme ich auch noch auf die Spur.

Herzlichen Danke für deine Hilfe
Zendara
Bitte warten ..
Mitglied: LotPings
10.06.2010 um 16:31 Uhr
Schön wenns klappt,

du brauchst eigentlich keine Temporären Dateien wenn du die gefundenen Werte sowieso weiterverarbeiten willst.

01.
Set "RegKey=HKCU\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles\Outlook" 
02.
For /f "tokens=1,2,*" %%A in ( 
03.
  'reg query "%RegKey%" /s ^|findstr /I "    001e6700" ' 
04.
) do ( 
05.
  Echo Pfad gefunden: %%C 
06.
  Rem mach hier was auch immer mit dem Pfad 
07.
)
Gruß
LotPings
Bitte warten ..
Mitglied: Biber
10.06.2010 um 18:19 Uhr
Moin Zendara und LotPings,

zwei kleine Anregungen hätte ich noch zu dem von LotPings geposteten Schnipsel.

1) Unter dem Registry-Zweig "HKCU\........Subsystem\Profiles" befinden sich zwar nicht unendlich viele Profile, aber oft mehr als eins.
Bei mir sind es z.B. 4 Profile -- aber eines von diesen ist hervorgehoben durch einen Aufkleber "defaultProfile", REG_SZ, direkt unterhalb von "HKCU..\Profiles"
Dort würde/wird sicherlich bei Zendara auch "Outlook" drinstehen (wenn kein/e Benutzer/in sein7ihr Defaultprofil geändert hat.)

Dennoch würde ich immer das "defaultProfil" suchen und nicht eines, das möglicherweise "Outlook" heißt...das ist wirklich nur ein frei wählbarer Name.


2) in den Daten, die unterhalb des Registry-Schlüssels "HKCU\...........\Profile\{defaultProfile} liebevoll zusammengeharkt sind befinden sich einige, die einfach zu lang für FindStr.exe sind. [ Zu lang bedeutet nicht meterlang, aber mehr als 100+x Zeichen, ich habe es nicht geprüft]
Das führt zu einem Fehler, der von FindStr.exe auf STDERR geschickt wird und folgende Ausgabe erzeugt:
01.
>e:\schnipsel\LotPinxGetPSTpaths.cmd 
02.
FINDSTR: Zeile 16 ist zu lang. 
03.
FINDSTR: Zeile 17 ist zu lang. 
04.
FINDSTR: Zeile 21 ist zu lang. 
05.
FINDSTR: Zeile 54 ist zu lang. 
06.
FINDSTR: Zeile 54 ist zu lang. 
07.
Pfad gefunden: D:\Biber\Pst\Pers÷nlicher AltOrdner.pst 
08.
Pfad gefunden: C:\Dokumente und Einstellungen\Biber\Outlook\archive.pst 
09.
Pfad gefunden: D:\Biber\Pst\BibersPrivat.pst
Den auf STDErr geschickten FindStr-Fehler fange ich in der unteren zweiten FOR-Anweisung ab [dieses "^2^>nul" ist gemeint],
die nun doppelt so lange batchdatei sähe dann so aus:

01.
@echo off & setLocal 
02.
Set "RegAllProfiles=HKCU\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles" 
03.
For /f "tokens=1,2,*" %%A in ( 
04.
  'reg query "%RegAllProfiles%" /v DefaultProfile ^| findstr /i "defaultProfile" ' 
05.
) do ( 
06.
  Echo DefaultProfile ist  %%C 
07.
  Rem mach hier was mit dem Profile... 
08.
  Set "RegDefaultProfile=%RegAllProfiles%\%%C" 
09.
10.
:: Rem Hier ggf  Fehlerbehandlung 
11.
If not defined RegDefaultProfile (echo Kein DefaultProfile gefunden) & goto :eof 
12.
For /f "tokens=1,2,*" %%A in ( 
13.
  'reg query "%RegDefaultProfile%" /s ^|findstr /I "    001e6700" ^2^>Nul' 
14.
) do ( 
15.
  Echo Pfad gefunden: %%C 
16.
  Rem mach hier was auch immer mit dem Pfad 
17.
)
Grüße
Biber
Bitte warten ..
Mitglied: LotPings
10.06.2010 um 19:34 Uhr
Hallo Biber,
das ist sicher die bessere Lösung, mein Tipp war ja auch mehr ein Schuß ins blaue
Eigentlich könnte man hier findstr durch find ersetzen, dann wirken die vorangestellten Leerzeichen auch, bei findstr hätten sie ohne /B keine Wirkung.

Gruß
LotPings
Bitte warten ..
Ähnliche Inhalte
Microsoft Office
EMail auslesen, verschieben und mit Excel ausgelesene Daten weiterverarbeiten
gelöst Frage von GundelputzMicrosoft Office37 Kommentare

Hallo da draussen, Ich habe mal wieder eine Problemstellung bei der ich eure Hilfe brauche. Ich habe, in Outlook ...

Batch & Shell
Dateiversion mit Bat6chdatei auslesen und weiterverarbeiten
Frage von knomusBatch & Shell1 Kommentar

Hallo, ich möchte mit einer Batchdatei die Version einer Exedatei auslesen. Das Ergebnis (Beispielsweise 3.5.4.0) möchte ich weiterverarbeiten. Wie ...

Batch & Shell
Wenn Prozess läuft kann Batch den Code nicht weiterverarbeiten?
gelöst Frage von spookypoofBatch & Shell11 Kommentare

Hallo, Ich hab ein Problem. Ich hab z.B. zwei verschiedene Menü's und im zweiten Menü starte ich eine Datei. ...

Batch & Shell
BATCH: Daten aus Textdatei auslesen und in neue Textdatei separieren
gelöst Frage von Manuel1234Batch & Shell9 Kommentare

Hallo zusammen! Ich bin neu hier und freue mich auf die Gesellschaft. In meiner Frage geht es um eine ...

Neue Wissensbeiträge
Windows 10

Autsch: Microsoft bündelt Windows 10 mit unsicherer Passwort-Manager-App

Tipp von kgborn vor 9 StundenWindows 101 Kommentar

Unter Microsofts Windows 10 haben Endbenutzer keine Kontrolle mehr, was Microsoft an Apps auf dem Betriebssystem installiert (die Windows ...

Sicherheits-Tools

Achtung: Sicherheitslücke im FortiClient VPN-Client

Tipp von kgborn vor 11 StundenSicherheits-Tools

Ich weiß nicht, wie häufig die NextGeneration Endpoint Protection-Lösung von Fortinet in deutschen Unternehmen eingesetzt wird. An dieser Stelle ...

Internet

USA: Die FCC schaff die Netzneutralität ab

Information von Frank vor 1 TagInternet3 Kommentare

Jetzt beschädigt US-Präsident Donald Trump auch noch das Internet. Der neu eingesetzte FCC-Chef Ajit Pai ist bekannter Gegner einer ...

DSL, VDSL

ALL-BM200VDSL2V - Neues VDSL-Modem mit Vectoring von Allnet

Information von Lochkartenstanzer vor 1 TagDSL, VDSL2 Kommentare

Moin, Falls jemand eine Alternative zu dem draytek sucht: Gruß lks

Heiß diskutierte Inhalte
TK-Netze & Geräte
VPN-fähige IP-Telefone
Frage von the-buccaneerTK-Netze & Geräte16 Kommentare

Hi! Weiss noch jemand ein VPN-fähiges IP-Telefon mit dem man z.B. einen Heimarbeitsplatz gesichert anbinden könnte? Habe nur einen ...

Windows Server
GPO nur für bestimmte Computer
Frage von Leo-leWindows Server12 Kommentare

Hallo Forum, gern würde ich ein Robocopy script per Bat an eine GPO hängen. Wichtig wäre aber dort der ...

Windows Server
KMS Facts for Client configuration
Frage von winlinWindows Server12 Kommentare

Hey Leute, wir haben in unserem Netz nun einen neuen KMS Server. Haben Bestands-VMs die noch nicht aktiviert sind. ...

Netzwerkgrundlagen
Laufwerkszuordnung mit zwei IPs
Frage von Alex29Netzwerkgrundlagen11 Kommentare

Hallo in die Runde, Ich als Hobbyadmin hätte mal wieder eine Frage an die Profis. Ich habe ein Netzwerk ...