vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Mails senden, abrufen und decodieren - ganz easy ;-)  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Win10 Netzlaufwerke verbinden/trennen die xte 
Autor: Volker Bunge
Datum: 10.06.19 12:00

Hallo zusammen,

ich möchte eigentlich nur von meinem Client-PC aus einige Verzeichnisse vom Homeserver als Netzlaufwerk verbinden/trennen.

Habe mich jetzt schon durch das Netz gewühlt und auch einiges gefunden. Leider klappen die Möglichkeiten alle nicht.

Das einzige. das so einiger massen klappt, ist das Erstellen einer BATCH-Datei mit dem Befehl Net Use. Dies aber auch nur, wenn ich die BATCH über den Explorer aufrufe, nicht aus dem VB-Net Programm heraus.

Die anderen Lösungen bringen entweder die eingestellte Fehlermeldung oder tun tatsächlich nicht dass, was sie sollen.

Hier erst einmal der Batchcode der so halb funktioniert
    Public Function Netzlaufwerke_verbinden(ByVal LocalDrive As String, ByVal _
      NetworkPath As String) As Boolean
        'NetworkPath = Replace(NetworkPath, " ", "%20")
        MsgBox("LocalDrive: " & LocalDrive & "   NetworkPath: " & NetworkPath)
        'Exit Function
 
        Dim arg As String
        arg = "Net.exe use " & LocalDrive & " " & Chr(34) & NetworkPath & Chr( _
          34) '& " /persistent:yes "
 
        Dim encoding As Encoding = Encoding.GetEncoding(850) ' GetEncoding( 
        ' "ISO-8859-1")
        Dim file As System.IO.StreamWriter
        file = My.Computer.FileSystem.OpenTextFileWriter("c:\temp\Nv.bat", _
          False, encoding) ' c:\temp\Netzlaufwerk_verbinden.bat
        file.WriteLine("C:")
        file.WriteLine("CD \temp")
        file.WriteLine(UCase("Net.exe use " & LocalDrive & " /delete"))
        file.WriteLine(UCase(arg))
        file.WriteLine("Pause")
        file.Close()
 
        ' Diese zweite deaktivierte Möglichkeit beim Verbinden klappt auch nicht 
        ' Nun noch die BATCH - Datei ausführen
        System.Diagnostics.Process.Start("c:\temp\Nv.bat")
 
        '''Dim processInfo As New System.Diagnostics.ProcessStartInfo()
 
        '''processInfo.FileName = "C:\WINDOWS\system32\net"
 
        '''processInfo.Arguments = "use " & LocalDrive & " " & Chr(34) & 
        ' NetworkPath & Chr(34) '"use X: \\ MYPC \ Ordner / USER: MYPC \ TEST P" & _
        "@ ssw0rd"
 
        '''System.Diagnostics.Process.Start(processInfo)
 
    End Function
    Public Function Netzlaufwerke_trennen(ByVal LocalDrive As String) As Boolean
        MsgBox("LocalDrive: " & LocalDrive)
        'Exit Function
 
        Dim arg As String
        arg = "Net.exe use " & LocalDrive & ": /delete"
 
        Dim encoding As Encoding = Encoding.GetEncoding(850) ' GetEncoding( 
        ' "ISO-8859-1")
        Dim file As System.IO.StreamWriter
        file = My.Computer.FileSystem.OpenTextFileWriter("c:\temp\Nt.bat", _
          False, encoding) ' c:\temp\Netzlaufwerk_verbinden.bat
        file.WriteLine("C:")
        file.WriteLine("CD \temp")
        file.WriteLine(UCase(arg))
        file.WriteLine("Pause")
        file.Close()
 
        ' Nun noch die BATCH - Datei ausführen
        System.Diagnostics.Process.Start("c:\temp\Nt.bat")
    End Function
Da alle Codes aus dem Netz doch schon so einige Jahre alt sind, kann es sein, dass sich da etwas geändert hat?

Zu meinem System
Programm: VB-Net 2017 Studio
Client-Rechner: Windows 10 / 7 Rechner
Homeserver: ACer H340 mit Windows Home Server Service Pack 2 (also auch schon so einige Jahre alt)
Neuer Server: ein alter HP 8300 Elite Rechner mit Windows 10 64 Bit (soll später mal den Acer ablösen, noch nicht damit getestet)

Wie gesagt, die BATCH Datei läuft soweit (über den Explorer), also können die Befehle nicht falsch sein.

Noch eine Frage hierzu: Da ich ja mit UNC-Pfadangaben arbeite, kann ich auch irgendwie Verzeichnisse verbinden, die Umlaute bzw. Leerzeichen und Bindestriche enthalten? Wenn ich die Verzeichnisse manuell verbinde, dann sind auch Umlaute, Leerzeichen und Bindestriche möglich.

Vielen Dank schon einmal im Voraus und noch einen schönen Feiertag.

Gruß

Volker

Beitrag wurde zuletzt am 10.06.19 um 12:04:07 editiert.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Win10 Netzlaufwerke verbinden/trennen die xte938Volker Bunge10.06.19 12:00
Re: Win10 Netzlaufwerke verbinden/trennen die xte559effeff11.06.19 17:31
Re: Win10 Netzlaufwerke verbinden/trennen die xte564Volker Bunge11.06.19 21:37

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel