Помогите справиться с WMI

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
netdemon
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 179
Зарегистрирован: 04.09.2007 (Вт) 15:51

Помогите справиться с WMI

Сообщение netdemon » 03.11.2007 (Сб) 18:10

Для получения информации о батарее составил вот этот код :

Код: Выделить всё


Dim servise As WbemScripting.SWbemServices
Dim ObjectSet As WbemScripting.SWbemObjectSet
Dim Sobject As WbemScripting.SWbemObject
Dim PropSet As WbemScripting.SWbemPropertySet
Dim SProp As WbemScripting.SWbemProperty
Dim WbemLocator1 As WbemScripting.SWbemLocator





Set servise = WbemLocator1.ConnectServer(".", "root\CIMV2", "", "", "", "", 0, Nothing)
Set Sobject = servise.Get("Win32_Battery", wbemFlagUseAmendedQualifiers, Nothing)
Set ObjectSet = Sobject.Instances_(0, Nothing)




В строке : Set servise =..... ошибка. 'Object Variable or With block variable not set!' :cry:
Лишь разум потерянный бесповоротно мною. Наполнить может сердце мне тоской.
Нельзя обнять необъятное и впихнуть невпихуемое.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 03.11.2007 (Сб) 18:13

netdemon
Где же твои знания ООП, наличие которых ты мне так рьяно доказывал в асе?

WbemLocator1 - это ссылка на Nothing. Перед тем вызывать у неё ConnectServer, надо бы сделать так чтобы она указывала на какой-то объект.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

netdemon
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 179
Зарегистрирован: 04.09.2007 (Вт) 15:51

Сообщение netdemon » 03.11.2007 (Сб) 18:17

Хакер писал(а):netdemon
Где же твои знания ООП, наличие которых ты мне так рьяно доказывал в асе?

WbemLocator1 - это ссылка на Nothing. Перед тем вызывать у неё ConnectServer, надо бы сделать так чтобы она указывала на какой-то объект.



Извини. Не заметил. Просто температуре уже 3-й день. Мозги совсем не варят..

Set WbemLocator1= new WbemScripting.SwbemLocator
Последний раз редактировалось netdemon 03.11.2007 (Сб) 18:20, всего редактировалось 1 раз.
Лишь разум потерянный бесповоротно мною. Наполнить может сердце мне тоской.
Нельзя обнять необъятное и впихнуть невпихуемое.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 03.11.2007 (Сб) 18:18

Что ты пробовал? Код в студию.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

netdemon
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 179
Зарегистрирован: 04.09.2007 (Вт) 15:51

Сообщение netdemon » 03.11.2007 (Сб) 18:22

У меня просто такое же состояние как у кота на аватаре.
Лишь разум потерянный бесповоротно мною. Наполнить может сердце мне тоской.
Нельзя обнять необъятное и впихнуть невпихуемое.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 03.11.2007 (Сб) 18:24

Если состояние такое, как у кота на аватаре, то нужно прекращаться заниматься в WMI до полного выздоровления.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

netdemon
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 179
Зарегистрирован: 04.09.2007 (Вт) 15:51

Сообщение netdemon » 03.11.2007 (Сб) 18:27

Это точно! Сейчас пару свойств выковыряю и буду лечиться.

Добавлено 4.10.2007 20:06

А как пользоваться классом : SWbemObjectPath ?
Лишь разум потерянный бесповоротно мною. Наполнить может сердце мне тоской.
Нельзя обнять необъятное и впихнуть невпихуемое.

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 06.11.2007 (Вт) 10:19

Это кривой никому не нужный код. C WMI проще всего работать через GetObject, чему на этом форуме масса примеров.
I don't understand. Sorry.

netdemon
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 179
Зарегистрирован: 04.09.2007 (Вт) 15:51

Сообщение netdemon » 06.11.2007 (Вт) 10:24

RayShade писал(а):Это кривой никому не нужный код. C WMI проще всего работать через GetObject, чему на этом форуме масса примеров.


Ссылочку кинь.
Лишь разум потерянный бесповоротно мною. Наполнить может сердце мне тоской.
Нельзя обнять необъятное и впихнуть невпихуемое.

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 06.11.2007 (Вт) 10:54

I don't understand. Sorry.

netdemon
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 179
Зарегистрирован: 04.09.2007 (Вт) 15:51

Сообщение netdemon » 07.11.2007 (Ср) 16:28

RayShade
А как получить список пользователей на удалённом компе если известен только адрес сервера. www. .....

Вот так делаю на своей машине.

Код: Выделить всё
Set objNetwork = CreateObject("Wscript.Network")

strComputer = objNetwork.ComputerName
Set colAccounts = GetObject("WinNT://" & strComputer & "")
colAccounts.Filter = Array("user")
For Each objUser In colAccounts
MsgBox objUser.Name
Next

Лишь разум потерянный бесповоротно мною. Наполнить может сердце мне тоской.
Нельзя обнять необъятное и впихнуть невпихуемое.

Belkin
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 63
Зарегистрирован: 02.11.2007 (Пт) 18:02
Откуда: Рязань

Сообщение Belkin » 07.11.2007 (Ср) 17:24

netdemon
На сколько я понимаю если сеть с доменами, то пользователя (доменного) не выводит?
Андрей.

netdemon
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 179
Зарегистрирован: 04.09.2007 (Вт) 15:51

Сообщение netdemon » 07.11.2007 (Ср) 17:30

Belkin писал(а):netdemon
На сколько я понимаю если сеть с доменами, то пользователя (доменного) не выводит?


Да. Просто пустой список.


Задача такая. Есть сервер : www. ..... У него есть домен GEcrfq NETDEMON,

На сервере доступно удалённое управление для N пользователей c Правами : Guest, Administrator и т.д.

Так вот как подключиться к серверу через WMI.?
Лишь разум потерянный бесповоротно мною. Наполнить может сердце мне тоской.
Нельзя обнять необъятное и впихнуть невпихуемое.

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 08.11.2007 (Чт) 9:40

Хм... Я думаю что, это теоретически возможно, я в принципе подключася к WMI по IP адресам, правда внутри intranet. Хотя, как знать оно поведет себя при работе через internet?
I don't understand. Sorry.

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Сообщение Sebas » 08.11.2007 (Чт) 10:16

RayShade писал(а):Хм... Я думаю что, это теоретически возможно, я в принципе подключася к WMI по IP адресам, правда внутри intranet. Хотя, как знать оно поведет себя при работе через internet?

Ну, очевидно, вопрос настройки файрволов и маршрутизаторов... WBEM кроссплатворменный стандарт и подразумевал работу в сети. Хотя по портам не скажу(
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 90

    TopList