Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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
Kommentar vom Moderator Dani am 14.12.2011 um 20:35:23 Uhr
Du weißt, dass es Formatierungshilfen hier gibt?!

Cscript pstlocate.vbs Laufzeitfehler

Frage Entwicklung VB for Applications

Mitglied: Kangaroojack

Kangaroojack (Level 1) - Jetzt verbinden

14.12.2011, aktualisiert 18.10.2012, 3507 Aufrufe, 5 Kommentare

Hoffe ihr könnt mir weiterhelfen.

Hallo Leute,

ich hoffe ihr könnt mir auch diesmal weiterhelfen mit einem Skript.

Folgende Situation. Größeres Netzwerk (>1000User), auf den Clients liegen noch PST Dateien rum. Diese sollen von den Clients weg in den Exchange verschoben werden.

Im Netz habe ich ein vb Skript gefunden, welches die aktuell eingebundenen PST Dateien ausliest. Das skript gibt pfad, größe etc aus. Die Ausgabe filtere ich mit findstr.
Das Ergebnis (1-x Zeilen Text, je nachdem wieviele Dateien eingebunden sind) schreibe ich mir in eine Textdatei.
In dieser Textdatei kürze ich die ersten X Stellen , da nicht benötigt. ( Path: wird weggeschnitten).
Dann suche ich ob der Zeilenanfang C:\ oder W: oder ... enthält. C:\ wird dann entsprechend ersetzt durch \\%COMPUTERNAME%\C$\ .....andere werte eben durch was anderes..sodass man daraus einen copy job bauen kann.
das schreibe ich dan wieder in eine Datei. Habe fertig.

Unter windows 7 mit cscript version 5.8 hat das bisher tadellos funktioniert und ich war stolz wie oskar, weil ich mir das alles eher zusammengebastelt habe - bin nicht so der Programmierer.
Nun habe ich das heute an den Zielsystemen mit XP getestet, es geht nicht.

er steigt bereits beim ersten cscript mit der Meldung
pstlocate.vbs(42, 5) Laufzeitfehler in Microsoft VBScipt: Typen unverträglich: 'UBound'
aus

Kann mir da jemand weiterhelfen was die Ursache ist und das Skript ans laufen bringen.
Wie gesagt unter Win7 mit cscript 5.8 klappt es 1a

Hier ist das Skript zu finden: http://gallery.technet.microsoft.com/ScriptCenter/313eaffd-a3a7-439a-aa ...

und hier der Code den ich mir zusammengebaut habe:
01.
@echo off & setlocal enabledelayedexpansion 
02.
if exist %temp%\Output1.txt del %temp%\Output1.txt 
03.
if exist %temp%\Output2.txt del %temp%\Output2.txt 
04.
xcopy D:\Test\pstlocate.vbs %temp% /Y 
05.
cscript %temp%\pstlocate.vbs | findstr /C:".pst">>%temp%\Output1.txt 
06.
set "filename=%temp%\Output1.txt" 
07.
set "tempfile=%temp%\tmptxt.txt" 
08.
for /F "delims=" %%a in (%filename%) do ( 
09.
set text=%%a 
10.
set text=!text:^&=und!>>%tempfile% 
11.
12.
set xy=7 
13.
set "Alt=%filename%" 
14.
set "Neu=%temp%\Output2.txt" 
15.
set "Cut=%temp%\Cut.vbs" 
16.
echo Set fso=CreateObject("Scripting.FileSystemObject"):aL=Split(fso.OpenTextFile(WScript.Arguments(0),1).ReadAll,vbCrLF)>"%Cut%" 
17.
echo Set N=fso.OpenTextFile(WScript.Arguments(1),2,-1):P=WScript.Arguments(2)+1:For Each sL In aL: N.WriteLine Mid(sL,P):Next:N.Close>>"%Cut%" 
18.
cscript //nologo "%Cut%" "%Alt%" "%Neu%" %xy% 
19.
del "%Cut%" 
20.
del %tempfile% 
21.
del %temp%\Output1.txt 
22.
set "Datei=%temp%\Output2.txt" 
23.
set "VonC=C:\" 
24.
set "NachC$=\\%COMPUTERNAME%\C$\" 
25.
set "VonD=D:\" 
26.
set "NachD$=\\%COMPUTERNAME%\D$\" 
27.
set "VonW=W:\" 
28.
set "NachdomW=\\domaenel\K010\Benutzer\%USERNAME%\" 
29.
set "VonX=X:\" 
30.
set "NachdomX=ERROR " 
31.
set "t=%temp%\text.tmp" 
32.
if exist "%t%" del "%t%" 
33.
for /f "usebackq delims=" %%i in ("%Datei%") do set "Line=%%i" & set Line=!Line:%VonC%=%NachC$%! & echo !Line!>>"%t%" 
34.
move /y "%t%" "%Datei%" 
35.
for /f "usebackq delims=" %%i in ("%Datei%") do set "Line=%%i" & set Line=!Line:%VonD%=%NachD$%! & echo !Line!>>"%t%" 
36.
move /y "%t%" "%Datei%" 
37.
for /f "usebackq delims=" %%i in ("%Datei%") do set "Line=%%i" & set Line=!Line:%VonW%=%NachdomW%! & echo !Line!>>"%t%" 
38.
move /y "%t%" "%Datei%" 
39.
for /f "usebackq delims=" %%i in ("%Datei%") do set "Line=%%i" & set Line=!Line:%VonX%=%NachdomX%! & echo !Line!>>"%t%" 
40.
move /y "%t%" "%Datei%" 
41.
%temp%\Output2.txt
Gruß und Dank im Vorraus
KangarooJack
Mitglied: mathe172
14.12.2011 um 21:35 Uhr
Hallo,

ohne jetzt genau zu wissen, woran es liegt, warum baust du nicht das VBScribt um? Warum erst die Ausgabe filtern? Und das Script? Das ist kein VBScript, oder

MfG,
Mathe172
[edit: Ich glaub ich bin zu blöd das Script zu finden . Könntest du mir sagen, wo ich es finde?]
Bitte warten ..
Mitglied: Kangaroojack
14.12.2011 um 22:53 Uhr
Sorry, in der Hitze des Gefechts den falschen Link gepostet, habs korrigiert.

Tja, wenn ich VB könnte würde ich das Skript wohl anpassen. Leider kann ich aber kein VB. Und in batch bin ich halt einfach nur hartnäckig mit viel try&error...für das bisschen hier hab ich schon XX Stunden verpulvert.

@Dani: ich hab vorhin gesehen, dass es diese Formatierungshilfen gibt, aber war auf der Arbeit und hatte nicht den Nerv mir X Einstellungen durchzukauen ;)
Bitte warten ..
Mitglied: mathe172
15.12.2011 um 20:18 Uhr
Hallo,

was das ändern des Skripts angeht, schau dir mal die letzten 7 Zeilen an. Hier wird die Ausgabe aus Tabs, Strings und den Werten zusammengesetzt. Wenn du hier jetzt alles rauslöschst, was du nicht brauchst ("Path:","vbTab",...) und nur die Zeile drin lässt, die du brauchst.

Falls du Probleme hast, frag einfach

MfG,
Mathe172
Bitte warten ..
Mitglied: bastla
15.12.2011, aktualisiert 18.10.2012
Hallo Kangaroojack!

Klingt irgendwie nach einem Beitrag in der Nachbarschaft (dort hatte ich ganz unten noch einen Vorschlag drangehängt) ...

Grüße
bastla
Bitte warten ..
Mitglied: Kangaroojack
15.12.2011 um 22:00 Uhr
Hallo nochmal,

danke für die Hinweise, werde ich morgen mal drangehen.

pstlocate.vbs(42, 5) Laufzeitfehler in Microsoft VBScipt: Typen unverträglich: 'UBound'

konnte ich mit Hilfe eines Kollegen ermitteln und beheben. Grund ist folgender:

- Loggt sich ein User ein, bei dem KEIN Outlook Profil definiert ist - so ist der entsprechende Registry Pfad leer, somit wird wohl null ans skript übergeben, welches dann rausfliegt.
- Bei einem user der email eingerichtet hat, aber keine PST - wird halt gesucht und nichts gefunden. aber das skript kann halt arbeiten.

Mein Kollege hat dafür ne Errorabfrage eingebaut, nun wird das abgefangen. nun habe ich aber ein Problem mit dem cut skript das dann folgt, weil der dann ne leere Datei cutten soll - aber ich denke ich schau mir da mal an was mathe172 gesagt hab und editier das skript so, dass er gleich nur den Pfad ausgibt. Ach ja, es kann alles so einfach sein wenn man von allem Ahnung hätte Aber der Job ist halt soooo vielseitig da kann man nicht alles können.

Danke schonmal für die Tips, ich berichte ob es geklappt hat.
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Microsoft Office
Laufzeitfehler 438 bei Word und Exel-AddIns (1)

Frage von klanax zum Thema Microsoft Office ...

VB for Applications
gelöst Bestimmte Spalten aus CSV-Datei auslesen (VBS) (9)

Frage von Gurkenhobel zum Thema VB for Applications ...

Batch & Shell
Eventlog Druckjobs mit VBS auslesen (2)

Frage von joni2000de zum Thema Batch & Shell ...

VB for Applications
VBS Script zum versenden mehrerer Verknüpfungen zu Dateien per Lotus Notes

Frage von Sentinel87 zum Thema VB for Applications ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (20)

Frage von Xaero1982 zum Thema Microsoft ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Festplatten, SSD, Raid
M.2 SSD wird nicht erkannt (14)

Frage von uridium69 zum Thema Festplatten, SSD, Raid ...