Mike Lorey Geschrieben 14. Juli 2004 Geschrieben 14. Juli 2004 Hallo, folgendes Problem: Ich habe mir ein VBScirpt geschrieben, dass überprüft welche Laufwerke der User verbunden hat. Jetzt interessiert mich aber auch auf welchen Share das mapping geht. Hat jmd. eine Idee. Zitieren
Diablo999 Geschrieben 15. Juli 2004 Geschrieben 15. Juli 2004 Wie bekommst du denn raus welche Laufwerke verbunden sind? Mit der WinAPI? Wenn ja finden sich in der MSDN sicher auch die entsprechenden Funktionen um alle Infos über das Netzlaufwerk herauszufinden... Die hier könnte was für dich sein: WNetGetConnection Weiß aber nicht ob das in VBScript funzt mit APIs und so :confused: :confused: :confused: Gruß Diablo999 Zitieren
Mike Lorey Geschrieben 15. Juli 2004 Autor Geschrieben 15. Juli 2004 Das Script ist realtiv easy. Allerdings hab ich im MSDN nicht passendes gefunden. Set fso = createobject("Scripting.FileSystemObject") Set lw = fso.opentextfile("lw.txt") Set an = fso.createtextfile("an.log") an.writeline Date&" "&Time Do until lw.atendofstream lauf=lw.readline If fso.driveexists(lauf) Then an.writeline lauf&" VOrhanden" End if loop Zitieren
Diablo999 Geschrieben 15. Juli 2004 Geschrieben 15. Juli 2004 So gehts in VB6, kann aber nicht garantieren das es in VBScript bzw. VBA geht -> vor allem wegen dem "Declare" Private Declare Function WNetGetConnection Lib "mpr.dll" Alias "WNetGetConnectionA" (ByVal lpszLocalName As String, ByVal lpszRemoteName As String, cbRemoteName As Long) As Long Private Function GetNetName(szDrive As String) As String Dim szBuffer As String * 255 Dim nPos As Long Call WNetGetConnection(szDrive, szBuffer, Len(szBuffer)) nPos = InStr(1, szBuffer, Chr(0), vbBinaryCompare) If nPos > 0 Then GetNetName = Left(szBuffer, nPos - 1) Else GetNetName = szBuffer End If End Function Die Funktion kann man dann so aufrufen: sz = GetNetName("U:") Probiers mal aus und sag nochma obs auch in VBS bzw. VBA funzt Zitieren
Diablo999 Geschrieben 15. Juli 2004 Geschrieben 15. Juli 2004 Mir is noch was eingefallen... Nehme an das der Code in VBScript nicht läuft, und wenn dem so ist hättest du immer noch die Möglichkeit den oben geposteten Code in ein ActiveX-Objekt zu verpacken (z.B. VB5 oder VB6) und dieses dann mit CreateObject in deinem Script zu erzeugen und über dieses Objekt dann den Code auszuführen. Meld dich nochma wenn du dabei Hilfe brauchst Zitieren
Mike Lorey Geschrieben 15. Juli 2004 Autor Geschrieben 15. Juli 2004 Mir is noch was eingefallen... Nehme an das der Code in VBScript nicht läuft, Hi, danke erstmal, aber das Script läuft. Allerdings wird im Moment nur überprüft ob das Laufwerk vorhanden ist. Und ich wollte jetzt zusätzlich noch wissen wie der Share heißt, der hinter dem LW steckt. Zitieren
Diablo999 Geschrieben 15. Juli 2004 Geschrieben 15. Juli 2004 Ich dachte da eigentlich mehr an meinen Code -> Siehe 3 Postings weiter oben, den hast duw ahrscheinlich übersehen... Zitieren
Mike Lorey Geschrieben 15. Juli 2004 Autor Geschrieben 15. Juli 2004 Hallo, also ich hab in der MSDN doch noch was gefunden. Hier mal der Beispiel-Code: Function ShowDriveInfo(drvpath) Dim fso, d Set fso = CreateObject("Scripting.FileSystemObject") Set d = fso.GetDrive(fso.GetDriveName(fso.GetAbsolutePathName(drvpath))) ShowDriveInfo = "Drive " & d.DriveLetter & ": - " & d.ShareName End Function MSDN Funktioniert einwandfrei. Danke nochmals. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.