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

VBScript um die Ordnergrösse auszulesen - Script verreckt

Frage Entwicklung VB for Applications

Mitglied: TuXHunt3R

TuXHunt3R (Level 3) - Jetzt verbinden

20.04.2009, aktualisiert 16:58 Uhr, 2554 Aufrufe

Hallo ans Forum

Ich schreibe gerade an einem kleinen Script, welches die Grösse des Desktops und des "Documents"-Ordner jedes Profils eines Remotecomputers ausgibt.
Leider verreckt das Script immer bei den Dateiordnern "My Videos", "My Pictures" und "My Music". Mir ist klar, dass es sich dabei nicht um richtige Ordner, sondern um virtuelle handelt.
Das Script bringt allerdings immer die Meldung "Laufzeitfehler in Microsoft VBScript: Erlaubnis verweigert.", sobald die Schleife mit diesen virtuellen Ordnern in Kontakt kommt.

Die Betriebssysteme sind beide Vista, d.h. mein Client und auch der Remoteclient.
Pfad der genannten virtuellen Ordner: \\RemoteComputer\c$\users\%username%\Documents

Diese virtuellen Ordner sind standardmässig versteckt.

Hier das Script:
01.
Set objNetwork = CreateObject("Wscript.Network") 
02.
set objShell = WScript.CreateObject("WScript.Shell") 
03.
set objFilesystem = Wscript.CreateObject("Scripting.FileSystemObject") 
04.
 
05.
 
06.
size = 0 
07.
strComputer = wscript.arguments(0) 
08.
 
09.
if funPing(strComputer) = True Then 
10.
		wscript.echo "Knotenname: " & strComputer 
11.
		wscript.echo " " 
12.
		Set objProfilefolder = objFilesystem.GetFolder("\\" & strComputer & "\c$\Users\") 
13.
		For Each SubFolder In objProfilefolder.SubFolders 
14.
			Profil = SubFolder 
15.
			Set objProfil = objFilesystem.GetFolder(Profil) 
16.
			Select Case objProfil.path 
17.
                                                                                     ' Excludes: 
18.
				Case "\\" & strComputer & "\c$\Users\All Users" 
19.
				Case "\\" & strComputer & "\c$\Users\AutoInst" 
20.
				Case "\\" & strComputer & "\c$\Users\Default" 
21.
				Case "\\" & strComputer & "\c$\Users\Default User" 
22.
				Case "\\" & strComputer & "\c$\Users\L-Install" 
23.
				Case "\\" & strComputer & "\c$\Users\s-it32sDs" 
24.
				Case "\\" & strComputer & "\c$\Users\s-SMS-Hlp" 
25.
				Case Else 
26.
					Set objDesktop = objFilesystem.GetFolder(objProfil.path & "\Desktop\") 
27.
					Size = objDesktop.Size / 1024 ' Ergibt KB 
28.
					Size = Size / 1024 ' Ergibt MB 
29.
					wscript.echo objDesktop.Path & ";" & round(Size, 3) 
30.
					Size = 0 
31.
					 
32.
					set objMyDocs = objFilesystem.GetFolder(objProfil.path & "\Documents\") 
33.
					Size = objMyDocs.Size / 1024 ' Ergibt KB 
34.
					Size = Size / 1024 ' Ergibt MB 
35.
					wscript.echo objMyDocs.Path & ";" & round(Size, 3) 
36.
					Size = 0 
37.
			End Select 
38.
		Next 
39.
	Else  
40.
		wscript.echo "Das OS auf " & strComputer & " wird nicht unterstützt!" 
41.
		wscript.echo " " 
42.
		wscript.quit(0) 
43.
	End if  
44.
Else 
45.
	wscript.echo strComputer & " ist nicht pingbar!" 
46.
	wscript.echo " " 
47.
	wscript.quit(0) 
48.
End if 
49.
 
50.
 
51.
 
52.
 
53.
 
54.
'_____________________________________ 
55.
' Funktionen: 
56.
' =========== 
57.
 
58.
Function funPing(strComputer) 'Ping-Funktion. "funPing" ist "True", wenn das Gerät pingbar ist und "False", wenn das Gerät nicht erreichbar ist. 
59.
	rv = objShell.run("%systemroot%\system32\ping.exe -n 1 " & strComputer,,True) 
60.
	If rv=0 Then 
61.
		funPing = True 
62.
	Else 
63.
		funPing = False 
64.
	End If 
65.
End Function
Was ich auch angedacht habe: Mittels einer Funktion wird rekursiv die Grösse jedes Files in den beiden Pfaden \\Remotecomputer\c$\users\%username%\Desktop und \\Remotecomputer\c$\users\%username%\Documents ausgelesen und zusammengezählt. Hier könnte ich mittels eines Select Case die drei virtuellen Ordner ausklammern. Dies möchte ich allerdings vermeiden, da das Script dann sehr lange laufen würde, vor allem bei WAN-Leitungen mit maximal 512 kbit/s, wie wir sie teilweise noch laufen haben.

Habt ihr eine Idee, wie ich diese virtuellen Ordner umgehen kann?

Gruss TuXHunT3R
Neuester Wissensbeitrag
Internet

Unbemerkt - Telekom Netzumschaltung! - BNG - Broadband Network Gateway

(3)

Erfahrungsbericht von ashnod zum Thema Internet ...

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

Frage von Sentinel87 zum Thema VB for Applications ...

Batch & Shell
Script zum Auflösen einer Ordnerstruktur und zurück gesucht (12)

Frage von websolutions zum Thema Batch & Shell ...

Entwicklung
gelöst Get ip from external txt file and use in vbscript (5)

Frage von thankusomuch zum Thema Entwicklung ...

Heiß diskutierte Inhalte
Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

Grafikkarten & Monitore
Tonprobleme bei Fernseher mit angeschlossenem Laptop über HDMI (11)

Frage von Y3shix zum Thema Grafikkarten & Monitore ...

Microsoft Office
Keine Updates für Office 2016 (11)

Frage von Motte990 zum Thema Microsoft Office ...