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, 2197 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
Humor (lol)
Administrator.de Perlen
Tipp von DerWindowsFreak2 vor 2 TagenHumor (lol)3 Kommentare

Hallo, Heute beim stöbern auf dieser Seite bin auf folgenden Thread aus dem Jahre 2006 gestossen: Was meint ihr? ...

Erkennung und -Abwehr
OpenSSH-Backdoor Malware erkennen
Tipp von Frank vor 2 TagenErkennung und -Abwehr

Sicherheitsforscher von Eset haben 21 Malware-Familien untersucht. Die Malware soll Hintertüren via OpenSSH bereitstellen, so dass Angreifer Fernzugriff auf ...

iOS
WatchChat für Whatsapp
Tipp von Criemo vor 6 TageniOS5 Kommentare

Ziemlich coole App für WhatsApp User in Verbindung mit der Apple Watch. Gibts für iOS sowohl als auch für ...

iOS
IOS hat nen Cursor!
Tipp von Criemo vor 6 TageniOS5 Kommentare

Nette Funktion im iOS. iPhone-Mauszeiger aktivieren „Nichts ist nerviger, als bei einem Tippfehler zu versuchen, den iOS-Cursor an die ...

Heiß diskutierte Inhalte
Grafikkarten & Monitore
PCIe 1.0 Grafikkarte für 3840x2160
Frage von Windows10GegnerGrafikkarten & Monitore27 Kommentare

Hallo, mein Vater hat einen neuen Monitor gekauft, welcher eine native Auflösung von 3840*2160 hat. Diese muss jetzt auch ...

Festplatten, SSD, Raid
SSD zeigt falsche Werte
Frage von karl2014Festplatten, SSD, Raid25 Kommentare

Ich habe ein Problem mit der SSD in meinem Laptop mit Windows 10. Es ist eine 1Tb Platte die ...

Windows 10
Windows Enterprise 1809 Eval nicht bootbar
Frage von Sunny89Windows 1022 Kommentare

Hallo zusammen, bevor ich mich jetzt noch stundenlang rumärger wollte ich euch fragen, ob Ihr die gleichen Probleme habt ...

Windows Server
Dienstnamen und oder Deutsche und Englische Beschreibung in services.msc gleichzeitig anzeigen
gelöst Frage von vafk18Windows Server15 Kommentare

Guten Morgen, die Suche nach Diensten in services.msc gestaltet sich immer wieder schwierig, weil mir je nach Aufgabe die ...