Zum Inhalt springen

Share eines verbunden Netzlaufwerkes auslesen


Empfohlene Beiträge

Geschrieben

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.

Geschrieben

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

Geschrieben

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

Geschrieben

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 :D

Geschrieben

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

Geschrieben
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.

Geschrieben

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.

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...