下面的代碼返回來自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仍然得到相同的錯誤 –