Hallo zusammen
Kann mir einer erklären, warum ich bei einigen Rechnern einen Laufzeitfehler bekomme ??
'auslesen des net use in eine Datei und dabei aufsplitten in Namensshare und Laufwerk
Set wn = WScript.CreateObject("WScript.Network")
Set laufwerke = wn.EnumNetworkDrives
set fs = createobject("Scripting.filesystemobject")
set textfile =fs.opentextfile("c:\daten\temp\netuse.txt", 2, true,0)
For i = 0 to laufwerke.count - 1 step 2
'liste = liste & "Laufwerk: " & laufwerke.item(i)
'liste = liste & " Quelle: " & laufwerke.item(i+1) & vbcr
atest = split(laufwerke.item(i+1), "\")
'splitten nach Suchstring und Laufwerk
'On Error Resume Next
if ucase(trim(laufwerke.item(i))) = "I:" or ucase(trim(laufwerke.item(i))) = "J:" or ucase(trim(laufwerke.item(i))) = "L:" or ucase(trim(laufwerke.item(i))) = "K:" then
textfile.writeline laufwerke.item(i) & "|" & lcase(atest(UBound(atest) ))
end if
Next
'Domain und Username auslesen
Set wn = WScript.CreateObject("WScript.Network")
domain = wn.UserDomain
user = wn.UserName
'erzeugt Batchdatei des Users
Dim objShell, objFso
Set objShell = CreateObject("WScript.Shell")
Set objFso = CreateObject("Scripting.Filesystemobject")
Set objFile = objFso.CreateTextFile("C:\Dokumente und Einstellungen\"& user &"\Desktop\netzlaufwerke\_verbinden.cmd", True)
objFile.WriteLine "@echo off"
objFile.WriteLine ""
objFile.WriteLine "%ProgramFiles%\OpenSSH\tools\porttest.pl Server xxx 445"
objFile.WriteLine "If ""%ERRORLEVEL%"" == ""0"" goto OK\_SERVER\_CONNECT\_MICROSOFT\_DS"
objFile.WriteLine "goto NOK\_SERVER\_CONNECT\_MICROSOFT\_DS"
objFile.WriteLine ""
objFile.WriteLine ":open\_mouth:K\_SERVER\_CONNECT\_MICROSOFT\_DS"
objFile.WriteLine "echo Verbinde Netzlaufwerke ...."
'Textfile auslesen und zerlegen in einzelne Zeilen
set dateiinhalt = fs.opentextfile("c:\daten\temp\netuse.txt")
do
einfuegen = einfuegen + 1
inhalt = dateiinhalt.readline
'splittet anhand des |
zeilen = split(inhalt, "|")
'fügt die einzelnen Zeilen der TXT Datei ins Batch ein
Call launchCmd(zeilen(1),zeilen(0))
loop until einfuegen = 4
objFile.WriteLine "echo."
objFile.WriteLine "echo."
objFile.WriteLine "echo #### Status der Netzlaufwerke ####"
objFile.WriteLine "net use"
objFile.WriteLine "goto ENDE"
objFile.WriteLine ""
objFile.WriteLine ":NOK\_SERVER\_CONNECT\_MICROSOFT\_DS"
objFile.WriteLine "echo Kann Netzlaufwerke nicht verbinden!"
objFile.WriteLine "echo Da der Server xxx nicht auf Port 445 erreichbar ist!"
objFile.WriteLine ""
objFile.WriteLine ":ENDE "
objFile.WriteLine "pause"
objFile.Close
'sucht im DFS nach dem Namensstring
Function launchCmd(sSK, sLWB)
On Error Resume Next
Dim oExec, output
Set oExec = objShell.Exec("cmd /c dfscmd /view \\automobil\dfs /full |find """ & sSK & """ /i")
WScript.Echo oExec.StdOut.SkipLine 'Erste Zeile überspringen
Call writeBatch(oExec.StdOut.ReadLine, sLWB)
End Function
'baut den Net USe für die Batch zusammen mit absolutem Pfad
Function writeBatch(strLine, sLWB)
objFile.WriteLine "echo net use " & sLWB & " " & Split(strLine, vbTab)(1) & " /persistent:no /user:" & domain &"\" &user & ""
objFile.WriteLine "net use " & sLWB & " " & Split(strLine, vbTab)(1) & " /persistent:no /user:" & domain &"\" &user & ""
End Function