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

Psts auslesen und in .txt-datei speichern

Mitglied: adler123

adler123 (Level 1) - Jetzt verbinden

02.10.2013, aktualisiert 15:08 Uhr, 2208 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 ...

Outlook & Mail
Outlook 2007: pst-Datei defekt?
Frage von MohrSysOutlook & Mail3 Kommentare

Hallo, ich habe ein großes Problem und hoffe ihr könnt mir helfen? Ich habe ein Notebook mit Windows7 Home ...

Microsoft Office

PST Datei laut Outlook keine Pst datei und kann nicht mit pstscan.exe gescannt werden

Frage von Dietschi1909Microsoft Office1 Kommentar

Hallo ich bin neu hier und das ist warscheinlich meine letzte Rettung, Ich habe in der Arbeit ein Surface ...

Batch & Shell

Merkwürdige Zeilenformatierung in txt Datei

gelöst Frage von miczarBatch & Shell3 Kommentare

Hallo zusammen, ich arbeite mit .cxv Dateien. Das ist nichts anderes wie .txt Dateien nur mit Programmspezifischer Endung. Pro ...

Neue Wissensbeiträge
Internet

EU Urheberrechtsreform: Eingriff in die Internetkultur

Information von Frank vor 1 StundeInternet

Liebe Besucherin, lieber Besucher, warum erscheint das obere Banner in allen Beiträgen? Aus Protest gegen Teile der geplanten EU-Urheberrechtsreform ...

Windows Server
Windows Backup - FilterManager Event 3
Tipp von NixVerstehen vor 22 StundenWindows Server

Hallo zusammen, ich bin kein gelernter ITler und auch beruflich nicht in dem Feld tätig. Wir setzen in unserem ...

Windows 10

Windows 10 - Programme laufen schneller, wenn Sie mit Administratorrechten ausgeführt werden

Erfahrungsbericht von 1Werner1 vor 2 TagenWindows 1013 Kommentare

Moin, das wollte ich erst nicht glauben, aber es ist so. Wenn Ihr ein Programm mit Administratorrechten unter Windows ...

Sicherheits-Tools
Putty hat heftige Bugs korrigiert!
Information von Lochkartenstanzer vor 3 TagenSicherheits-Tools8 Kommentare

Moin, Wie man aus herauslesen kann, sind in den Versionen vor 0.71 gravierende Bugs, die es angeraten erscheinen lassen, ...

Heiß diskutierte Inhalte
Hardware
Telefonanlagen - Welche gibt es
Frage von Xaero1982Hardware38 Kommentare

Nabend Zusammen, ich suche eine neue TK Anlage und mein Auftraggeber will jetzt was völlig neues - State of ...

Server-Hardware
Kompatibilität Tray für HP Proliant DL385 G10 vs. G8, G9
Frage von chris123Server-Hardware19 Kommentare

Hallo, weiß einer der hier anwesenden, ob die Trays für 2,5 " HDDs zwischen einem DL 385 G10 und ...

Outlook & Mail
Office 365 mit Email-Profil installieren
gelöst Frage von 139221Outlook & Mail18 Kommentare

Hallo, kurz zu meiner Person: Vor ungefahr 10 Jahren habe ich eine Umschuldung zum Fachinformatiker für Systemintegration gemacht aber ...

LAN, WAN, Wireless
Intel(R) PRO Wireless 3945ABG
gelöst Frage von Leon509LAN, WAN, Wireless15 Kommentare

Hallo, habe ein Laptop Fujitsu (Intel, 4GB, 2GHz, Windos10, Intel(R) PRO/Wireless 3945ABG ) ein O2 DSL Anschluss Home50. Leider ...