On-line: гостей 0. Всего: 0 [подробнее..]
АвторСообщение



Пост N: 42
Зарегистрирован: 03.02.12
ссылка на сообщение  Отправлено: 21.06.13 09:41. Заголовок: Доступ к сетевым ресурсам.


Добрый день.
Подскажите пожалуйста, есть ли в Harbour функции доступа к сетевым ресурсам под определенной учетной записью?

Например:
Надо взять файл с ресурса \\serv1\folders2\load.txt
Доступ туда имеет учетная запись:
user: mdomen\user10
passw: Qazwsx!12



Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 48 , стр: 1 2 3 All [только новые]







Пост N: 265
Зарегистрирован: 08.07.06
ссылка на сообщение  Отправлено: 05.09.13 16:10. Заголовок: Dima пишет: А не по..


Dima пишет:

 цитата:
А не подскажешь как программно убить задачу на определенном компе по IP или имени ?
Из CMD это примерно выглядит так
Wmic /node:@computers.txt process where (caption=”notepad.exe”) call terminate



А что мешает сделать:
RUN("cmd /c Wmic /node:@computers.txt process where (caption=”notepad.exe”) call terminate")



Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 3522
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 05.09.13 16:13. Заголовок: Да ни чего не мешает..


Да ни чего не мешает , не люблю такие подходы если возможен нормальный путь , программный.
Это примерно тоже самое если вместо функции directory() юзать RUN("dir") с разбором строки.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 2981
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 05.09.13 16:35. Заголовок: Dima пишет: Да ни ч..


Dima пишет:

 цитата:
Да ни чего не мешает , не люблю такие подходы если возможен нормальный путь , программный.


+1

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 94
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 05.09.13 19:15. Заголовок: Dima пишет: А не по..


Dima пишет:

 цитата:
А не подскажешь как программно убить задачу на определенном компе по IP или имени ?



не пробовал но возможно примерно так
1 подключиться к компу по вми
примерно так цеплялся
oLocator := CreateObject( "wbemScripting.SwbemLocator" )
oWMI := oLocator:ConnectServer('192.168.0.107',,'domain\user', 'password')


2 получить список процессов

3 убить выбранный

PS но остается вопрос с правами на эти действия

http://msdn.microsoft.com/en-us/library/windows/desktop/aa394589(v=vs.85).aspx

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 2984
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 06.09.13 12:22. Заголовок: Haz Давай пример в ..


Haz
Давай пример в студию ! Очень хочется посмотреть !

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 95
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 06.09.13 12:42. Заголовок: Andrey пишет: Давай..


Andrey пишет:

 цитата:
Давай пример в студию !



Какой именно ? если для локального компа - Dima привел уже рабочий, если для удаленки - то это параметры в
:ConnectServer , примерно такие ( подробнее нужно гуглить "wbemScripting.SwbemLocator" )

oLocator := CreateObject( "wbemScripting.SwbemLocator" )
oWMI := oLocator:ConnectServer( cComputer,'root\CIMV2','cUser', 'cPass')

если успешно подключились - Valtype(oWMI) == 'O' , то можно объекту подсунуть любой его разрешенный запрос SELECT * ...


PS. Если задачу запускать из под учетки администратора домена ( именно так и делал когда-то ) , то к любому компу в домене легко цепляется без явного указания пользователя, пароля и пространства имен -
oWMI := oLocator:ConnectServer(cComputer,,,,,,128)

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 3525
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 06.09.13 12:44. Заголовок: Haz Спасибо идею по..


Haz
Спасибо идею понял !

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 3526
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 06.09.13 15:53. Заголовок: Haz пишет: oWMI := ..


Haz пишет:

 цитата:
oWMI := oLocator:ConnectServer(cComputer,,,,,,128)


Если IP не доступен то вот такая бяка вылазит
 
Error WINOLE/1007 ╤σ≡Γσ≡ RPC φσΣε±≥≤∩σφ. (0x800706BA): SWbemLocator (DOS Error -2147352567)
Called from TOLEAUTO:CONNECTSERVER(0)

Как бы пролечить ? Средствами WMI можно проверить доступность IP адреса ?

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 96
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 06.09.13 16:05. Заголовок: По сути успешный ко..


По сути успешный коннект и есть доступность

Можно все делать в обработчике ошибок и проверять типы
Valtype(oLacator) == 'O'
Valtype(oWmi) == 'O'

у меня в случае недоступного IP oWMI := oLocator:ConnectServer(cComputer,,,,,,128) просто висит чуть дольше , но не валиться
кстати cComputer это можбыть не только адрес но и сетевое имя, может с ним поппробывать

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 3527
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 06.09.13 16:09. Заголовок: Haz пишет: oWMI := ..


Haz пишет:

 цитата:
oWMI := oLocator:ConnectServer(cComputer,,,,,,128


Сделал так
try

oWMIserver := oWMIob:ConnectServer(cComputer,,,,,,128)
catch

? "Bad IP"
return
END


Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 97
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 06.09.13 16:12. Заголовок: ))) мысли сходятся ..


)))
мысли сходятся

PS отпишись чего да как потом получится - тоже интересно .

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 3528
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 06.09.13 16:54. Заголовок: Haz Отписываюсь ;) ..


Haz
Отписываюсь ;)
Не пашет почему то. Работает только на том компе на котором прога лежит.
Указав любой живой IP прога кажет Error
Исходник на скорую руку. Вроде должно пахать а не пашет ;)
 
Proc main (...)
local apar
apar:=hb_aparams()
if len(apar)==0
quit
endif
ListProcIP(apar[1])
return


FUNCTION ListProcIP (cip)
#ifndef __XHARBOUR__
#xcommand TRY => BEGIN SEQUENCE WITH {|e| Break( e )}
#xcommand CATCH [<!oErr!>] => RECOVER [USING <oErr>] <-oErr->
#endif

Local oWMIob, oWMIserver, aProcess, objProcess

Try
oWMIob := CreateObject( "wbemScripting.SwbemLocator" )
oWMIserver := oWMIob:ConnectServer(cip,,,,,,128)
Catch
? "Error"
RETURN nil
End



if Valtype(oWMIserver) == 'O' .and. Valtype(oWMIob) == 'O'

aProcess :=oWMIserver:ExecQuery( "Select * from Win32_Process" )

For Each objProcess in aProcess
? objProcess:Name
next
else
? "Object Error"
endif


RETURN nil



Если вот так Test 127.0.0.1 или Test IP адрес компа на котором эта прога лежит
то все работает.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 925
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 06.09.13 17:08. Заголовок: Брандмауэр не рубит ..


Брандмауэр не рубит выход проги в сеть?

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 3529
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 06.09.13 17:12. Заголовок: PSP пишет: Брандмау..


PSP пишет:

 цитата:
Брандмауэр не рубит выход проги в сеть?


Нет , выключен он

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 926
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 06.09.13 17:21. Заголовок: Тогда, возможно, нед..


Тогда, возможно, недостаточно прав пользователя.
Наверное, надо указать, под каким юзером производится подключение
http://msdn.microsoft.com/en-us/library/aa393720%28v=vs.85%29.aspx

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 3530
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 06.09.13 17:27. Заголовок: PSP Надо будет проб..


PSP
Надо будет пробнуть , хотя думал и так прокатит
Haz пишет:

 цитата:
Если задачу запускать из под учетки администратора домена ( именно так и делал когда-то ) , то к любому компу в домене легко цепляется без явного указания пользователя, пароля и пространства имен -



Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 98
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 06.09.13 18:31. Заголовок: скорее всего в права..


скорее всего в правах доступа засада, года два назад именно так и запускал задачу с сервера под админской учеткой . и без проблем лазил по компам

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 3531
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 06.09.13 18:41. Заголовок: Haz Видимо надо коп..


Haz
Видимо надо копать в сторону Security_.Privileges.AddAsString

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 99
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 06.09.13 18:45. Заголовок: видимо , но тут я па..


видимо , но тут я пас ((

Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 3532
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 07.09.13 13:48. Заголовок: При желании можно фу..


При желании можно функцию перевести и на Harbour
http://infostart.ru/public/165702/
смотрим "Функция получения информации о сетевом окружении."

я было начал но потом работы накидали по самое не хочу
 
ShellApplication := CreateObject("Shell.Application")
Network:= ShellApplication:NameSpace(18)
EntireNetwork:= Network:Items():Item("EntireNetwork"):GetFolder




PS
Тоже самое только проще (test.vbs) // проверил работает нормик
 
Set Shell = CreateObject("Shell.Application")
'получение папки "Сетевое окружение"
Set objFolder = Shell.NameSpace("::{208D2C60-3AEA-1069-A2D7-08002B30309D}")
'получение папки "Вся сеть"
Set objFolder = objFolder.Items().Item("EntireNetwork").GetFolder
'получение папки "Microsoft Windows Network"
For Each objItem In objFolder.Items()
If objItem.Name = "Microsoft Windows Network" Then
Set objFolderNetwork = objItem.GetFolder
End If
Next
'перебор доменов и рабочих групп
For Each objItem In objFolderNetwork.Items()
If objItem.IsFolder Then
Set objFolder = objItem.GetFolder
'перебор компьютеров
For Each objSubItem In objFolder.Items()
WScript.Echo objSubItem.Name
Next
End If
Next


Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 48 , стр: 1 2 3 All [только новые]
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 1
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет