如何使用VBS以编程方式将DFS路径转换为UNC?

时间:2013-01-16 02:06:17

标签: .net vbscript wmi unc dfs

我有几个脚本必须使用UNC路径 - 而不是DFS - 并且希望能够以编程方式从DFS路径确定UNC路径。例如,我们有类似的东西:

\\domain\fs\Home\HomeFolder\MyUserID

我希望从中得到像这样的UNC路径:

\\Server1\HomeFolder\MyUserID

我不能指望像DFSUtil.exe这样的实用程序可用。它需要在VBScript中。

我在NET中发现了以下使用WMI的代码,但我无法弄清楚将其转换为可用的VBS所发生的事情: http://www.codeproject.com/Tips/158829/Convert-a-file-path-to-a-UNC-Path

任何人都可以伸出援手吗?我在翻译中迷失了(不要说NET)......

1 个答案:

答案 0 :(得分:1)

这是您链接到的内容的最小VBScript翻译:

Option Explicit

Dim wmi
Dim col
DIm itm

Set wmi = GetObject("winmgmts:\\.\root\cimv2")
Set col = wmi.ExecQuery("Select DeviceID,ProviderName From Win32_LogicalDisk where DriveType=4")

With WScript
  For Each itm in col
    .Echo "========="
    .Echo "DeviceID:" & vbTab & itm.DeviceID
    .Echo "ProviderName:" & vbTab & itm.ProviderName
  Next
End With

Set wmi = Nothing
Set col = Nothing
WScript.Quit

简而言之,我认为这不是你想要的......我认为在运行之前你必须首先映射驱动器。

更简洁的方法是针对Active Directory运行查询以查找DFS共享定义,但在AD中实际查看的位置可能难以识别