sovereign1337
Goto Top

Überprüfen, ob gemapptes Netzlaufwerk offline Verfügbar ist und ob es unter einem anderen Benutzer gemappt wurde - per VBScript?

Hallo Liebe Helfer, face-smile

bin neu hier, bzw nutze ich diese Seite schon sehr lange (und bisher hat sie mir auch immer weiter geholfen), doch dieses mal bin ich selbst nach stundenlangem googlen nicht zu einer lösung gekommen. Nun zu meinem Problem.

Ich arbeite zur Zeit an verschiedenen Skripten.

unter anderem ein logon-Script, ein logging-Script (für den Support, so kann man sich von der Maschine mit dem Problem erstmal einen Überblick verschaffen)
und aktuell auch an einem Script das vorhandene Netzlaufwerke ummappen soll (Zwecks DFS)

Funktioniert auch alles einwandfrei.

Da unsere Struktur mit den Jahren gewachsen ist, und die User immer noch sehr viel "dürfen" herrscht hier mehr Kraut aus Rübe, wenn nicht sogar beides. ;)


Im Grunde versuche ich nun lediglich vor dem neu anbinden der Netzlaufwerke zu überprüfen, ob das jeweilige Laufwerk vom User selbst offline Verfügbar gemacht wurde, und/oder ob es per "Verbinden als..." angebunden wurde.

Der erste Schritt wäre hierbei erstmal nur zu Überprüfen ob das so ist, weiter nichts.
im nächsten schritt ginge es dann darum per VBS diese Laufwerke identisch neu anzubinden (also so wie es vorher war).

hier schon mal das was ich bereits habe... antworten können, müssen aber nicht darauf aufbauen, denn mir fehlt da die Theorie

OPTION EXPLICIT
ON ERROR RESUME NEXT

'Variablen  
DIM varSonder, VarDrive
DIM Server1
DIM Misc1, Misc2, Misc3 
DIM coldrives, col, i

'Objekte  
DIM WSNetwork, objFSO

'Objekte initialisieren  
SET WSNetwork = CreateObject("WScript.Network")  
SET objFSO = CreateObject("Scripting.FileSystemObject")  
SET colDrives = WSNetwork.EnumNetworkDrives

'Server der Standorte  
Server1 = "\\Server\"  


'Miscs  
Misc1 = Server1 & "Miscelanious1\"  
Misc2 = Server1 & "Miscelanious2\"  
Misc3 = Server1 & "Miscelanious3\"  

For i = 0 to colDrives.Count - 1 Step 2 
	If colDrives.Item(i) = "K:" then  
		ElseIf colDrives.Item(i) = "L:" then  
			ElseIf colDrives.Item(i) = "M:" then  
				Else
				VarDrive = colDrives.Item(i) 
				VarSonder = Right(colDrives.Item(i+1), Len(colDrives.Item(i+1)) - InStrRev(colDrives.Item(i+1), "\"))  
				call mapping(VarDrive, VarSonder)
	End If
	Next
For i = 0 to colDrives.Count - 1 Step 2
        col= col & vbtab & "Laufwerk " & colDrives.Item(i) & " = " & colDrives.Item(i+1) & vbcrlf  
    Next


Function mapping(FuncDrive, FuncVarSonder)
	If objFSO.FolderExists(Misc1 & FuncVarSonder) THEN
		wsNetwork.RemoveNetworkDrive FuncDrive, true, true
		wsNetwork.MapNetworkDrive FuncDrive, Misc1 & FuncVarSonder
		ElseIf objFSO.FolderExists(Misc2 & FuncVarSonder) THEN
				wsNetwork.RemoveNetworkDrive FuncDrive, true, true
				wsNetwork.MapNetworkDrive FuncDrive, Misc2 & FuncVarSonder
				ElseIf objFSO.FolderExists(Misc3 & FuncVarSonder) THEN
						wsNetwork.RemoveNetworkDrive FuncDrive, true, true
						wsNetwork.MapNetworkDrive FuncDrive, Misc3 & FuncVarSonder
	END IF
END function
 

der code hat wie gesagt nicht wirklich was damit zu tun, was mir fehlt ist die Abfrage.

VIelen Dank schon mal an all die fleißigen Helfer
ich hoffe ich konnte mich verständlich ausdrücken, ansonsten fragt doch bitte nach, dann versuche ich es anders zu erklären.

Content-Key: 126743

Url: https://administrator.de/contentid/126743

Printed on: April 16, 2024 at 11:04 o'clock

Member: dog
dog Oct 08, 2009 at 16:18:39 (UTC)
Goto Top
Hallo,

das sollte dir weiterhelfen:

http://msdn.microsoft.com/en-us/library/aa394220(VS.85).aspx

UserName: Benutzer in Domäne\User Form
LocalName: Laufwerksbuchstabe:
Name, RemoteName, RemotePath: UNC-Pfad zum Share

Grüße

Max
Member: Sovereign1337
Sovereign1337 Oct 12, 2009 at 06:43:34 (UTC)
Goto Top
hallo

erstmal danke, max.

UserName sollte mir mit "verbinden als..." behilflich sein könne, muss es nur noch ausgiebieg testen.
bleibt aber immer noch die frage, wie ich den "cache-modus" auslesen kann...

jemand eine idee? face-smile

vielen dank

liebe grüße
Sover
Member: Sovereign1337
Sovereign1337 Oct 12, 2009 at 11:00:01 (UTC)
Goto Top
ich möchte noch hinzufügen, dass mir auch mit Änderungen in der registry geholfen wäre.
vielen Dank
lg
Sover
Member: mayho33
mayho33 Jan 05, 2010 at 13:42:42 (UTC)
Goto Top
Hallo!

Fals du aktuell noch suchst kannst du unter: hkcu\Software\Microsoft\Windows\CurrentVersion\netcache\Shares deine aktuell durchgeführten Syncs sehen.

Wie man da aber eine neue anlegt weis ichselbst noch nicht. da alles in Hex gespeichert wird

grüße

Mayho