Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

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

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, 2572 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 7
gelöst VBScript - HTML Probleme mit Schriftgröße (5)

Frage von MedicalAd zum Thema Windows 7 ...

Batch & Shell
gelöst PowerShell Ordnergröße Skript ignoriert versteckte Dateien (3)

Frage von Giffas zum Thema Batch & Shell ...

Outlook & Mail
gelöst LDAP Anfrage um E-mail auszulesen (6)

Frage von Jallio zum Thema Outlook & Mail ...

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

Frage von Invisan zum Thema VB for Applications ...

Neue Wissensbeiträge
LAN, WAN, Wireless

Neue Cisco Catalyst-Serie 9000

Information von Kuemmel zum Thema LAN, WAN, Wireless ...

Sicherheit

Millionen Euro in den Sand gesetzt?

(3)

Information von transocean zum Thema Sicherheit ...

Heiß diskutierte Inhalte
Netzwerke
Mobile Einwahl IPSec VPN von iPhone iPad T-Mobile zur Pfsense (14)

Frage von Spitzbube zum Thema Netzwerke ...

LAN, WAN, Wireless
Eine Netzwerkdose im Wechsel für zwei unterschiedliche Netze (12)

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

Windows Netzwerk
Ordner-Freigabe außerhalb der Domäne (9)

Frage von Remsboys zum Thema Windows Netzwerk ...

Windows Server
gelöst "Anmelden über Remotedesktopdienste verweigern" lässt sich nicht bearbeiten! (9)

Frage von schollw zum Thema Windows Server ...