在我的 MS-Access 应用程序(在 Windows 2012R2 服务器上运行)中,我需要在“远程桌面本地设备和资源”选项卡中检查远程用户共享了哪些本地驱动器。 我试过这个:
Dim wql As String, SrvEx As Object, WMIObj As Object, WMIObjEx As Object
wql = "Select * From Win32_LogicalDisk"
Set SrvEx = GetObject("winmgmts:root/CIMV2")
Set WMIObj = SrvEx.ExecQuery(wql)
For Each WMIObjEx In WMIObj
Me.Text1 = Me.Text1 & WMIObjEx.Path_.RelPath & vbCrLf
Next
但这仅列出了远程服务器上的物理驱动器,而不是已共享的驱动器。我尝试将 SQL 字符串更改为:
wql = "Select * From Win32_MappedLogicalDisk"
但这不会产生任何结果。
有人可以帮助提供正确的代码来列出远程驱动器吗?
谢谢,艾菲里奥
是要搜索的主持人
\\tsclient
。将通过以下方式到达远程驱动器D
:
\\tsclient\D
因此,非常简单的方法是使用客户端可能的驱动器号循环调用
Dir
,例如:
? Dir("\\tsclient\D\", vbDirectory)
这将在客户端返回一个文件夹,或者如果
D
未共享,则会引发错误。