我正在尝试获取在远程服务器上保存文件的路径,但我不知道如何确保路径位于我有权访问的共享目录中。这就是我最初尝试这样做的方式:
Dim di As DirectoryInfo = New DirectoryInfo("\\ServerName\")
Dim diArr As DirectoryInfo() = di.GetDirectories()
For Each d As DirectoryInfo In diArr....
我打算浏览服务器的子目录,直到找到一个我可以编写文件的文件,但是我收到了这个错误:" UNC路径应该是\ server \ share&#34的形式;。有什么我可以替换到每个服务器上都存在的\ share部分吗?谢谢你的帮助。
编辑:我使用ManagementObjectSearcher枚举服务器上的共享,如下所示:
Dim myObjectSearcher As System.Management.ManagementObjectSearcher
Dim myScope As New ManagementScope("\\" & ServerName & "\root\CIMV2")
Dim myQuery As New SelectQuery("SELECT * FROM Win32_LogicalShareSecuritySetting")
myObjectSearcher = New System.Management.ManagementObjectSearcher(myScope, myQuery)
For Each share As ManagementBaseObject in myObjectSearcher.Get()
MessageBox.Show(share.ToString)
Next
答案 0 :(得分:1)
\ ServerName \ IPC $始终存在,但它不是目录。
\ ServerName \ C $可能永远存在,但除非您拥有管理员凭据,否则您将无法阅读它。
您可能需要枚举服务器上的共享。看看this answer。