Hallo zusammen
Brauche mal etwas hilfe weil ich den wald vor lauter Bäumchen nicht mehr sehe.
Folgendes sollte das Script machen
an einem Rechner die Net uses auslesen, splitten in Laufwerke und namensshare, dann soll mittels dfscmd der zugeordnete dfsname in ein batchfile geschrieben werden, das der User den tatsächlichen pfad in der batchdatei stehen hat. dabei sollten die laufwerke W: und V: nicht mehr vorkommen, da diese offline Dateien sind.
Folgendes habe ich bis jetzt:
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
atest = split(laufwerke.item(i+1), „“)
'splitten nach Suchstring und Laufwerk
if laufwerke.item W: or V: then
textfile.writeline atest(UBound(atest) ) & „;“ & laufwerke.item(i)
else
Next
'Domain Username auslesen
Set wn = WScript.CreateObject(„WScript.Network“)
domain = wn.UserDomain
user = wn.UserName
'Textfile auslesen und zerlegen
set dateiinhalt = fs.opentextfile(„c:\daten\temp\netuse.out“)
inhalt = dateiinhalt.readline
zeilen = split(inhalt, „;“)
Dim objShell, objFso
Set objShell = CreateObject(„WScript.Shell“)
Set objFso = CreateObject(„Scripting.Filesystemobject“)
Set objFile = objFso.CreateTextFile(„netzlaufwerke_verbinden.cmd“, True)
objFile.WriteLine „@echo off“
objFile.WriteLine „“
objFile.WriteLine „%ProgramFiles%\OpenSSH\tools\porttest.pl ServerXXX 445“
objFile.WriteLine „If „“%ERRORLEVEL%“" == „„0"“ goto OK_SERVER_CONNECT_MICROSOFT_DS“
objFile.WriteLine „goto NOK_SERVER_CONNECT_MICROSOFT_DS“
objFile.WriteLine „“
objFile.WriteLine „K_SERVER_CONNECT_MICROSOFT_DS“
objFile.WriteLine „echo Verbinde Netzlaufwerke …“
Call launchCmd(zeilen(0),zeilen(1))
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 ServerXXX ist nicht auf Port 445 erreichbar!“
objFile.WriteLine „“
objFile.WriteLine ":ENDE "
objFile.WriteLine „pause“
objFile.Close
Function launchCmd(sSK, sLWB)
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
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