下面的代码返回来自UNC路径的本地路径。从UNC路径获取本地路径
strPath = "\\pc100\d"
strPath = Replace(strPath, "\\", "")
arrPath = Split(strPath, "\")
strComputer = arrPath(0)
strShare = arrPath(1)
Wscript.Echo strComputer
Wscript.Echo strShare
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery _
("Select * From Win32_Share Where Name = '" & strShare & "'")
For Each objItem in colItems
Wscript.Echo objItem.Path
Next
但它只适用于我的电脑的路径。这是如果我的电脑名称是pc1,那么如果我通过\\ pc1 \ D \然后它返回D:\
但是,如果我给一个网络PC路径如\\ pc100 \ d \那么它会给出错误下面
---------------------------
Windows Script Host
---------------------------
Script: D:\Desktop\New Text Document.vbs
Line: 12
Char: 1
Error: Permission denied: 'GetObject'
Code: 800A0046
Source: Microsoft VBScript runtime error
---------------------------
OK
---------------------------
显示,但\\ PC100 \ d \是驱动器,它shared.Firewall是关闭的PC.Remote过程调用(RPC)服务和WMI都在PC上运行那么,为什么这给错误。我该如何纠正它。我对该网络文件夹有完全的权限。
ok.But可以将它通过使一些或更改设置来实现? –
如果您使用的是AD,那么您的帐户需要是属于PC100管理员(或超级用户)组的成员。如果您使用Workgroups,那么我认为您只需要在PC100上创建一个与您的名称相同的帐户并将其添加到该机器上的Admin/PU组中 – Adrian
我正在使用workgroup.But但是我在两个帐户中都创建了相同的帐户PC.but仍然得到相同的错误 –