dani
Goto Top

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??

Content-Key: 23588

Url: https://administrator.de/contentid/23588

Printed on: April 25, 2024 at 10:04 o'clock

Member: liebenburger
liebenburger Jan 14, 2006 at 19:34:04 (UTC)
Goto Top
Tschuldige, wenn ich jetzt etwas komisch klinge, aber was stört dich an der Dateisuche?

Gruß
Der Liebenburger
Member: Dani
Dani Jan 14, 2006 at 19:55:16 (UTC)
Goto Top
Ich weiß nicht, wie ich das mit Kix anstellen soll. Ich hab gedacht, ich hätte hier was mal gelesen. Find's aber nicht mehr!
Member: gemini
gemini Jan 14, 2006 at 23:02:49 (UTC)
Goto Top
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
Member: Biber
Biber Jan 15, 2006 at 02:31:19 (UTC)
Goto Top
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
Member: Dani
Dani Jan 15, 2006 at 09:40:58 (UTC)
Goto Top
Hätte das gerne aber mit KIX gelöst.
Member: wiri
wiri Jan 15, 2006 at 12:29:15 (UTC)
Goto Top
hi
du kannst in kix auch eine Schleife analog des vbs programmieren.
cu
willi
Member: Dani
Dani Jan 15, 2006 at 12:32:45 (UTC)
Goto Top
Ich könnte schwören, dass ich hier mal einen Beitrag gesehen habe. Dort war das mit Kix Funktionen gelöst.
Member: gemini
gemini Jan 15, 2006 at 12:48:04 (UTC)
Goto Top
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
Member: Dani
Dani Jan 15, 2006 at 12:55:36 (UTC)
Goto Top
Jo... des is mir schon klar. Ich such wie ein verrücker das ganze Forum durch, habs aber noch nicht gefunden. VB Scripting kann ich überhaupt nicht!! Ich werde wohl warten müssen. Ich stehe nicht so Batchjob Schleifen.
Member: Biber
Biber Jan 15, 2006 at 13:57:12 (UTC)
Goto Top
@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
Member: Dani
Dani Jan 15, 2006 at 14:01:22 (UTC)
Goto Top
Jo, genau. Aso, dann habe ich das falsch gesehen mit deiner Batch Zeile - Sorry!

Also am besten wäre es die Informationen aus der Registry auszulesen. Das dies Möglich ist habe ich ja schon mal in diesem Forum gesehen. *gg*

Siehst du richtig.
Member: CouchCoach
CouchCoach Mar 08, 2006 at 11:12:38 (UTC)
Goto Top
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
Member: Dani
Dani Mar 08, 2006 at 12:49:24 (UTC)
Goto Top
Hi,
vielen Dank..ich probiers morgen gleich mal aus...


Gruß
Dani
Member: gogoflash
gogoflash Mar 12, 2006 at 14:03:15 (UTC)
Goto Top
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.

; 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
Member: Dani
Dani Mar 12, 2006 at 19:56:22 (UTC)
Goto Top
Guten Abend,
vielen Dank. Aber ich habe hier kein Exchange amlaufen. Wie müsste dann der Pfad aussehen?!
Würde es gerne mit 5 Sternen bewerten, kann leider nicht mehr als 5. SORRY!!

Gruß
Dani
Member: gogoflash
gogoflash Mar 13, 2006 at 12:27:31 (UTC)
Goto Top
Hi,

dann musst Du nichts ändern. Ist für normales Outlook eingerichtet.

Gruß Miguel
Member: Dani
Dani Mar 13, 2006 at 13:43:50 (UTC)
Goto Top
hi,
der findet aber nichts!!!


Gruß
Dani
Member: gogoflash
gogoflash Mar 14, 2006 at 18:10:17 (UTC)
Goto Top
Hi,

schau erstmal , ob der Registryschlüssel so wie er im Skript gesucht werden soll existiert.Gegebenenfalls anpassen.

Falls ein anderer Nutzer eine pst Datei hat, wird diese natürlich nicht gefunden. Nur für den jeweiligen angemeldeten Nutzer.

Gruß Miguel
Member: Dani
Dani Mar 14, 2006 at 20:51:01 (UTC)
Goto Top
Abend,
habe den Schlüssel geändert!
Nun steht in meiner txt File sowas drinne:
Rechnername: W-HW-DANI ,User: 0407German, PST-Pfad:07000000550000003c000000180000009400000018000000ac00000018000000c400000018000000dc00000055000000f4000000180000004c0100000000000038a1bb1005e5101aa1bb08002b2a56c200006d737073742e646c6c00000000004e495441f9bfb80100aa0037d96e000000553a5c4e65747a7765726b5c4f75746c6f6f6b5c4f75746c6f6f6b2e7073740000000000000000bcc14f1bfe99db408ea2b190b1aaab2f0282000000000000bcc14f1bfe99db408ea2b190b1aaab2f8282000000000000bcc14f1bfe99db408ea2b190b1aaab2f4283000000000000bcc14f1bfe99db408ea2b190b1aaab2fe28300000000000038a1bb1005e5101aa1bb08002b2a56c200006d737073742e646c6c00000000004e495441f9bfb80100aa0037d96e000000553a5c4e65747a7765726b5c4f75746c6f6f6b5c617263686976652e7073740000000000000000514abe2036d8e74ebda0b2f62d1c13e1e2820000


Was soll ich damit anfangen?

GRuß
Dani
Member: Biber
Biber Mar 15, 2006 at 14:24:05 (UTC)
Goto Top
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
Member: gogoflash
gogoflash Mar 15, 2006 at 15:45:02 (UTC)
Goto Top
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
Member: Dani
Dani Mar 15, 2006 at 17:44:10 (UTC)
Goto Top
Hi,
also ich habe hier WindowsXP Professional + SP2. Als Office setzte ich 2003 Professional ein. Auch mit allen Updates. Die PST Files liegen auf den Netzlaufwerken.


Gruß
Dani
Member: wiri
wiri Mar 15, 2006 at 17:53:39 (UTC)
Goto Top
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
Member: gogoflash
gogoflash Mar 16, 2006 at 12:38:35 (UTC)
Goto Top
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
Member: Dani
Dani Mar 26, 2006 at 09:08:35 (UTC)
Goto Top
Hi,
ok....werd ich machen! Schon mal Danke an alle!

Gruß
Dani
Member: Dani
Dani Mar 26, 2006 at 09:33:23 (UTC)
Goto Top
Hi,
ich hab meinen User mal nach dem Dateityp durchsucht und nix gefunden!!
Ich versteh die Welt nich mehr.


Gruß
Dani