Mit Kix heraus finden, wo outlook.pst liegt
Guten Abend,
ich probier gerade rum, wie ich Benutz unabhänig heraus finden kann, wo die outlook.pst bzw. archive.pst liegt. Hab schon gedacht, dass ich das irgendwie aus der Registry raus hole. Hab aber keinen Ansatz wie und was ich da alles denken muss.
Kann mir bitte jemand ungefähr sagen, wie ich das anstellen muss??
ich probier gerade rum, wie ich Benutz unabhänig heraus finden kann, wo die outlook.pst bzw. archive.pst liegt. Hab schon gedacht, dass ich das irgendwie aus der Registry raus hole. Hab aber keinen Ansatz wie und was ich da alles denken muss.
Kann mir bitte jemand ungefähr sagen, wie ich das anstellen muss??
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 23588
Url: https://administrator.de/contentid/23588
Ausgedruckt am: 22.11.2024 um 14:11 Uhr
26 Kommentare
Neuester Kommentar
Hallo Dani,
mit KIX kann ich dir nicht helfen, aber mit einem VBScript:
Finden von Office-Dateien mit Schreibschutz
Muss nur geringfügig angepasst werden, dann sucht es PSTs.
HTH
gemini
mit KIX kann ich dir nicht helfen, aber mit einem VBScript:
Finden von Office-Dateien mit Schreibschutz
Muss nur geringfügig angepasst werden, dann sucht es PSTs.
HTH
gemini
Hallo Dani,
mit KiX kann ich Dir nicht helfen, aber als Batch hatte ich schon mal einen Oneliner dafür gepostet.
Im Batch ist das wahlweise
- eine FOR /R..IN..DO-Anweisung mit Suche nach den *.pst-Dateien
- oder ein dir /b /s *.pst
mit anschließender Verarbeitung der gefundenen *.pst's.
Nachteil dieser Strategie: Es werden halt Laufwerke durchsucht. Wenn dann drei archive.pst's gefunden werden, hast Du keinen Anhaltspunkt, welches wohl die aktuelle von Benutzer XY ist. und ob die anderen auch Sicherungen dieses Benutzers sind oder gar anderen User gehören.
Wenn dieser Fall eintreten kann, solltest Du wirklich über das Auslesen des Benutzerprofils gehen. Das steht in der Registry. Die Pfade der *.pst-Dateien IMHO nicht.
Gruß Biber
mit KiX kann ich Dir nicht helfen, aber als Batch hatte ich schon mal einen Oneliner dafür gepostet.
Im Batch ist das wahlweise
- eine FOR /R..IN..DO-Anweisung mit Suche nach den *.pst-Dateien
- oder ein dir /b /s *.pst
mit anschließender Verarbeitung der gefundenen *.pst's.
Nachteil dieser Strategie: Es werden halt Laufwerke durchsucht. Wenn dann drei archive.pst's gefunden werden, hast Du keinen Anhaltspunkt, welches wohl die aktuelle von Benutzer XY ist. und ob die anderen auch Sicherungen dieses Benutzers sind oder gar anderen User gehören.
Wenn dieser Fall eintreten kann, solltest Du wirklich über das Auslesen des Benutzerprofils gehen. Das steht in der Registry. Die Pfade der *.pst-Dateien IMHO nicht.
Gruß Biber
Dann hast du jetzt drei Möglichkeiten, Dani:
A) Warten bis evtl. jemand ein KIX-Script postet und in der Zwischenzeit danach suchen.
Kann sehr schnell gehen aber durchaus auch ne Weile dauern
B) Selbst eins schreiben oder das VBS umschreiben. Ist in 30 Min. geschehen, den ganzen Schnickschnack mit der InputBox und Notepad kann man getrost weglassen.
C) Bibers Batch oder das VBS nehmen, wie's ist. Kommt aber anscheinend nicht in Frage.
KIX hat auch ein ziemlich gutes Manual http://www.kixtart.org/binary/kix2010.pdf
gemini
A) Warten bis evtl. jemand ein KIX-Script postet und in der Zwischenzeit danach suchen.
Kann sehr schnell gehen aber durchaus auch ne Weile dauern
B) Selbst eins schreiben oder das VBS umschreiben. Ist in 30 Min. geschehen, den ganzen Schnickschnack mit der InputBox und Notepad kann man getrost weglassen.
C) Bibers Batch oder das VBS nehmen, wie's ist. Kommt aber anscheinend nicht in Frage.
KIX hat auch ein ziemlich gutes Manual http://www.kixtart.org/binary/kix2010.pdf
gemini
@Dani
Ich hatte das schon verstanden, dass Du das in KiX realisieren willst.
Deshalb hatte ich oben bei der Batch-Variante nur die Strategie skizziert und keinen Beispiel-Batch gepostet.
Hast Du denn jetzt schon einen Plan, welche Strategie Du wählen willst/musst? Dazu sind ja schon ein paar Hinweise gekommen
- entweder die Platte(n) durchsuchen nach allem, was ..tja "archive.pst" oder "outlook.pst" oder doch "*.pst" heißt
- oder in der Registry den Speicherort der aktuellen User-Pst ermitteln (falls das geht)
- oder Outlook selbst fragen, wo denn der angemeldete User seine Pst's gespeichert hat...
Denn dieser Plan ist doch erstmal Voraussetzung für irgendwelche KiX-Zeilen-Details, oder mach ich einen Denkfehler?
Gruß aus dem sonnigen Bremen
Biber
Ich hatte das schon verstanden, dass Du das in KiX realisieren willst.
Deshalb hatte ich oben bei der Batch-Variante nur die Strategie skizziert und keinen Beispiel-Batch gepostet.
Hast Du denn jetzt schon einen Plan, welche Strategie Du wählen willst/musst? Dazu sind ja schon ein paar Hinweise gekommen
- entweder die Platte(n) durchsuchen nach allem, was ..tja "archive.pst" oder "outlook.pst" oder doch "*.pst" heißt
- oder in der Registry den Speicherort der aktuellen User-Pst ermitteln (falls das geht)
- oder Outlook selbst fragen, wo denn der angemeldete User seine Pst's gespeichert hat...
Denn dieser Plan ist doch erstmal Voraussetzung für irgendwelche KiX-Zeilen-Details, oder mach ich einen Denkfehler?
Gruß aus dem sonnigen Bremen
Biber
Hi DANI,
ich habe dir mal das Bsp. enumdir welches mit Kix (samples Ordner) mit ausgeliefert wird angepasst.
Damit klappt die Dateisuche.
Grüße Kai
; EnumDir.KIX
;
; Enumerates a directory
;
; Note : This code sample is provided for demonstration purposes only.
; Microsoft makes no warranty, either express or implied,
; as to its usability in any given situation.
;
; Copyright (C) 2001 Ruud van Velsen.
; All rights reserved.
;
BREAK ON
IF $Dir = 0
$Dir = "C:"
ENDIF
;
; first enumerate all directories
;
$File = Dir( $Dir + "\*.*" )
WHILE @16034 = 0 AND $File
IF $File <> "." AND
$File <> ".." AND
GetFileAttr( $Dir + "\" + $File ) & 16 ; is it a directory ?
DIM $SaveDir
$Savedir = $Dir
$Dir = $Dir + "\" + $File
CALL EnumDir
$Dir = $SaveDir
ELSE
if $File="Outlook.pst"
? $Dir + "\" + $File
else
endif
ENDIF
IF @16034 = 0
; try for next subkey
$File = Dir("")
ENDIF
LOOP
EXIT 0
ich habe dir mal das Bsp. enumdir welches mit Kix (samples Ordner) mit ausgeliefert wird angepasst.
Damit klappt die Dateisuche.
Grüße Kai
; EnumDir.KIX
;
; Enumerates a directory
;
; Note : This code sample is provided for demonstration purposes only.
; Microsoft makes no warranty, either express or implied,
; as to its usability in any given situation.
;
; Copyright (C) 2001 Ruud van Velsen.
; All rights reserved.
;
BREAK ON
IF $Dir = 0
$Dir = "C:"
ENDIF
;
; first enumerate all directories
;
$File = Dir( $Dir + "\*.*" )
WHILE @16034 = 0 AND $File
IF $File <> "." AND
$File <> ".." AND
GetFileAttr( $Dir + "\" + $File ) & 16 ; is it a directory ?
DIM $SaveDir
$Savedir = $Dir
$Dir = $Dir + "\" + $File
CALL EnumDir
$Dir = $SaveDir
ELSE
if $File="Outlook.pst"
? $Dir + "\" + $File
else
endif
ENDIF
IF @16034 = 0
; try for next subkey
$File = Dir("")
ENDIF
LOOP
EXIT 0
Hi,
auch wenn es gelöst ist eine andere Variante, die über die Registry geht.
Dabei wird davon ausgegangen, dass der Outlookschlüssel existiert.
Die Informationen (Pfad) werden, dann mit Rechnername und Usernamen in eine Logdatei geschrieben.
Gruß Miguel
auch wenn es gelöst ist eine andere Variante, die über die Registry geht.
Dabei wird davon ausgegangen, dass der Outlookschlüssel existiert.
Die Informationen (Pfad) werden, dann mit Rechnername und Usernamen in eine Logdatei geschrieben.
; Definieren wir mal den Logserver und Pfad
$logserver="\\ServerA\Freigabe"
$logdatei = "log-outlook.txt"
$logfile = $logserver + $logdatei
;Outlookpfad in der Registry
; Falls Exchange Server benutzt wird muss der Pfad Outlook ausgetauscht werden
$outlookpfad="HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles\Outlook\"
;Beginn der Schleife
$index = 0
do
;Alle unter Outlook vorhanden Schlüssel werden nummeriert
;einer davon enthält den Pfad zur pst Datei
;Schlüssel 001e6700 ist auf allen Machinen gleich.
$keyname = EnumKey ($outlookpfad,$index)
$Displayname = ReadValue($outlookpfad + $Keyname, "001e6700")
IF @error=0
Open (3,$logfile,5)
WriteLine (3,"Rechnername: @wksta ,User: @USERLANG, PST-Pfad:"+$displayname + @CRLF)
EndIf
$index=$index + 1
;Abbruchbedingung ist wenn Schlüssel existiert.
;Kann zu Problemen führen falls wirklich kein Schlüssel existiert (Endlosschleife)
;Deshalb bricht die Schleife nach 10 Einträgen (in der Regel ausreichend) ab.
Until @error=0 OR $index>10
Gruß Miguel
Hm, Dani,
eigentlich hat Miguel aber vollkommen recht.
Mach doch bitte mal am CMD-Prompt ein...
reg query "HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles" /s|find ".pst"
Er sollte Dir die beiden Standard-Schlüssel 0001e0324 (Archive.pst) und 001e6700 (lokale *.pst) liefern.
Beispiel:
001e0324 REG_SZ C:\Dokumente und Einstellungen\Biber\Lokale Einstellungen\Anwendungsdaten\Microsoft\Outlook\archive.pst
001e6700 REG_SZ D:\Biber\Pst\Mein PrivatOrdner.pst
Bist Du bis dahin noch konform mit unseren Ergebnissen?
Dann liegt das Problem im Sourcecode.
Gruß Biber
eigentlich hat Miguel aber vollkommen recht.
Mach doch bitte mal am CMD-Prompt ein...
reg query "HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles" /s|find ".pst"
Er sollte Dir die beiden Standard-Schlüssel 0001e0324 (Archive.pst) und 001e6700 (lokale *.pst) liefern.
Beispiel:
001e0324 REG_SZ C:\Dokumente und Einstellungen\Biber\Lokale Einstellungen\Anwendungsdaten\Microsoft\Outlook\archive.pst
001e6700 REG_SZ D:\Biber\Pst\Mein PrivatOrdner.pst
Bist Du bis dahin noch konform mit unseren Ergebnissen?
Dann liegt das Problem im Sourcecode.
Gruß Biber
Hi Dani,
sag mal -hat hier keiner gefragt-. Welche Office (Outlook version du benutzt) und auf welchem Betriebssystem inkl. Sprache.
Vielleicht gibt es da einige Diskrepanzen.
Der Sourcecode funktioniert für Office XP auf Win XP (Deutsch) ohne Probleme (wenigstens auf den Möhren die ich unter mir hab).
Unter NT muss ein anderer Schlüssel angepasst werden.
Wo liegt die Datei auf der Platte? Im Nutzerprofil .... ? Das könnte uns auch helfen.
[EDIT: Du hast das Problem schon unter Office gepostet.
Nun stellt sich mir die Frage, was bezwecks Du mit der Anfrage? Ist dir eine pst Datei abhanden gekommen? Willst Du von allen Nutzern im Netzwerk, die Informationen des Ablageortes haben? Wieso muss es genau mit KIX sein?
Erläutere mal deine Problemstellung genauer!]
Gruß Miguel
sag mal -hat hier keiner gefragt-. Welche Office (Outlook version du benutzt) und auf welchem Betriebssystem inkl. Sprache.
Vielleicht gibt es da einige Diskrepanzen.
Der Sourcecode funktioniert für Office XP auf Win XP (Deutsch) ohne Probleme (wenigstens auf den Möhren die ich unter mir hab).
Unter NT muss ein anderer Schlüssel angepasst werden.
Wo liegt die Datei auf der Platte? Im Nutzerprofil .... ? Das könnte uns auch helfen.
[EDIT: Du hast das Problem schon unter Office gepostet.
Nun stellt sich mir die Frage, was bezwecks Du mit der Anfrage? Ist dir eine pst Datei abhanden gekommen? Willst Du von allen Nutzern im Netzwerk, die Informationen des Ablageortes haben? Wieso muss es genau mit KIX sein?
Erläutere mal deine Problemstellung genauer!]
Gruß Miguel
hi
ich möchte noch anmerken, das es u.U nicht DIE PST gibt! In unserer Umgebung W2K , XP
bunt gemischt, gibt es User die haben bis zu 20 verschiedene PST zugeordnet, obwohl sie
im gecacheten Modus arbeiten. Und alle diese PST stehen nicht in der Registry!!!!!!!!
Somit ist es einfacher nach .Pst zu suchen.
cu
willi
ich möchte noch anmerken, das es u.U nicht DIE PST gibt! In unserer Umgebung W2K , XP
bunt gemischt, gibt es User die haben bis zu 20 verschiedene PST zugeordnet, obwohl sie
im gecacheten Modus arbeiten. Und alle diese PST stehen nicht in der Registry!!!!!!!!
Somit ist es einfacher nach .Pst zu suchen.
cu
willi
Hi,
ja es geht manchmal soweit, dass es outlook1.pst o.ä. heißt. In der Outlook.fav Datei (Liegt im Profil; u.u. auch als %username%.fav oder %Profilname%.fav) ist auch der Pfad zur outlook.pst enthalten, einfach mit dem Editor öffnen.
@Dani:
1. Dir steht jetzt etwas Sucharbeit bevor. Nimm dir einen Nutzer schau, dann im Outlook nach dem Pfad,wo die pst Datei lokalisiert sein soll und wie sie heißt.
2. Dann gehst Du in die Registry und suchst nach der PST.
3. Dann guckst Du in die Outlook.fav (im Profil) und suchst darin die pst Datei.
Dann sagt Du uns die Pfade im Netzwerk und u.u. die Schlüssel in der Registry sowie das was Du in der FAV Datei gefunden hast.
Gruß Miguel
ja es geht manchmal soweit, dass es outlook1.pst o.ä. heißt. In der Outlook.fav Datei (Liegt im Profil; u.u. auch als %username%.fav oder %Profilname%.fav) ist auch der Pfad zur outlook.pst enthalten, einfach mit dem Editor öffnen.
@Dani:
1. Dir steht jetzt etwas Sucharbeit bevor. Nimm dir einen Nutzer schau, dann im Outlook nach dem Pfad,wo die pst Datei lokalisiert sein soll und wie sie heißt.
2. Dann gehst Du in die Registry und suchst nach der PST.
3. Dann guckst Du in die Outlook.fav (im Profil) und suchst darin die pst Datei.
Dann sagt Du uns die Pfade im Netzwerk und u.u. die Schlüssel in der Registry sowie das was Du in der FAV Datei gefunden hast.
Gruß Miguel