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

Frage Microsoft Outlook & Mail

Psts auslesen und in .txt-datei speichern

Mitglied: adler123

adler123 (Level 1) - Jetzt verbinden

02.10.2013, aktualisiert 15:08 Uhr, 2172 Aufrufe, 2 Kommentare

hi

ich hab gerade ein brett vor meinem kopf und bitte daher inständigst um eure hilfe!


es gibt eine .bat-datei, die u.a. eine .vbs-datei aufruft und deren ergebnisse wiederum in eine .txt-datei speichern soll - zur grundlegenden erklärung.

das ist die .bat-datei:
(namentlich "Drucker-Netz-Psts_auslesen.bat")
01.
net use >C:\pstPfade\netz.txt 
02.
reg query "HKCU\Software\Microsoft\Windows NT\CurrentVersion\Devices" >> C:\drucker.txt 
03.
\\server1\cscript \\server1\software$\pstPfade.vbs >C:\PST-Export.txt
das wäre die .vbs-datei:
(namentlich die 3 zeilen drüber angeführte pstPfade.vbs)
01.
Option Explicit  
02.
  
03.
ChkScriptHost()  
04.
  
05.
Dim ws, fso  
06.
Dim arrProfilesG(), NumProfiles, DefaultProfile, i  
07.
  
08.
Set ws = WScript.CreateObject("WScript.Shell")  
09.
Set fso = WScript.CreateObject("Scripting.FileSystemObject")  
10.
DetectPST()  
11.
ChkNumProfiles()  
12.
For i = 0 To NumProfiles - 1  
13.
    ChkNumFolders(i)  
14.
Next  
15.
DispLine "Quiting Script..."  
16.
Set fso = Nothing  
17.
Set ws = Nothing  
18.
  
19.
Sub ChkScriptHost()  
20.
    If InStr( Lcase(WScript.FullName), "wscript.exe") Then  
21.
        Dim ws  
22.
        Set ws = WScript.CreateObject("WScript.Shell")  
23.
        ws.Run("%ComSpec% /k cscript.exe //nologo """ & WScript.ScriptFullName & """")  
24.
        Set ws = Nothing  
25.
        WScript.Quit  
26.
    End If  
27.
End Sub  
28.
  
29.
  
30.
Sub DetectPST()  
31.
    Dim KeyPath, strComputer, FoldersKeyPath, objWMIReg, arrProfiles, i, j, k, l, NumProfiles, PSTFound  
32.
    Dim strValue, KeyValue, NumFolders, KeyName, PSTKeyName, PSTPath, PSTVersion, arrFolders(), FolderName, NumPST  
33.
    Const HKEY_CURRENT_USER = &H80000001  
34.
    strComputer = "."  
35.
    KeyPath = "Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles\"  
36.
      
37.
    On Error Resume Next  
38.
    DefaultProfile = ws.RegRead("HKCU\" & KeyPath & "DefaultProfile")  
39.
    Set objWMIReg = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\default:StdRegProv")  
40.
    objWMIReg.EnumKey HKEY_CURRENT_USER, KeyPath, arrProfiles  
41.
    On Error GoTo 0  
42.
    NumProfiles = UBound(arrProfiles) + 1  
43.
    ReDim Preserve arrProfilesG(NumProfiles - 1, 2)  
44.
    For i = LBound(arrProfiles) To UBound(arrProfiles)  
45.
        FoldersKeyPath = "HKCU\" & KeyPath & arrProfiles(i) & "\9207f3e0a3b11019908b08002b2a56c2\01023d00"  
46.
        On Error Resume Next  
47.
        strValue = ws.RegRead(FoldersKeyPath)  
48.
        If Err = 0 Then  
49.
            For j = LBound(strValue) To UBound(strValue)  
50.
                If strValue(j) < 16 Then  
51.
                    KeyValue = KeyValue & "0" & LCase(CStr(Hex(strValue(j))))  
52.
                Else  
53.
                    KeyValue = KeyValue & LCase(CStr(Hex(strValue(j))))  
54.
                End If  
55.
            Next  
56.
            NumFolders = (Len(KeyValue) / 32)  
57.
        End If  
58.
        On Error GoTo 0  
59.
        arrProfilesG(i, 0) = arrProfiles(i)  
60.
        NumPST = 0  
61.
        PSTFound = False  
62.
        For k = 1 To NumFolders  
63.
            FolderName = ""  
64.
            PSTPath = ""  
65.
            PSTVersion = ""  
66.
            KeyName = Mid(KeyValue, ((k - 1) * 32) + 1, 32)  
67.
            PSTKeyName = "HKCU\" & KeyPath & arrProfiles(i) & "\"& KeyName & "\001f6700"  
68.
            On Error Resume Next  
69.
            strValue = ws.RegRead(PSTKeyName)  
70.
            If Err = 0 Then  
71.
                For l = LBound(strValue) To UBound(strValue)  
72.
                    If strValue(l) <> 0 Then PSTPath = PSTPath & Chr(strValue(l))  
73.
                Next  
74.
                FolderName = ws.RegRead("HKCU\" & KeyPath & arrProfiles(i) & "\" & KeyName & "\001e3001")  
75.
                If Err = 0 Then  
76.
                    PSTVersion = "97-2002"  
77.
                    PSTFound = True  
78.
                    NumPST = NumPST + 1  
79.
                    ReDim Preserve arrFolders(2, NumPST - 1)  
80.
                    arrFolders(0, NumPST - 1) = FolderName  
81.
                    arrFolders(1, NumPST - 1) = PSTPath  
82.
                    arrFolders(2, NumPST - 1) = PSTVersion  
83.
                Else  
84.
                    strValue = ws.RegRead("HKCU\" & KeyPath & arrProfiles(i) & "\" & KeyName & "\001f3001")  
85.
                    For l = LBound(strValue) To UBound(strValue)  
86.
                        If strValue(l) <> 0 Then FolderName = FolderName & Chr(strValue(l))  
87.
                    Next  
88.
                    PSTVersion = "2003"  
89.
                    PSTFound = True  
90.
                    NumPST = NumPST + 1  
91.
                    ReDim Preserve arrFolders(2, NumPST - 1)  
92.
                    arrFolders(0, NumPST - 1) = FolderName  
93.
                    arrFolders(1, NumPST - 1) = PSTPath  
94.
                    arrFolders(2, NumPST - 1) = PSTVersion  
95.
                End If  
96.
            End If  
97.
            On Error GoTo 0  
98.
        Next  
99.
        arrProfilesG(i, 1) = PSTFound  
100.
        arrProfilesG(i, 2) = arrFolders  
101.
    Next  
102.
    Set objWMIReg = Nothing      
103.
End Sub  
104.
  
105.
Sub DispLine(Text)  
106.
    WScript.StdOut.WriteLine Text      
107.
End Sub  
108.
  
109.
Sub DispMsg(Text, Num, Keyword1, Keyword2)  
110.
    Select Case Num  
111.
        Case 0, 1  
112.
            DispLine Replace(Text, "&k", Keyword1)  
113.
        Case Else  
114.
            DispLine Replace(Text, "&k", Keyword2)  
115.
    End Select  
116.
End Sub  
117.
  
118.
Sub ChkNumProfiles()  
119.
    NumProfiles = UBound(arrProfilesG, 1) + 1  
120.
    DispMsg "Found " & NumProfiles & " &k for this user.", NumProfiles, "profile", "profiles"  
121.
    DispLine "Default Profile: " & DefaultProfile  
122.
End Sub  
123.
  
124.
Sub ChkNumFolders(i)  
125.
    Dim NumFolders, TotalNumFolders, j  
126.
    DispLine ""  
127.
    DispLine "Checking Profile: " & arrProfilesG(i,0)& " ..."  
128.
    If arrProfilesG(i, 1) = True Then  
129.
        TotalNumFolders = UBound(arrProfilesG(i, 2), 2) + 1  
130.
        For j = 0 To TotalNumFolders - 1  
131.
            If arrProfilesG(i, 2)(2, j) = "97-2002" Then  
132.
                NumFolders = NumFolders + 1  
133.
            End If  
134.
        Next  
135.
        DispMsg vbTab & "Found totally " & TotalNumFolders & " personal &k under profile " & arrProfilesG(i, 0) & ".", NumFolders, "folder", "folders"  
136.
        DispLine ""  
137.
        DispPSTInfo(arrProfilesG(i, 2))  
138.
        If NumFolders > 0 Then  
139.
            DispMsg vbTab & "Found " & NumFolders & " &k old version.", NumFolders, "is", "are"  
140.
        Else  
141.
            DispLine vbTab & "No old version personal folder found."  
142.
        End If  
143.
    Else  
144.
        DispLine vbTab & "No persional folder found."  
145.
    End If  
146.
End Sub  
147.
  
148.
Sub DispPSTInfo(arrFolders)  
149.
    Dim i  
150.
    For i = LBound(arrFolders, 2) To UBound(arrFolders, 2)   
151.
        DispLine vbTab & "Folder Name: " & arrFolders(0, i)  
152.
        DispLine vbTab & "Path: " & arrFolders(1, i)  
153.
        DispLine vbTab & "Format: " & arrFolders(2, i)  
154.
        DispLine vbTab & "Size: " & FormatNumber(fso.GetFile(arrFolders(1, i)).Size,0,,-1) & " Bytes"  
155.
        DispLine ""  
156.
    Next  
157.
End Sub

wie gesagt - kopf gegen schreibtisch und so. die "netz.txt" und "drucker.txt" funktionieren 1a, aber das mit den psts funktioniert bis dato nur, wenn man die .vbs-datei "standalone" ausführt. ich bekomm die variablen nicht in die text-datei.

*finger aufzeig* hilfe.... bitte.... danke!

lg


[Edit Biber] Codeformatierung [/Edit]
Mitglied: emeriks
02.10.2013 um 14:50 Uhr
Hallo adler123,
mal abgesehen davon, dass Du bei DER Formatierung nicht wirklich viel Antworten erwarten kannst ...

Warum schreibst Du aus der VBS nicht gleich in eine Datei? Also statt "WScript.StdOut" gleich "fso.OpenTextFile", als "append"?

Emeriks
Bitte warten ..
Mitglied: MartinBinder
02.10.2013 um 15:04 Uhr
01.
\\server1\cscript \\server1\software$\pstPfade.vbs >C:\PST-Export.txt
Was ist denn \\server1\cscript für ein Aufruf???
Bitte warten ..
Ähnliche Inhalte
Outlook & Mail
PST-Datei auf Server speichern
gelöst Frage von SarekHLOutlook & Mail55 Kommentare

Hallo zusammen, wie greift Outlook auf eine PST-Datei zu, sequentiell oder wahlfrei? Ein Kunde möchte seine PST-Datei gerne auf ...

Batch & Shell
Einzelne Zeilen in txt Datei speichern und auslesen
gelöst Frage von noah1400Batch & Shell7 Kommentare

Liebe Forum-Mitglieder Ich habe da so eine Frage: Ich bin gerade dabei ein PW abfrage mit Batch zu machen. ...

Batch & Shell
Datum in Datei speichern und wieder auslesen
gelöst Frage von AndroxinBatch & Shell3 Kommentare

Moinsen, ich spiele gerade ein wenig mit der Powershell und Zeitstempeln rum: Zeitstempel mit Get-Date erstellen, als String in ...

Batch & Shell
(BATCH:) Zeilenweise Txt auslesen und in eine Variable speichern
gelöst Frage von NincedBatch & Shell20 Kommentare

Hallo Leute, Ich weiß, es ist ein alter Hut, aber ich habe da ein paar Fragen bezüglich der for-Schleife ...

Neue Wissensbeiträge
Linux

Meltdown und Spectre: Linux Update

Information von Frank vor 1 TagLinux

Meltdown (Variante 3 des Prozessorfehlers) Der Kernel 4.14.13 mit den Page-Table-Isolation-Code (PTI) ist nun für Fedora freigegeben worden. Er ...

Tipps & Tricks

Solutio Charly Updater Fehlermeldung: Das Abgleichen der Dateien in -Pfad- mit dem Datenobject ist fehlgeschlagen

Tipp von StefanKittel vor 2 TagenTipps & Tricks

Hallo, hier einmal als Tipp für alle unter Euch die mit der Zahnarztabrechnungssoftware Charly von Solutio zu tun haben. ...

Sicherheit

Meltdown und Spectre: Wir brauchen eine "Abwrackprämie", die die CPU-Hersteller bezahlen

Information von Frank vor 2 TagenSicherheit12 Kommentare

Zum aktuellen Thema Meltdown und Spectre: Ich wünsche mir von den CPU-Herstellern wie Intel, AMD oder ARM eine Art ...

Sicherheit

Meltdown und Spectre: Realitätscheck

Information von Frank vor 2 TagenSicherheit10 Kommentare

Die unangenehme Realität Der Prozessorfehler mit seinen Varianten Meltdown und Spectre ist seit Juni 2017 bekannt. Trotzdem sind immer ...

Heiß diskutierte Inhalte
Batch & Shell
Meltdown Microsoft Prüf Script - .zip Datei leider leer
gelöst Frage von MasterBlaster88Batch & Shell13 Kommentare

Hallo zusammen, ich patche gerade unsere Windows Server bzgl. der Meltdown Lücke. Patch vorhanden, Reg Keys gesetzt Um das ...

Batch & Shell
Shell-Skript - Syntax error: Unterminated quoted string
Frage von newit1Batch & Shell13 Kommentare

Hallo Ich schreibe ein Skript das eine CSV-Datei in eine mySQL Datenbank schieben soll. Bekomme nach start des Skrips ...

E-Mail
Erfahrungen mit hMailServer gesucht
Frage von it-fraggleE-Mail10 Kommentare

Hallo, meine neue Stelle möchte einen eigenen Mailserver. Ich als Linuxkind war direkt geistig mit Postfix dabei. Leider wollen ...

Entwicklung
VBS: alle PDF-Dateien in einem Ordner gleichzeitig öffnen
gelöst Frage von JuweeeEntwicklung9 Kommentare

Hallo, ich habe in deiner Ordnerstruktur (.\Tagesberichte\xx.18\) mehrere dynamische PDF-Formulare (mit LCD erstellt). Die Berichtsformulare sind im Layout alle ...