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, 2183 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
Windows 7

Windows 7 - Server 2008 R2: Exploit für Total Meltdown verfügbar

Information von kgborn vor 21 StundenWindows 7

Kleine Information für Administratoren, die für die Updates von Windows 7 SP1 und Windows Server 2008 R2 SP1 verantwortlich ...

Sicherheit

Zero Day-Schwachstelle im Internet Explorer - wird von APT bereits ausgenutzt

Information von kgborn vor 1 TagSicherheit

Im Kernel des Internet Explorer scheint es eine Zero Day-Lücke zu geben, die von staatlichen Akteuren (APT) im Rahmen ...

Microsoft
Folder Security Viewer-Lizenzen zu gewinnen
Information von kgborn vor 1 TagMicrosoft

Ich nehme das Thema mal in Absprache mit Frank hier auf, da es für den einen oder anderen Administrator ...

Hardware

Feueralarm killt Festplatten in Rechenzentrum - führt zu größerem Ausfall

Information von kgborn vor 1 TagHardware12 Kommentare

Noch ein kleiner Beitrag für Administratoren, die in Rechenzentren aktiv sind - so als Fingerzeig. Denn es gibt Szenarien, ...

Heiß diskutierte Inhalte
Linux
Linux Server oder Windows Server - lohnt eine Umstellung auf Linux und ebenso basierende SW bei einer langfristigen Planung?
Frage von motus5Linux27 Kommentare

Wir brauchen bei uns einen neuen Server. Dieser wird als Fileserver, Domäne Controller sowie Exchange Server verwendet. Wir versuchen ...

C und C++
Frage1 C Programmierung-Makefile Frage2 PHP-Programmierung HTTP-Fehler 404
Frage von KatalinaC und C++24 Kommentare

Hallo, ich habe 2 Fragen, die nichts miteinander zu tun haben aber mit denen ich mich gerade beschäftige: 1. ...

LAN, WAN, Wireless
Watchguard T15 VPN Einrichtung
gelöst Frage von thomasjayLAN, WAN, Wireless22 Kommentare

Hallo zusammen, wir möchten gerne über unsere Watchguard T15 einen VPN-Tunnel (Mobile VPN with IPSec) einrichten! Als Client nutzen ...

DSL, VDSL
ISP Wechsel auf Vodefone Koax, Gebäudeverkabelung nur per Cat 7
gelöst Frage von wusa88DSL, VDSL19 Kommentare

Hallo Zusammen, ich bin momentan bei Mnet als Glasfaser Kunde und möchte Preis/Leistungs-Technisch zu Kabel Deutschland / Vodafone wechseln. ...