列出服务器共享

List Server Shares

我正在尝试像这样列出服务器上的共享:

我尝试了以下代码:

    Dim objWMIService = GetObject("winmgmts:\srv0000\root\CIMV2")
    Dim colShares = objWMIService.ExecQuery("SELECT * FROM Win32_Share")

    For Each objShare In colShares
        MsgBox("Name: " & objShare.Name)
    Next

但是我在第 1 行收到错误 无法创建 ActiveX 组件。

所以我尝试了:

    Dim scope As ManagementScope = New ManagementScope("\srv0000\root\CIMV2")
    scope.Connect()
    Dim worker As ManagementObjectSearcher = New ManagementObjectSearcher(scope, New ObjectQuery("SELECT * FROM win32_share"))
    For Each share As ManagementObject In worker.Get
        MsgBox(share("Name"))
    Next

但我收到错误 访问被拒绝。 (HRESULT 的异常:0x80070005(E_ACCESSDENIED))第 2 行

如上图所示,我确实可以访问服务器,但我不是管理员。我只想像资源管理器一样列出共享。由于我不需要对共享进行编辑,是否可以采用另一种不太可靠的方法?

谢谢!

I ended up using the method provided here.