MS-Access:需要列出共享远程桌面驱动器

问题描述 投票:0回答:1

在我的 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" 

但这不会产生任何结果。

有人可以帮助提供正确的代码来列出远程驱动器吗?

谢谢,艾菲里奥

vba ms-access ms-access-2010 remote-desktop
1个回答
0
投票

是要搜索的主持人

\\tsclient
。将通过以下方式到达远程驱动器
D

\\tsclient\D

因此,非常简单的方法是使用客户端可能的驱动器号循环调用

Dir
,例如:

? Dir("\\tsclient\D\", vbDirectory)

这将在客户端返回一个文件夹,或者如果

D
未共享,则会引发错误。

© www.soinside.com 2019 - 2024. All rights reserved.