检查UNC连接

时间:2012-01-03 16:24:23

标签: vb.net unc

我需要验证我的应用可以连接到网络上远程服务器上的默认C $共享。有没有人有一个真正的bulletprrof方式我可以做到这一点?最初我做的是这样的事情:

Dim ProcessStartInfo As New System.Diagnostics.ProcessStartInfo
ProcessStartInfo.FileName = "net"
ProcessStartInfo.Arguments = "use \\" & strComputer & "\c$ /USER:" & strUsername & " " & strPassword
ProcessStartInfo.WindowStyle = ProcessWindowStyle.Hidden
System.Diagnostics.Process.Start(ProcessStartInfo)

但是这有时候会变得很糟糕,并且需要花费很长时间才能返回等等。无论我使用哪种方法都需要能够提供凭据,如果可能的话,当连接失败时我需要知道它失败的原因。

1 个答案:

答案 0 :(得分:1)

Dim dir As New IO.DirectoryInfo("\\10.101.1.200\c$")

dir.exists会告诉您它是否能够连接。

这将尝试连接作为运行程序的帐户。如果您需要不同的凭据,则可能需要查看模拟。

你可以通过pInvoke直接调用windows函数,但这会变得更复杂。这里可以找到一个例子。 C#: How to logon to a share when using DirectoryInfo