Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Share eines verbunden Netzlaufwerkes auslesen

Empfohlene Antworten

Veröffentlicht

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.

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

  • Autor

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

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

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

  • Autor
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.

Ich dachte da eigentlich mehr an meinen Code ->

Siehe 3 Postings weiter oben, den hast duw ahrscheinlich übersehen...

  • Autor

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.

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.