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, 2195 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 zum Auslesen einer .txt Datei in Variablen

Frage von DanielG80Batch & Shell2 Kommentare

Hallo, habe das Forum durchforstet und leider nichts passendes gefunden! Ich habe eine Txt datei vorliegen mit folgendem Inhalt: ...

Neue Wissensbeiträge
Ausbildung

Linux-Ausstieg in Niedersachsen - Windows statt Bugfix

Information von StefanKittel vor 6 StundenAusbildung8 Kommentare

Sind ja nur Steuergelder

Speicherkarten

Neuer Speicherkartentyp - zunächst nur für Huawei-Smartphones (künftig auch für Notebooks u. Tablets?)

Tipp von VGem-e vor 2 TagenSpeicherkarten2 Kommentare

Servus, als ob das "Chaos" i.S. Speicherkarten noch nicht groß genug wäre?! Evtl. kommt dieser neue Kartentyp bald auch ...

Sicherheit

Diverse D-Link-Router durch drei Schwachstellen kompromittierbar

Information von kgborn vor 2 TagenSicherheit

Hat jemand D-Link-Router in Verwendung? Einige Modelle sind sicherheitstechnisch offen wie ein Scheunentor. Äußerst unschöne Sache, aber nichts neues ...

Hardware

100.000 Mikrotik-Router ungefragt von Hacker abgesichert

Information von 7Gizmo7 vor 2 TagenHardware3 Kommentare

Hallo zusammen, da hier ja öfters mal von Mikrotik gesprochen wird. Trotz Updates klafft eine Sicherheitslücke in Hundertausenden Mikrotik-Routern. ...

Heiß diskutierte Inhalte
Off Topic
SysAdmin im öffentlichen Dienst - jemand Erfahrungen?
Frage von JohnDorianOff Topic22 Kommentare

Hallo zusammen, hat jemand Erfahrung wie es so ist als SysAdmin im öffentlichen Dienst (Landkreis) im Südwesten der Republik ...

SAN, NAS, DAS
Nas mit USB und LAN gleichzeitig zugreifen
gelöst Frage von MarkBeakerSAN, NAS, DAS16 Kommentare

Hallo zusammen, ich suche eine Art NAS, womit ich via LAN und USB zugreifen kann. Folgender Aufbau ist gedacht: ...

TK-Netze & Geräte
Low budget TK-Anlage für KMU
Frage von HeinklugTK-Netze & Geräte16 Kommentare

Hallo Admins, ich bin auf der Suche nach eine kostengünstigen Telefonanlage für mein kleines Büro mit 4-5 Mitarbeitern. Dabei ...

Vmware
Offene LDAP-Server in AS
gelöst Frage von obi-wan-kenobiVmware14 Kommentare

Hallo alle Miteinander, ich habe ein Problem, unsere VM-Ware Appliance (Version. 6.5.0.10000) ist scheinbar angreifbar. Wir haben eben die ...