Solved

.NET Networking Mapping

Posted on 2014-03-13
4
463 Views
Last Modified: 2014-03-19
I need to be able to map some networked drives as persistent and then verify they are mapped.  I also need to change a Drive letter from D: to Y: and verify that happens.  All needs to be done with preferably with VB.NET using VS2010

Thanks
Ian
0
Comment
Question by:mcsdguyian
  • 2
  • 2
4 Comments
 
LVL 15

Expert Comment

by:David L. Hansen
ID: 39926983
Use a batch file (use the following line to create the mapping):
net use x: \\YourPath password /USER:myAccount

Open in new window


This VB code will fire it off:
Dim process As Process = Process.Start(psi)

Open in new window

0
 

Author Comment

by:mcsdguyian
ID: 39927388
I am actually trying to get away from using the batch file.  This is what I have in place already. I have no way to verify the the mapping happens and it does not always map even though it runs through the code.

I am using the following code to map and unmap the drive:

 Public Function MapDrive(ByVal DriveLetter As String, ByVal UNCPath As String) As Boolean

        Dim nr As NETRESOURCE
        Dim Username As String
        Dim Password As String

        nr = New NETRESOURCE
        nr.lpRemoteName = UNCPath
        nr.lpLocalName = DriveLetter & ":"
        Username = Nothing '(add parameters to pass this if necessary)
        Password = Nothing '(add parameters to pass this if necessary)
        nr.dwType = RESOURCETYPE_DISK

        Dim result As Integer
        result = WNetAddConnection2(nr, Password, Username, 0)

        If result = 0 Then
            Return True
        Else
            Return False
        End If
    End Function

    Public 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

The problem I am having though is I need to verify the connection outside of this code. Such as D: = \\folder1\temp\ Versus \\folder2\temp

I also need to figure how to change drive letters  

Ian
0
 
LVL 15

Accepted Solution

by:
David L. Hansen earned 500 total points
ID: 39927439
You can actually add the batch file into the VS project as a resource so it's all kept together in one solution.  Barring that, I'd suggest doing the same thing within PowerShell (launched from VS) but even then you'll be using the same "Net Use" command.
0
 

Author Comment

by:mcsdguyian
ID: 39927621
How am I to verify I am connected to where I need to be?  Also how would I change a Drive letter from a batch file?
0

Featured Post

DevOps Toolchain Recommendations

Read this Gartner Research Note and discover how your IT organization can automate and optimize DevOps processes using a toolchain architecture.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

In my previous two articles we discussed Binary Serialization (http://www.experts-exchange.com/A_4362.html) and XML Serialization (http://www.experts-exchange.com/A_4425.html). In this article we will try to know more about SOAP (Simple Object Acces…
If you need to start windows update installation remotely or as a scheduled task you will find this very helpful.
This Micro Tutorial will teach you how to censor certain areas of your screen. The example in this video will show a little boy's face being blurred. This will be demonstrated using Adobe Premiere Pro CS6.

831 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question