Przejdź do głównej zawartości

DevCon.exe — menedżer urządzeń z wiersza poleceń w Windows

Menedżer urządzeń w Windows znają zapewne wszyscy, ale nie każdy może wiedzieć, iż istnieje także wersja konsolowa. DevCon.exe (Device Console ) jest narzędziem z linii wiersza poleceń, które pozwala na zarządzenie sprzętem w okienkach od Microsoftu. Aplikacja pozwala na aktywowanie/dezaktywowanie, instalację, usuwanie i bogatą konfigurację urządzeń w Windowsie. DevCon.exe jest bardziej rozbudowany funkcjonalnie niż Menedżer urządzeń. Dodatkowo aplikacja pozwala na zarządzanie sprzętem na komputerze lokalnym, ale także na komputerze zdalnym.

desk

DevCon -instalacja

DevCon.exe jest częścią Windows Driver Kit i można pobrać go z całym pakietem. DevCon działa już od Windows 2000, zaś najnowszą wersję WDK 10 można pobrać tutaj. Kod źródłowy DevCon został udostępniony za darmo przez Microsoft i można go znaleźć na GitHubie. Co ciekawe DevCon można znaleźć razem z aplikacjami innych producentów sprzętu (np. Lenovo dorzuca DevCon.exe wraz modułem do zarządzania energii - Energy Manager). DevCon posiada oddzielną wersją pod system 32 i 64 bitowy. Co ważne można obsługa z wiersza poleceń umożliwia pisanie zaawansowanych skryptów. Narzędzie do pracy wymaga uprawnień administracyjnych.

Narzędzie, po zainstalowaniu WDK, znajduje się w folderze:


%WindowsSdkDir%\tools\x64\devcon.exe
%WindowsSdkDir%\tools\x86\devcon.exe
%WindowsSdkDir%\tools\arm\devcon.exe

desk

Praca z DevCon

Lista dostępnych komend w DevCon.exe jest dość pokaźna i krótki opis każdej z nich otrzymamy po wpisaniu komendy

devcon help

classfilter          Add, delete, and reorder class filters.
classes              List all device setup classes.
disable              Disable devices.
driverfiles          List installed driver files for devices.
drivernodes          List driver nodes of devices.
enable               Enable devices.
find                 Find devices.
findall              Find devices, including those that are not currently attached.
help                 Display Devcon help.
hwids                List hardware IDs of devices.
install              Install a device manually.
listclass            List all devices in a setup class.
reboot               Reboot the local computer.
remove               Remove devices.
rescan               Scan for new hardware.
resources            List hardware resources for devices.
restart              Restart devices.
sethwid              Modify Hardware ID's of listed root-enumerated devices.
stack                List expected driver stack for devices.
status               List running status of devices.
update               Update a device manually.
updateni             Manually update a device (non interactive).
dp_add               Adds (installs) a third-party (OEM) driver package.
dp_delete            Deletes a third-party (OEM) driver package.
dp_enum              Lists the third-party (OEM) driver packages installed on machine.


Każde z wywołań funkcji DevCon może zostać poprzedzone przełącznikiem /r który oznaczą, iż w razie potrzeby zostanie zrestartowany komputer.

devcon /r disable *CDROM*  # dezaktywuje napęd 

Każde z poleceń DevCon posiada dodatkowy opis, ze szczegółami wywoływania, które można otrzymać poprzez wywołanie:

devcon help <command>

Dostęp do konfiguracji komputera zdalnego uzyskamy poprzez użycie parametru /m z nazwą zdalnej maszyny:

devcon /m:\\computer

Devcon akceptuje w zapytaniach znak specjalny *, który pozwala na wyszukanie po częściach nazwy (komputera, ID urządzenia, klasy, instancji itd.), np.:

devcon find *usb* *acpi*

Takie zapytanie zwróci urządzenia, które mają w ID usb lub acpi (użycie co najmniej dwóch elementów do wyszukiwania implikuje wyszukiwanie lub [or]).

desk

Można również ograniczyć wyszukiwanie do klasy, poprzez podanie nazwy klasy np.:

devcon hwids =usb *root* *ven*

Spowoduje przefiltrowanie urządzeń z klasy usb, które mają w ID nazwę root lub ven .

desk

Użycie DevCon, przykład z życia wzięty

DevCon ma wiele zastosowań i zapewne wielu z was aplikacja może przydać się w przyszłości. W moim przypadku DevCon rozwiązała problem ze starą drukarką i nowymi okienkami od Microsoftu. Otóż po aktualizacji do Windows 10 (32bit) na starszym komputerze nieśmiertelna drukarka HP 710C (na porcie równoległym) sypała błędami przy próbie drukowania. Okazało się, że sterowniki HP do sprzętu zostały całkowicie skopane , a w systemach od Windows 8.x 64 bit nie można zupełnie używać tej drukarki! Na szczęście system był 32 bitowy i w tym wypadku błąd w sterownikach można było prosto ominąć. Otóż przed drukowaniem wystarczyło jedynie usunąć całkowicie sterowniki z portów LPT i ponownie je dodać. Czynność prosta, ale jednakże poprzez menedżer urządzeń wygajająca kilku kliknięć. Dodatkowo, osoby pracujące na co dzień z owym komputerem nie posiadały na tyle wiedzy, aby sobie z tym poradzić. Z pomocą przyszło narzędzie DevCon. Usunięcie i ponownie zainstalowanie urządzeń znajdujących się na porcie równoległym stało się niezmiernie proste. Stworzeniu odpowiedniego skryptu, uruchamianego poprzez dwukrotne kliknięcie, pozwalało na szybkie rozwiązanie problemu:


devcon remove *pnp04*  #usuwamy wszystko co znajduje się na portach równoległych
devcon rescan #skanujemy w poszukiwaniu nowego sprzętu
# (sterowniki drukarki zostaną ponowie dodane)

Bez devcon , próba obejścia problemu wymagałaby znacznie więcej wysiłku i klikania dla przeciętnego użytkownika komputera.

Kilka innych przykładów użycia DevCon

Wcześniej użyłem już poleceń hwids i find do wyszukiwania ID oraz klas urządzeń, a także rescan (do odświeżenia listy podzespołów działających na Plug and Play). Oto kilka innych zastosowań DevCon. Oczywiście to tylko mały wycinek możliwości narzędzia.

Jeśli chcemy szybo odnaleźć pliki, jakie wchodzą w skład sterownika, użyjemy polecenia drivefiles :

devcon driverfiles =media

desk

Szczegóły pakietów sterowników odnajdziemy poprzez polecenie devcon :

devcon drivernodes =usb pci*

desk

Status poszczególnych podzespołów uzyskamy poprzez polecenie status :

devcon status *cd*

desk

Polecenie enable/disable aktywuje urządzenia, np:

devcon disable =printer

Wymuszenie nadpisania sterowników do urządzenia z pliku INF odbywa się poprzez komendę update (polecenie updateNI nie wyświetla powiadomień):

devcon /r update c:\windows\inf\newdvc.inf *PNP030b

DevCon - mały, darmowy i z wielkimi możliwościami

DevCon.exe pozwala na szybkie tworzenie skryptów do zarządzania sprzętem zarówno na komputerze lokalnym, ale także i na maszynie zdalnej. Zapewne szeroką gamę zastosowań znajdą tutaj nie tylko administratorzy, ale również zaawansowaniu użytkownicy, którzy w trywialny sposób ułatwią sobie konfigurację, naprawę czy szczegółową diagnozę sprzętu.

Komentarze

Popularne posty z tego bloga

222 polskie gry, które warto znać - Marcin Kosman, recenzja książki

Marcin Kosman dał się poznać jako autor ciekawej pozycji o polskim game devie: "Nie tylko Wiedźmin. Historia polskich gier komputerowych". Po pięciu latach wraca z nową książką, również związaną z polską branżą grową, ale w zupełnie innej formie.222 polskie gry"222 polskie gry, które warto znać" to wyjątkowa książka. Co więcej, to nie jest książka jako taka, a bliżej jej do albumu. W języku angielskim funkcjonują one jako tzw. "Coffee table books", czyli książki/albumy bardziej do oglądania, niż do czytania.Tak jest właśnie z omawianą pozycją. W twardych okładach, w formacie B5 i na pięknym, kredowym papierze, znalazło się 222 polskich gier z lat 1983-2019. Każda strona to duża grafika, z kilkoma zdaniami o grze od autora książki, a czasem również dodatkowy, akapitem od osób tworzących dany kawałek softu.Wybór gier jest na tyle szeroki, że można śmiało powiedzieć, iż wybrano faktycznie najbardziej znaczące i rozpoznawalne tytuły. Jako, że przygodę zacząłe…

.NET Linux vs Windows - test wydajności .NET Core 3.1, .NET 5.0, a także Mono

Jakiś czas temu przedstawiłem wyniki porównania kilku środowisk uruchomieniowych platofrmy .NET - artykuł: Umarł .NET Framework, niech żyje .NET Core (oraz .NET 5) i jego wydajność (link do wpisu). Wówczas testy odpalałem na Windows 10, a sprawdzany był .NET Framework 4.8, .NET Core 3.1, a także nowy .NET 5.0 (wersja preview).Trzeba jednak zdać sobie sprawę, że .NET od dłuższego już czasu (Mono, he he) jest środowiskiem wieloplatformowym. Warto zatem sprawdzić, jak różne środowiska uruchomieniowe .NET radzą sobie na Windows i Linuxie. Mimo, iż Mono jest z nami od wielu lat, to nowy .NET Core sprawił, że tworzenie aplikacji .NET i ich hostowanie na Linuxie stało się bardzo kuszące (cena). Zatem które z nich jest szybsze i na jakiej platformie? Pod uwagę wziąłem .NET Core 3.1, .NET 5 (zwany też jako .NET Core 5) oraz poczciwe Mono.DotNetFrameworkVsCoreDo testów wykorzystałem własny projekt na GitHube:https://github.com/djfoxer/DotNetFrameworkVsCoreJest to niewielka aplikacja testująca…

Programistok - Białystok dla programistów i nie tylko

W Białymstoku powstała bardzo ciekawa inicjatywa promująca nowe technologie i trendy w programowaniu - Programistok. (Programistok na Facebooku: http://www.facebook.com/pages/Programistok/237808102923666 )Cykliczne spotkania będą omawiać m.in. programowanie na urządzenia mobilne, testowanie aplikacji, projektowanie interfejsów użytkownika czy pisanie lepszego, czystszego kodu. Każdy zainteresowany może zgłosić swoją propozycjię prezentację (20 - 30 minut).Impreza organizowana przy udziale firmy AmberBit (http://amberbit.com/ )Cele jakie przyświecają Programistokowi:integracja podlaskiego (i nie tylko) środowiska programistów poprzez wymianę pomysłów, doświadczeń wśród wielu różnych technologii związanych z internetem - nie ma narzędzi idealnych, każdy projekt warto rozpatrzyć indywidualniena spotkaniu są różnorodni ludzie, więc dobra okazja na poszukanie nowej pracy lub znalezienie pracownikaspotkanie raz w miesiącu w luźnej atmosferze (Pub Mao, Młynowa 44, http://www.mao.com.pl/ )…

Oni migają tymi kolorami w sposób profesjonalny. Narodziny gamedevu z ducha demosceny w Polsce - Piotr Marecki i Tomasz TDC Cieślewicz, recenzja książki

Tytuł książki jest mocno rozbudowany i zapewne pierwsze spojrzenie na okładkę może odstraszyć potencjalnego klienta, jednakże, warto dać szansę tej pozycji. Zaskoczeń jest kilka, chociaż nie tylko tych pozytywnych. Zatem przejdźmy do krótkiej recenzji "Oni migają tymi kolorami w sposób profesjonalny".TDC - Demoscena, Atari, Mirage i piractwo w PolsceKsiążka jest zbiorem historii opowiadanych przez Tomasza TDC Cieślewicza. Swoje przygody z IT zaczął w 1988 roku, kiedy to otrzymał Atari 800 XL. Od 1989 roku związany był z Mirage i jako jeden z najmłodszych tworzył gry na rynek polski. Był również współpracownikiem "Bajtka" i członkiem redakcji "Atari Magazynu". Bardzo mocno związany z demosceną Atari, gdzie tworzy do dziś. Zaangażowany w szkolenia i warsztaty z programowania. Obecnie redaktor Atarionline.plPrzyznaję, że wcześniej nie słyszałem o Tomaszu Cieślewiczu, ale po przeczytaniu tej książki śmiało można powiedzieć, że dziś zapewne byłby freelancerem …

Licznik Blogowy - wersja 0.6, czyli własne statystyki i wykresy tuż pod ręką

Zapewne wielu z Was pamiętam, a może i używa:) , mojej wtyczki Licznik Blogowy do najpopularniejszych przeglądarek, skierowanej do blogerów na portalu dobreprogramy.Jeśli ktoś nie kojarzycie, to w skrócie: Licznik Blogowy to wtyczka do Chroma/Opery/Firefoxa. Za jej pomocą przejrzycie szybko pełne statystyki swoich wpisów na blogu. Lista wpisów może być sortowana wg: ilości wyświetleń, ilości komentarzy, daty publikacji i adnotacji moderacji. Łatwo znajdziecie publikacje, oznaczone przez moderatorów, a to wszystko w estetycznej i miłej formie, dostosowanej do wybranej skórki na blogu.Licznik Blogowy 0.6 - czas na własne wykresy! :)Ostatnia odsłona wtyczki przyniosła ciekawe refleksje po rozmowie z szanownym Panem Mordziem. Zaproponował on, aby wtyczka mogła generować wykresy na podstawie zebranych danych. Pomysł wydał mi się niezmiernie interesujący, stąd też obecna aktualizacja (0.6) przynosi możliwość tworzenia wykresów, opierając się na zabranych danych.Używanie nowej funkcji jes…

Nie tylko Wiedźmin. Historia polskich gier komputerowych — książka, której nie wypada nie kupić [recenzja]

Wspomnień czar. Czyli dawno, dawno temu...Moja przygoda z grami zaczęła się na poważnie od Amigii 500. W zestawie wraz z komputerem dostałem Lemingi i Powermonger, w pudełkach z taniej serii od IPSu, plus kartonowe wydanie Tokiego z Wielkiej Brytanii. Oczywiście w komplecie były również potężny zestaw dyskietek z ogromną ilością oprogramowania. Każdy nośnik był ręcznie podpisany i wskazywał jawnie na nielegalne źródło pochodzenia, aczkolwiek przed rokiem 1994, czyli przed wejściem ustawy "antypirackiej" , nikt nawet się tym nie przejmował.Gry, do pewnego momentu, zawsze kojarzyły się z językiem angielskim, który dla młodego człowieka na początku lat 90tych był często dużą barierą nie do pokonania. Często zatem siadałem ze słownikiem w dłoni i mozolnie tłumaczyłem newralgiczne elementy gry, bez których dalsze przejście gier było niemożliwe. Oczywiście zdarzały się wyjątki. Słynny Flashback otrzymałem w wersji francuskiej, a mimo to przeszedłem kilka poziomów. Wiele było ró…

Visual Studio Achievements

Każdy kto gra w gry, spotkał się z terminem achievement, czyli osiągnięcie. Za każdą, rzecz jaką zrobimy w grze, czy to znalezienie sekretu, czy zwykłe przejście mapy, odblokowujemy określone osiągnięcie. Jest to obecnie na konsolach, czy na Steamie. Możemy pochwalić się osiągnięciami wśród znajomych w systemie w jakim gramy, czy na Facebooku. Prosty sposób na wydłużenie gry i zwiększenie więzi pomiędzy graczem, a grą.Visual Studio Achievements. Co ma do tego Visual Studio? Ktoś wpadł na genialny pomysł. Połączył założenia achievementów ze świata gier z kodowaniem w Visual Studio! :) Wszystko zaczęło się na www.reddit.com, gdzie ktoś z nudów/dla żartów dodał wątek "A co gdyby, Visual Studio miało osiągnięcia?". Okazało się, że pomysł chwycił na tyle, iż powstał... plugin (darmowy) do Visual Studio! Każdy z Was może go ściągnąć i zainstalować w Visualu. Od tej chwili będzie zbierał osiągnięcia, niczym w grach wideo :)Tak jak w grach, za konkretne czynności odblokowujemy osi…

Tania, przeceniona prasa - lukratywny biznes na pograniczu prawa? Czyli CD-Action za 4zł

Zapewne większość z was zna pojęcie "taniej prasy" lub "przecenionej prasy". Są to najczęściej miejsca, gdzie można kupić gazety, magazyny i inne dobra kryjące się pod definicją prasy. Ich cechą jest to, iż nie są to aktualne wydanie, ale w większości przypadków "przeterminowane" egzemplarze, które zostały zastąpione aktualnymi numerami. Można zatem znaleźć tam magazyn sprzed roku lub dwóch, ale także numer CD-Action za 4zł, z jeszcze działającym kodem na gry, który dosłownie kilka dni wcześniej można było kupić w saloniku z prasą za 10,99zł.Jak to powinno być?Przeglądając strony w sieci natknąłem się na kilka artykułów, które opisują dany problem. Zgodnie z umowami, dystrybutorzy prasy nieaktualne numery powinni zwracać do wydawców. Drugą opcją jest zaś oddawanie takiej prasy na makulaturę. Zanim jednak trafi ona na "wysypisko" powinna zostać naznaczona farbą lub przecięta w taki sposób, aby nie nadawała się do odsprzedaży.A jak jest?Trudno jed…

Licznik Blogowy 2017 — niezbędnik blogera (Chrome/Opera/Firefox)

Nadeszła ta chwila. Po wielu latach oficjalnie światło dziennie ujrzała finalna wersja Licznika Blogowego. Dodatku do przeglądarki www, który pozwala na zbieranie danych o każdym blogu na portalu (nawet bez logowania!) i przedstawieniu statystyk w formie tekstowej i graficznej.HistoriaHistoria Licznika Blogowego sięga roku 2014. Wówczas to na początku roku powstaje dodatek do Chrome, który zbiera dane odnośnie wyświetleń wszystkich wpisów blogowych zalogowanej osoby. W przeciągu najbliższych miesięcy wtyczka otrzymuje możliwość instalacji na przeglądarkach Firefox i Opera, a także tworzenie wykresów na podstawie zebranych danych.Niestety w przeciągu lat portal przeszedł na https, a możliwość instalacji wtyczek spoza marketu stała się utrudniona lub nawet niemożliwa na wspieranych przeglądarkach. W ostatnim czasie otrzymałem sporo zapytań odnośnie reaktywacji wtyczki i przyszedł ten czas, aby zaprezentować finalną wersję.Licznik BlogowyLicznik Blogowy przeznaczony jest do analizy blo…