我需要验证我的应用程序是否可以连接到网络上远程服务器上的默认C$共享。有没有人有真正的方法可以让我做到这一点?最初,我是这样做的:
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)但这可能是flakey,有时会挂起,返回的时间太长等等。无论我使用什么方法,都需要能够提供凭据,如果可能的话,当连接失败时,我需要知道它失败的原因。
我用另一种方法解决了这个问题,但是找不到线索。
发布于 2012-01-04 02:54:12
Dim dir As New IO.DirectoryInfo("\\10.101.1.200\c$")然后,dir.exists将告诉您它是否能够连接。
这将尝试以运行程序的帐户身份进行连接。如果您需要不同的凭据,则可能需要查看模拟。
您可以通过pInvoke直接调用窗口函数,但这会变得更加复杂。可以在这里找到一个示例。C#: How to logon to a share when using DirectoryInfo
https://stackoverflow.com/questions/8715254
复制相似问题