vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
vb@rchiv Offline-Reader - exklusiv auf der vb@rchiv CD Vol.4  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

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

VB.NET - Fortgeschrittene
Re: Dienst Anmeldung an SMB mit anderen Credentials 
Autor: Jabberwock_v6
Datum: 04.06.18 23:34

Hallo,

ich schmeiße Dir das mal einfach so hin.
Musst Du dir aber noch anpassen.


Public Class clsNetwork
    Public Declare Function WNetAddConnection2 Lib "mpr.dll" Alias _
      "WNetAddConnection2A" (ByRef lpNetResource As NETRESOURCE, ByVal _
      lpPassword As String, ByVal lpUserName As String, ByVal dwFlags As _
      Integer) As Integer
    Public Declare Function WNetCancelConnection2 Lib "mpr" Alias _
    "WNetCancelConnection2A" (ByVal lpName As String, ByVal dwFlags As Integer, _
    ByVal fForce As Integer) As Integer
    Public Const ForceDisconnect As Integer = 1
    Public Const RESOURCETYPE_DISK As Long = &H1
 
    Public Structure NETRESOURCE
        Public dwScope As Integer
        Public dwType As Integer
        Public dwDisplayType As Integer
        Public dwUsage As Integer
        Public lpLocalName As String
        Public lpRemoteName As String
        Public lpComment As String
        Public lpProvider As String
    End Structure
 
    Public Shared Function ConnectServer(ByVal Pfad As String, ByVal _
      Driveletter As String) As Integer
 
        If Not My.Computer.Network.IsAvailable Then
            MsgBox("Du hast keine Netzwerkverbindung!")
            Return -1
        Else
 
            Dim Host As String = ""
 
            If Pfad.IndexOf("\\", 0, 2) >= 0 Then
                Host = Pfad.Replace("\\", "")
                Host = Host.Substring(0, Host.IndexOf("\"))
            End If
 
 
 
            If Host = "10.209.76.50" Or Host = "Siplaceserver" Then
                If System.IO.Directory.Exists(Pfad) = False Then
                    'Wenn kein Laufwerksbuchstabe angegeben wird wird auch kein 
                    ' Laufwerk angelegt. Der Zugriff ist aber über UNC 
                    ' möglich!!!
                    'Usage: mapdrive(driveletter with ":", uncpath, username, 
                    ' password). Use "Nothing" without quotes if username or 
                    ' password are blank
                    clsNetwork.MapDrive(Driveletter, Pfad, "Administrator", _
                      "xxxx")
                End If
 
            ElseIf Host = "cgdtr0510" Then
                If System.IO.Directory.Exists(Pfad) = False Then
                    'Wenn kein Laufwerksbuchstabe angegeben wird wird auch kein 
                    ' Laufwerk angelegt. Der Zugriff ist aber über UNC 
                    ' möglich!!!
                    'Usage: mapdrive(driveletter with ":", uncpath, username, 
                    ' password). Use "Nothing" without quotes if username or 
                    ' password are blank
                    clsNetwork.MapDrive(Driveletter, Pfad, _
                      "cgdtr0510\Administrator", "xxxxx")
                End If
            Else
                If System.IO.Directory.Exists(Pfad) = False Then
                    'Wenn kein Laufwerksbuchstabe angegeben wird wird auch kein 
                    ' Laufwerk angelegt. Der Zugriff ist aber über UNC 
                    ' möglich!!!
                    'Usage: mapdrive(driveletter with ":", uncpath, username, 
                    ' password). Use "Nothing" without quotes if username or 
                    ' password are blank
                    clsNetwork.MapDrive(Driveletter, Pfad, Host & "\" & _
                      My.Settings.RemoteUser, My.Settings.RemotePW)
 
                End If
            End If
 
 
 
        End If
 
            Return 0
 
    End Function
 
 
 
    'Function to map drive/connect to drive
    Public Shared Function MapDrive(ByVal DriveLetter As String, ByVal UNCPath _
      As String, ByVal strUsername As String, ByVal strPassword As String) As _
      Boolean
 
        Dim nr As NETRESOURCE
 
        nr = New NETRESOURCE
        nr.lpRemoteName = UNCPath
        nr.lpLocalName = DriveLetter
 
        nr.dwType = RESOURCETYPE_DISK
 
        Dim result As Integer
        Try
            result = WNetAddConnection2(nr, strPassword, strUsername, 0)
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
 
 
 
        If result = 0 Then
            Return True
        Else
            Return False
        End If
 
    End Function
 
    'Function to disconnect from drive
    Public Shared Function UnMapDrive(ByVal DriveLetter As String) As Boolean
        Dim rc As Integer
        rc = WNetCancelConnection2(DriveLetter & ":", 0, ForceDisconnect)
 
        If rc = 0 Then
            Return True
        Else
            Return False
        End If
 
    End Function
 
End Class
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Dienst Anmeldung an SMB mit anderen Credentials2.920Tomahawk19.04.18 09:44
Re: Dienst Anmeldung an SMB mit anderen Credentials1.857Jabberwock_v604.06.18 23:34
Re: Dienst Anmeldung an SMB mit anderen Credentials1.880Tomahawk05.06.18 10:37
Re: Dienst Anmeldung an SMB mit anderen Credentials1.934Jabberwock_v605.06.18 13:53
Re: Dienst Anmeldung an SMB mit anderen Credentials1.877effeff06.06.18 10:44
Re: Dienst Anmeldung an SMB mit anderen Credentials1.861Tomahawk06.06.18 14:42

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-2025 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