27186
11.01.2008, aktualisiert um 16:01:29 Uhr
4298
2
0
Ständige Verbindung eines Netzlaufwerkes sicherstellen
Hallo!
Habe ein Problem, und zwar würde ich gerne permanent sicherstellen dass ein bestimmtes Netzlaufwerk ständig verbunden ist, da eine bestimmte Software mit einem einerseits im Explorer existenten aber nicht verbundenem Netzlaufwerk nichts anfangen kann.
Dazu habe ich folgendes VB-Skript angelegt. Um das Problem direkt nach dem Hochfahren des Rechners zu lösen, lösche ich zu Beginn des Skriptes das entsprechende Netzlaufwerk, welches kurz darauf wieder angelegt wird, und somit verbunden ist.
Das Problem ist aber, wenn der Server kurzzeitig ausfällt. Das Netzlaufwerk existiert zwar weiter, aber eben unverbunden… Und das Laufwerk in einer Schleife ständig zu löschen und neu zu mappen kommt auch nicht in Frage... Was wenn dann gerade ein Zugriff stattfindet?!
Habe ein Problem, und zwar würde ich gerne permanent sicherstellen dass ein bestimmtes Netzlaufwerk ständig verbunden ist, da eine bestimmte Software mit einem einerseits im Explorer existenten aber nicht verbundenem Netzlaufwerk nichts anfangen kann.
Dazu habe ich folgendes VB-Skript angelegt. Um das Problem direkt nach dem Hochfahren des Rechners zu lösen, lösche ich zu Beginn des Skriptes das entsprechende Netzlaufwerk, welches kurz darauf wieder angelegt wird, und somit verbunden ist.
Das Problem ist aber, wenn der Server kurzzeitig ausfällt. Das Netzlaufwerk existiert zwar weiter, aber eben unverbunden… Und das Laufwerk in einer Schleife ständig zu löschen und neu zu mappen kommt auch nicht in Frage... Was wenn dann gerade ein Zugriff stattfindet?!
Set WshNetwork = Wscript.CreateObject("Wscript.Network")
Dim objNetwork, objShell, objApplication
Dim strDriveName, strDriveLetter, strRemotePath
Set objNetwork = CreateObject("WScript.Network")
Set objShell = CreateObject("Shell.Application")
strDriveLetter = "W:"
On Error resume next
objNetwork.RemoveNetworkDrive strDriveLetter, True, True
Public Function mapDrives(strDriveName, strDriveLetter, strRemotePath, strUsername, strPassword)
objNetwork.MapNetworkDrive strDriveLetter, strRemotePath, FALSE, strUsername, strPassword
objShell.NameSpace(strDriveLetter).Self.Name = strDriveName
mapDrives = ""
End Function
Public Function map(DriveLetter, RemotePath)
On Error resume next
mapDrives "Data", DriveLetter, RemotePath, "admin", "admin"
if err.Number <> 0 then
if err.Number <> -2147024811 then 'err.Number means: 'Networkdrive is already mapped'
msgBox vbcrlf & err.description & vbcrlf & " Check availability -> " & DriveLetter & RemotePath
end if
err.clear
end if
end Function
do
'
'-------------------- map drive
'
'map "Y:", "\\server\share"
WScript.sleep 10000
loop
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 77897
Url: https://administrator.de/contentid/77897
Ausgedruckt am: 25.11.2024 um 05:11 Uhr
2 Kommentare
Neuester Kommentar