Vova_2581 писал(а):Имеется расшаренный сетевой ресурс сервера, например, «Temp». Нужно удаленно определить полный адрес директории этого ресурса, типа «C:\Program Files\Temp». Как сделать? UNC не предлагать.
Автор походу не знает, что такое UNC, иначе бы не выдвинул такое требование.UNC не предлагать.
Ты написал лишнее. "Имеется расшаренный сетевой ресурс" — ежу ясно, что ты этот путь уже знаешь.Vova_2581 писал(а):Меня не интересует «\\Srv1\Folder1\Sub1\» по-моему я написал это четко и ясно.
Vova_2581 писал(а):Насчет WMI подробней можно?
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colShares = objWMIService.ExecQuery("Select * From Win32_Share")
For Each objShare in colShares
Set colAssociations = objWMIService.ExecQuery _
("Associators of {Win32_Share.Name='" & objShare.Name & "'} " _
& " Where AssocClass=Win32_ShareToDirectory")
For Each objFolder in colAssociations
Wscript.Echo objShare.Name & vbTab & objFolder.Name
Next
Next
jangle писал(а):Vova_2581 - честным способом ты никак не узнаешь локальный путь сетевой папки. Это тебе и не нужно вообще-то. А методом грязного хака теоретически можно, положить в сетевую папку экзешник и попросить его запустить оператора сервера. Экзешник определит папку из которой он запущен и скинет путь потом тебе путь по электронной почте или по сети. Но это уже троян получается.
Денис писал(а):А если в нужную папку положить DirInfo.txt в котором написать локальное расположение, а потом тупо читать этот файл?
jangle писал(а):Денис писал(а):А если в нужную папку положить DirInfo.txt в котором написать локальное расположение, а потом тупо читать этот файл?
А не проще тогда просто назвать сетевую папку локальным путем? Например C-Programms_Files-projects-folder
Где "-" надо заменить на "\", а "_" на пробелы. И никакие файлы не нужны. Весь путь уже указан в названии папки.
Vova_2581 писал(а):...По свободе отпишусь...
iGrok писал(а):Vova_2581 писал(а):...По свободе отпишусь...
Посадили таки человека.. И ведь за такую ерунду!
Сколько лет хоть дали?
For Each objShare In GetObject("WinMgmts:\\.\root\cimv2").InstancesOf("Win32_Share")
Print objShare.Path
Next
strComputer = "192.168.212.41" 'IP сервера
Set objSWbemLocator = CreateObject("WbemScripting.SWbemLocator")
Set objWMIService = objSWbemLocator.ConnectServer(strComputer, "root\CIMV2", _
"strUserLogin", _
"strUserPassword", _
"MS_409", _
"ntlmdomain:" + strDomain)
For Each objShare In objWMIService.InstancesOf("Win32_Share")
Print objShare.Path
Next
Сейчас этот форум просматривают: AhrefsBot, Google-бот, Yandex-бот и гости: 81