Sub ListTotalFolders()
Dim strComputer As String, numShares As Integer, numNonAdm As Integer
Dim colShares As Object, objShare As Object
Dim listShares As String
strComputer = "ws_lab"
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colShares = objWMIService.ExecQuery("Select * from Win32_Share")
numShares = colShares.Count
If numShares > 0 Then
numNonAdm = 0
For Each objShare In colShares
If objShare.Type = 0 And objShare.Name <> "print$" Then
numNonAdm = numNonAdm + 1
listShares = listShares & "Сетевое имя: " & objShare.Name & vbCr & _
"Комментарий: " & objShare.Caption & vbCr & _
"Путь: " & objShare.Path & vbCr & vbCr
End If
Next objShare
If numNonAdm > 0 Then
MsgBox listShares
Else
MsgBox "Ничего подходящего не обнаружено."
End If
Else
MsgBox "Ничего не обнаружено."
End If
End Sub
Расшаренные папки
Как получить список расшаренных папок у удаленного компа по ИП или имени? Где-то слышал, что через NetAPI, но не нашел доков.
Цитата:
Originally posted by PAV
Как получить список расшаренных папок у удаленного компа по ИП или имени? Где-то слышал, что через NetAPI, но не нашел доков.
Как получить список расшаренных папок у удаленного компа по ИП или имени? Где-то слышал, что через NetAPI, но не нашел доков.
Если хотите выполнить эту работу именно с помощью Win32 API, то советую обратиться к API-Guide: http://www.mentalis.org/agnet/appdown.shtml.
Однако можно обойтись и без Win32 API. Неплохо помогают и средства WMI. Вот пример:
Код:
Здесь ws_lab - это имя интересующей сетевой станции.
Попробовал, работает, но почему-то только с моим компом. На другие permission denied. Как там можно управлять доступом?
работает, но почему-то только с моим компом[/QUOTE]
Да-да PAV совершенно прав: работает только на собственном компьютере. Как ето исправить ?
WMI-запрос выполняется в контексте политики безопасности того пользователя, который его создал.
Для обзора открытых на рабочей станции (тем более - на сервере) сетевых ресурсов требуются права локального администратора (для сервера нужны - самое малое - права администратора домена).