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, 2562 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
Ähnliche Inhalte
Windows Systemdateien
Windows 7 und 10 herunterfahren Knopf mit Script belegen (21)

Frage von c-o-o-p-e-r92 zum Thema Windows Systemdateien ...

VB for Applications
gelöst VBScript und OR (5)

Frage von Invisan zum Thema VB for Applications ...

Backup
gelöst Backup-Script erweitern mit automatischer bereinigung (6)

Frage von DarkHercules zum Thema Backup ...

Batch & Shell
gelöst Hilfe Bei einem vbs Script (19)

Frage von Hattori-Hanzo zum Thema Batch & Shell ...

Neue Wissensbeiträge
RedHat, CentOS, Fedora

Fedora, RedHat, Centos: DNS-Search Domain setzen

(12)

Tipp von Frank zum Thema RedHat, CentOS, Fedora ...

Drucker und Scanner

Samsung SL-M4025ND, firmware update und (kompatible) Tonerkassetten

(1)

Erfahrungsbericht von markus-1969 zum Thema Drucker und Scanner ...

Heiß diskutierte Inhalte
Windows 10
Windows für Privatanwender "nicht mehr handhabbar" (26)

Frage von FA-jka zum Thema Windows 10 ...

LAN, WAN, Wireless
Brauche Hilfe: Mit (schnellem) WLAN Strecke überbrücken (23)

Frage von pierrehansen zum Thema LAN, WAN, Wireless ...

LAN, WAN, Wireless
Komplett neues Netzwerk, Ubiquiti WLAN, Router, Switch (15)

Frage von Freak-On-Silicon zum Thema LAN, WAN, Wireless ...

Backup
Backup Wochen- Monats- Jahressicherung (13)

Frage von Meterpeter zum Thema Backup ...