| Code Kitchen Allgemeines Coder-Forum rund um das Programmieren eigenständiger, ausführbarer Programme. |
Diskussion: Eigene (Windows 7) Freigaben per vb.net auflisten im Forum Code Kitchen, in der Kategorie Software Home; Anzeige Hi zusammen Ich weiss es hat eigentlich keinen Nutzen, aber das müsst Ihr meinem Lehrer sagen Ich soll nämlich ...
![]() |
| | #1 (permalink) |
| Registriert seit: 10.05.11 ![]() Likes: 0 | Anzeige Hi zusammen Ich weiss es hat eigentlich keinen Nutzen, aber das müsst Ihr meinem Lehrer sagen ![]() Ich soll nämlich eine kleine "Überwachungssoftware" für das eigene Netzwerk programmieren. Teilbestand dieser Aufgabe ist es, die vom eigenen PC freigegebenen Ordner durch vb.net aufzulisten. Es sollte anschliessend in die rot markierte Textbox eingefügt werden: ![]() Also ist meine Frage, wie oder über was kann ich auf diese Ordner zugreifen? In der Registry sind diese ja nicht gespeichert. Freundliche Grüsse MSeiz5 |
| | |
| | #2 (permalink) |
| Member of Honour ![]() | von vb habsch kein dunst, aber du könntest theoretisch über den cmd befehl "net share" die freigaben auslesen und dann parsen.
__________________ » Flattr mich! - Wenn dir mein Beitrag geholfen hat! « <| 2 AMD Opterons 2384@ 8x3,2ghz | Tyan S2915 | 10GB | 2x 8800GT | 8400GS | Dell 3008WFP + 2x2007FP |> |
| | |
| HaBOT | - Anzeige - |
| |
| | #3 (permalink) |
| Senior Member Registriert seit: 10.03.07 ![]() Likes: 19 | Also nach How to retrieve a list of shared folders shared using a script - Active Directory, Exchange, Microsoft Clustering, Scripting, MOM, SQL. steht es in der Registry. Auch unter Windows 7, habs grad extra geprüft. Zudem findet sich auch ein einfaches Codebeispiel zum Auslesen der eigenen Freigaben schnell mit Google: Liste der vorhandenen Freigaben auf einem Computer: Codebeispiel für Visual Basic .NET (VB.NET) und CSharp (C#) Also nächstes mal erst Suchen, dann fragen |
| | |
| | #4 (permalink) |
| Themenstarter Registriert seit: 10.05.11 ![]() Likes: 0 | Vielen Dank erstmals für die schnellen Antworten. @Easteregg Dein Lösungsvorschlag werde ich am Schluss, wenn absolut nichts hilft einsetzen, da teilbestand der Aufgabe ist NUR mit vb.net zu arbeiten. Und nicht wie von dir vorgeschlagen Erebnisse von anderen (ausserhalb von vb.net) Befehlen auszuwerten und zu verwenden. -> Sry, dass ich das nicht erwähnt habe @lookshe Ich bin einer der erst ne weile googelt oder den Lehrlingsausbildner fragt. (Er weiss viel ) Auf die Seite die Du mir geschickt hast bin ich auch schon gestossen. Bei dem Beispielcode ist das Problem, dass Visual Studio den Fehler bringt HTML-Code: "Der Typ "DirectoryEntry" ist nicht definiert" Vielen Dank für die weitere Unterstützung / Tipps MSeiz5 |
| | |
| | #5 (permalink) |
| Senior Member Registriert seit: 10.03.07 ![]() Likes: 19 | Da der Code letztendlich wohl nichts weiter macht, als die Registry auszuwerten, könntest du dies auch einfach selbst nachbauen. Unter HKLM\System\CurrentcontrolSet\Services\Lanmanserve r\Shares findest du alle Freigaben und musst nur noch deine gewünschten Einträge parsen. |
| | |
| | #6 (permalink) |
| Moderator ![]() Registriert seit: 19.06.06 ![]() ![]() ![]() Likes: 51 | Kannst du dazu vielleicht mal ein wenig Beispielcode geben? Meist liegt sowas nämlich eher an Fehlern beim Coden. Ach und welche Version vom Framework verwendest du? |
| | |
| | #7 (permalink) |
| Themenstarter Registriert seit: 10.05.11 ![]() Likes: 0 | @lookshe Ok dan werde ich mal versuchen das Ganze aus der Registy zu parsen. Ps. Deine Tastatur hat nen Tippfehler gemacht HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\L anmanServer\Shares @lightsaver Den Code den ich gefunden habe ist von hier: Liste der vorhandenen Freigaben auf einem Computer: Codebeispiel für Visual Basic .NET (VB.NET) und CSharp (C#) (Auch lookshe hat den bereits gepostet) HTML-Code: Dim ofs As New _
DirectoryEntry("PFAD ZU LANMANSERVER")
Dim c As DirectoryEntries
Dim oshare As DirectoryEntry
c = ofs.Children
For Each oshare In c
say(getAtt(oshare, "Name") & " zeigt auf " & _
getAtt(oshare, "Path"))
Next Vielen Dank, Mseiz5 |
| | |
| | #8 (permalink) |
| Themenstarter Registriert seit: 10.05.11 ![]() Likes: 0 | So ich habe es noch hinbekommen. Für das Anzeigen der Freigegebenen Ordner (ohne die Standardfreigaben) in VBS: Code: strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")
Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_Share")
For Each objItem In colItems
if objItem.Type = 0 then
strShare = strShare & "Name: " & objItem.Name & vbCr
strShare = strShare & "Beschreibung: " & objItem.Description & vbCr
strShare = strShare & "Pfad: " & objItem.Path & vbCr & vbCr
end if
Next
Set colItems = Nothing
WScript.Echo strShare ACHTUNG: Der system.management muss noch hinzugefügt werden: Code: Dim strComputer As String = "."
Dim strShare As String = ""
Dim colItems As New ManagementObjectSearcher( _
"\root\CIMV2", "SELECT * FROM Win32_Share")
For Each objItem As Object In colItems.Get()
If objItem("Type") = "0" Then
strShare = strShare & "Name: " & objItem("Name") & vbCrLf
strShare = strShare & "Beschreibung: " & objItem("Description") & vbCrLf
strShare = strShare & "Pfad: " & objItem("Path") & vbCrLf & vbCrLf
End If
Next
colItems = Nothing
txtordner.Text = strShare MSeiz5 |
| | |
![]() |
| Stichworte |
| freigaben, ordner, vb.net |
| - Anzeige - | |
| |
| Themen-Optionen | |
| Ansicht | |
| |