Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » VBS/WSH/JS - [решено] *WMI* | Как программно удалить устройтсво?

Ответить
Настройки темы
VBS/WSH/JS - [решено] *WMI* | Как программно удалить устройтсво?
pva pva вне форума

Аватара для pva

Ветеран


Сообщения: 1180
Благодарности: 279

Профиль | Отправить PM | Цитировать


Здравствуйте все! У меня раз в день глючит модем, которое можно оживить так:
  1. удалить модем, сылающийся на порт
  2. удалить порт
  3. обновитьс список устройств (чтобы порт добавился)
  4. добавить модем
Другие способы не прокатывают, хочу этот автоматизировать. Как найти его класс через WMI я выяснил, но удалить его и обновить устройства - что-то туплю. Подскажите, кто что знает?

Отправлено: 21:29, 17-02-2011

 

Старожил


Сообщения: 154
Благодарности: 39

Профиль | Отправить PM | Цитировать


)) чесно - это из разряда "здраствуйте, у меня у машины мотора нет, но кататься хота, куда лучше поставить цепь для педалей"? а если по теме я слышал о WMI Code Creator, может это то что тебе нужно?

Отправлено: 21:53, 17-02-2011 | #2



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

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.

pva pva вне форума Автор темы

Аватара для pva

Ветеран


Сообщения: 1180
Благодарности: 279

Профиль | Отправить PM | Цитировать


Продолжая метафору: "мотор у машины есть. Педаль газа жать надоело. Ищу вентиль автостарта". По теме: ещё есть большой MSDN, где описано то, что выдаёт WMI Code Creator. Так вот, по поводу классов Win32_SerialPort: есть метод Restart, который тупо не реализован.

Нашёл вот что:
Код: Выделить весь код
Just guessing but try these :
rundll32 cfgmgr32.dll ,CM_Reenumerate_DevNode
rundll32 cfgmgr32.dll ,CM_Locate_DevNodeA
Нифига не работает

Код: Выделить весь код
RunDll32.exe Syssetup.dll,UpdatePnpDeviceDrivers
Настолько ядрёная вещь, что понаделала двойников некоторых устройств, выбила нафиг вай-фай, который заработал только после перезагрузки. На такие жертвы я не согласен. Ищем ещё.

2 метода оставлены на закуску:
Код: Выделить весь код
'example of AppActivate and SendKeys

set WshShell = CreateObject("WScript.Shell")
WshShell.Run "devmgmt.msc"
WScript.Sleep 1000
While WshShell.AppActivate("Device Manager") = FALSE
     wscript.sleep 1000
Wend
WshShell.AppActivate "Device Manager"
WScript.Sleep 200
WshShell.Sendkeys "{TAB}"
WScript.Sleep 200
WshShell.SendKeys "%A"
WScript.Sleep 200 
WshShell.SendKeys "A"
While WshShell.AppActivate("Scanning Plug and Play Compliant Hardware...") = TRUE
     wscript.sleep 5000
Wend
WshShell.AppActivate "Device Manager"

'Wscript.Sleep 500
WshShell.Sendkeys "{ENTER}"
Wscript.Sleep 500
WshShell.Sendkeys "%{F4}"
*** Script Ends
не дай бог нажать что-нибудь на клавиатуре или неудачно тыкнуть мышкой

Код: Выделить весь код
devcon rescan
http://support.microsoft.com/default...N-US%3Bq311272
неужели WMI не сделали?

Последний раз редактировалось pva, 17-02-2011 в 22:32.


Отправлено: 22:17, 17-02-2011 | #3

pva pva вне форума Автор темы

Аватара для pva

Ветеран


Сообщения: 1180
Благодарности: 279

Профиль | Отправить PM | Цитировать


Что-то devcon я вообще не оценил. Выдаёт ответ в совершенно неудобоворимом формате. Пробовал найти свой модем в устройствах - гемор какой-то. Единственная полезная функция - это rescan.

В общем devcon - в мусорку.

Метод активации запуском менеджера устройств не прокатывает, ибо комбинация клавиш, которую надо нажать, чтобы вызвать обновление устройств, просто жуткая! как для фаталити в мортал-комбате. Предложенный буржуями вариант не прокатил на русскоязычной винде.

В общем оставленное на закуску - в мусорку.

Ищем дальше.

Отправлено: 15:05, 18-02-2011 | #4

pva pva вне форума Автор темы

Аватара для pva

Ветеран


Сообщения: 1180
Благодарности: 279

Профиль | Отправить PM | Цитировать


Написал удобную утилиту, использующую cfgmgr32.dll

Отправлено: 02:05, 19-02-2011 | #5


Новый участник


Сообщения: 3
Благодарности: 0

Профиль | Отправить PM | Цитировать


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

Отправлено: 17:48, 27-07-2011 | #6

pva pva вне форума Автор темы

Аватара для pva

Ветеран


Сообщения: 1180
Благодарности: 279

Профиль | Отправить PM | Цитировать


К сожалению, я не могу прикрепить исходник, т.к. сумма моих вложений превышает 1.99 Мб. и что-то там надо удалять, а мне лень. Я думал оно самоуничтожается при необходимости

Отправлено: 21:55, 27-07-2011 | #7


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


pva, всегда можно выложить на обменник, а ссылку выложить сюда или в ПМ просящему.

Отправлено: 23:42, 27-07-2011 | #8


Новый участник


Сообщения: 3
Благодарности: 0

Профиль | Отправить PM | Цитировать


Так ли сложно выложить на какой-нибудь обменник, как посоветовал Iska?

Отправлено: 09:27, 03-08-2011 | #9

pva pva вне форума Автор темы

Аватара для pva

Ветеран


Сообщения: 1180
Благодарности: 279

Профиль | Отправить PM | Цитировать


Nerey, скажи почту, я вышлю. С обменниками надо заморачиваться

Отправлено: 13:51, 21-08-2011 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » VBS/WSH/JS - [решено] *WMI* | Как программно удалить устройтсво?

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
C/C++ - [решено] Как программно создать папку? Viruss Программирование и базы данных 11 03-12-2010 16:14
Log/Monitoring - Как программно найти закольцовку в сети? babki Сетевые технологии 9 12-07-2010 20:53
[решено] Как программно удалить пустые папки ? R.M.L AutoIt 8 17-05-2010 11:07
Как управлять переключением раскладок программно Alik_1978 Программирование и базы данных 3 25-12-2006 02:32
Как программно определить свой IP Guest Сетевые технологии 3 23-06-2004 09:45




 
Переход