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, 2555 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
Ähnliche Inhalte
LAN, WAN, Wireless
Per Script auf UniFi-controller zugreifen und WPA2-Key ändern (11)

Frage von Winfried-HH zum Thema LAN, WAN, Wireless ...

Batch & Shell
gelöst PC nach einem Kopiervorgang herunterfahren - PowerShell Script? (4)

Frage von Stefan007 zum Thema Batch & Shell ...

Basic
VBScript erweitern für Subfolder (8)

Frage von 132078 zum Thema Basic ...

Ubuntu
Nregp ereignis für bash-script (1)

Frage von rsadmchef zum Thema Ubuntu ...

Heiß diskutierte Inhalte
Switche und Hubs
LAG zwischen Cisco SG300 und Dlink DGS1100 herstellen - wie? (18)

Frage von White-Rabbit2 zum Thema Switche und Hubs ...

CPU, RAM, Mainboards
Hardware Fragen (12)

Frage von xaver-2 zum Thema CPU, RAM, Mainboards ...

Grafikkarten & Monitore
Neue Graifkkarte - kein Bild (10)

Frage von bestelitt zum Thema Grafikkarten & Monitore ...

Exchange Server
gelöst Exchange 2013 - Kontakte aus CSV importieren (9)

Frage von hesper zum Thema Exchange Server ...