Skocz do zawartości


tablety.pl
Zdjęcie

Opis BIOS-u z pomocą WMI




  • Zamknięty Temat jest zamknięty
3 odpowiedzi w tym temacie

#1 maggreg

maggreg

    Second Rank

  • Użytkownicy +
  • 157 postów

Napisano 09 01 2010 - 17:53

Swego czasu napisałem sobie mały skrypcik VBS wyświetlający dane DMI(SMBIOS)
Oto link do niego:
SMBIOS

A to efekt jego użycia:


Dołączona grafika


Teraz zamierzałem dodać sobie do niego odczyt wersji i producenta Biosu a konkretnie dane które np. Everest wyświetla w zakładce "Płyta główna/BIOS":


Dołączona grafika


Niestety nie mogę tego osiągnąć, klasa WMI win32_BIOS nie sięga do tych danych.
Czy można to w ogóle wyciągnąć przez WMI.

pzdr

#2 Kolega Dudysa

Kolega Dudysa

    Good Rank

  • Na emeryturze
  • 700 postów
  • Płeć:Mężczyzna

Napisano 09 01 2010 - 19:09

Cześć klasa WIn32_Bios zawiera w sobie takie właściwości:

Operacje pobierania właściwości.
SPOSÓB UŻYCIA:

GET [<lista właściwości>] [<przełączniki pobierania>]
UWAGA: <lista właściwości> ::= <nazwa właściwości> | <nazwa właściwości>, <lista właściwości>

Dostępne są następujące właściwości:
Właściwość Typ Operacja
======== ==== =========
BIOSVersion array of string Read

Opis:
Właściwość tablicowa BIOSVersion zawiera pełne informacje o systemie BIOS. W przypadku wielu komputerów w Rejestrze może być przechowywanych kilka ciągów reprezentujących informacje o systemie BIOS. Ta właściwość zawiera ich pełny zestaw.

BiosCharacteristics array of uint16 Read

Opis:
Właściwość BiosCharacteristics identyfikuje charakterystyki systemu BIOS obsługiwane przez system, zdefiniowane w specyfikacji System Management BIOS Reference Specification.

BuildNumber string Read

Opis:
Identyfikator wewnętrzny dla tej kompilacji tego elementu oprogramowania.

Caption string Read

Opis:
Właściwość Caption jest zwięzłym (ciąg w pojedynczym wierszu) tekstowym opisem obiektu.

CodeSet string Read

Opis:
Zestaw kodu używany przez ten element oprogramowania.

CurrentLanguage string Read

Opis:
Właściwość CurrentLanguage wskazuje nazwę aktualnego języka systemu BIOS.

Description string Read

Opis:
Właściwość Description udostępnia tekstowy opis obiektu.

IdentificationCode string Read

Opis:
Wartość tej właściwości jest identyfikatorem producenta dla tego elementu oprogramowania. Często jest to jednostka magazynowa (SKU) lub numer części.

InstallDate datetime Read

Opis:
Właściwość InstallDate jest wartością typu data/godzina wskazującą datę i godzinę zainstalowania obiektu. Brak tej wartości nie oznacza, że obiekt nie jest zainstalowany.

InstallableLanguages uint16 Read

Opis:
Właściwość InstallableLanguages wskazuje liczbę języków dostępnych do instalacji w tym systemie. Język może mieć wpływ na właściwości, takie jak konieczność zastosowania standardu Unicode i tekstu dwukierunkowego.

LanguageEdition string Read

Opis:
Wartość tej właściwości identyfikuje edycję języka tego elementu oprogramowania. Powinny być używane kody języka zdefiniowane w normie ISO 639. Tam gdzie element oprogramowania reprezentuje wielojęzyczną lub międzynarodową wersją produktu, powinien być używany ciąg wielojęzyczny.

ListOfLanguages array of string Read

Opis:
Właściwość ListOfLanguages zawiera listę nazw dostępnych języków, które mogą być zainstalowane w systemie BIOS.

Manufacturer string Read

Opis:
Producent tego elementu oprogramowania

Name string Read

Opis:
Nazwa używana do identyfikacji tego elementu oprogramowania.

OtherTargetOS string Read

Opis:
We właściwości OtherTargetOS rejestrowana jest nazwa producenta i typ systemu operacyjnego dla elementu oprogramowania, kiedy właściwość TargetOperatingSystem ma wartość 1 ("Inny"). Dlatego, kiedy właściwość TargetOperatingSystem ma wartość "Inny", właściwość OtherTargetOS musi mieć wartość inną niż null. Dla wszystkich innych wartości właściwości TargetOperatingSystem właściwość OtherTargetOS musi mieć wartość NULL.

PrimaryBIOS boolean Read

Opis:
Jeśli ma wartość True (prawda), jest to podstawowy BIOS systemu komputerowego.

ReleaseDate datetime Read

Opis:
Właściwość ReleaseDate wskazuje datę wydania systemu BIOS Win32 w formacie skoordynowanego czasu uniwersalnego (UTC) YYYYMMDDHHMMSS.MMMMMM(+-)OOO.

SMBIOSBIOSVersion string Read

Opis:
Właściwość SMBIOSBIOSVersion zawiera wersję systemu BIOS zgłoszoną przez SMBIOS.

SMBIOSMajorVersion uint16 Read

Opis:
Właściwość SMBIOSMajorVersion zawiera główny numer wersji systemu SMBIOS. Właściwość ta będzie równa NULL, jeśli SMBIOS nie zostanie odnaleziony.

SMBIOSMinorVersion uint16 Read

Opis:
Właściwość SMBIOSMinorVersion zawiera pomocniczy numer wersji systemu SMBIOS. Właściwość ta będzie równa NULL, jeśli SMBIOS nie zostanie odnaleziony.

SMBIOSPresent boolean Read

Opis:
Właściwość SMBIOSPresent wskazuje, czy system SMBIOS jest dostępny w tym systemie komputerowym.
Wartości: TRUE lub FALSE. Jeśli TRUE, SMBIOS jest na tym komputerze.

SerialNumber string Read

Opis:
Numer seryjny przypisany do tego elementu oprogramowania.

SoftwareElementID string Read

Opis:
Jest to identyfikator tego elementu oprogramowania i jest przeznaczony do użycia wspólnie z innymi kluczami do utworzenia unikatowej reprezentacji tego CIM_SoftwareElement.

SoftwareElementState uint16 Read

Opis:
SoftwareElementState jest zdefiniowany w tym modelu w celu identyfikacji różnych stanów cyklu życia elementów oprogramowania. - Element oprogramowania w stanie nadającym się do rozmieszczania opisuje szczegóły niezbędne do jego pomyślnego rozmieszczenia i szczegóły (warunki i akcje) wymagane do utworzenia elementu oprogramowania w stanie nadającym się do instalacji (tzn. następnym stanie). - Element oprogramowania w stanie nadającym się do instalacji opisuje szczegóły niezbędne do jego pomyślnej instalacji i szczegóły (warunki i akcje wymagane do utworzenia elementu oprogramowania w stanie nadającym się do wykonywania (tzn. następnym stanie). - Element oprogramowania w stanie nadającym się do wykonywania opisuje szczegóły niezbędne do jego uruchomienia i szczegóły (warunki i akcje wymagane do utworzenia elementu oprogramowania w stanie działania (tzn. następnym stanie). - Element oprogramowania w stanie działania opisuje szczegóły niezbędne do monitorowania i działania uruchamianego elementu.

Status string Read

Opis:
Właściwość Stan jest ciągiem wskazującym bieżący stan obiektu. Można zdefiniować rozmaite stany operacyjne. Stany działania to "OK", "Obniżony" i "P. awaria". Stan "P. awaria" wskazuje, że element może działać poprawnie, ale w najbliższej przyszłości może nastąpić awaria. Przykładem może być dysk twardy SMART. Można także określić stany braku działania. Są nimi "Błąd", "Uruchamianie", "Zatrzymywanie" i "Serwis". Ostatni, "Serwis", może się odnosić do odświeżania dublowania dysku, ponownego ładowania listy uprawnień użytkowników lub innych prac administracyjnych. Nie każda taka praca jest typu on-line, a jednak zarządzany element nie jest w stanie "OK" ani żadnym innym.

TargetOperatingSystem uint16 Read

Opis:
Właściwość
TargetOperatingSystem

umożliwia dostawcy określenie środowiska systemu operacyjnego. Wartość tej właściwości nie zapewnia obecności pliku wykonywalnego. Potrzebne są do tego dwie informacje dodatkowe. Po pierwsze, wersja systemu operacyjnego musi być określona za pomocą sprawdzenia wersji. Po drugie, potrzebny jest typ architektury, na której system operacyjny działa. Te trzy informacje składowe umożliwiają dostawcy pewną identyfikację poziomu systemu operacyjnego wymaganego dla konkretnego elementu oprogramowania.

Version string Read

Opis:
Właściwość

Version zawiera wersję systemu BIOS. Ciąg ten jest utworzony przez producenta systemu BIOS.


Uproszczony opis właściwości:

Właściwość
========
BIOSVersion
BiosCharacteristics
BuildNumber
Caption
CodeSet
CurrentLanguage
Description
IdentificationCode
InstallDate
InstallableLanguages
LanguageEdition
ListOfLanguages
Manufacturer
Name
OtherTargetOS
PrimaryBIOS
ReleaseDate
SMBIOSBIOSVersion
SMBIOSMajorVersion
SMBIOSMinorVersion
SMBIOSPresent
SerialNumber
SoftwareElementID
SoftwareElementState
Status
TargetOperatingSystem
Version


Więcej nie ma. Lista własciwości z pełną pomocą z poziomu konsoli wmic:

wmic path Win32_Bios get /?:Full

Lista pomocy podstawowa:
wmic path Win32_Bios get /?


Pełen listing informacji o biosie:
wmic path Win32_Bios get /format:value

Z poziomu konsoli PowerShell, listing właściwości, metod:
Get-WmiObject WIn32_Bios | Get-Member

Pełen listing informacji o biosie (PowerShell):

Get-WmiObject WIn32_Bios | Format-List *

Porducenta uzyskasz z właściwości:

Manufacturer

Producent tego elementu oprogramowania


wmic path win32_Bios get Manufacturer

get-wmiobject win32_Bios | fl Ma*

Dołączona grafika

#3 maggreg

maggreg

    Second Rank

  • Użytkownicy +
  • 157 postów

Napisano 10 01 2010 - 19:26

No właśnie, niestety ta klasa nie pozwala na odczyt interesujących mnie informacji.
Oczywiście typ (w moim przykładzie AWARD) można rozwinąć (wydedukować) z podklasy Manufacturer ale już wersji takiej jak na moim obrazku widnieje w "BIOS Version" nie odczytasz tą klasą. Podklasa SMBIOSVERSION odczytuje 08 co pomijając fakt, że jest wartością nieprawidłową (pewnie dlatego, że podczas flashowania biosu dmi zostało nietknięte) to na dodatek nie mówi mi za wiele o wersji pliku. A podklasa Version podaje wpisy z tablicy ACPI a dokładnie - OEM ID i OEM REVISION. Nie da się też wyciągnąć tego co na obrazku jest opisane jako "data biosu systemowego".
Sprawdziłem już kilka klas i obawiam się, że za pomocą VBS i WMI nie da się tego ogarnąć.

pzdr

#4 Kolega Dudysa

Kolega Dudysa

    Good Rank

  • Na emeryturze
  • 700 postów
  • Płeć:Mężczyzna

Napisano 10 01 2010 - 20:58

No właśnie, niestety ta klasa nie pozwala na odczyt interesujących mnie informacji.
Oczywiście typ (w moim przykładzie AWARD) można rozwinąć (wydedukować) z podklasy Manufacturer ale już wersji takiej jak na moim obrazku widnieje w "BIOS Version" nie odczytasz tą klasą. Podklasa SMBIOSVERSION odczytuje 08 co pomijając fakt, że jest wartością nieprawidłową (pewnie dlatego, że podczas flashowania biosu dmi zostało nietknięte) to na dodatek nie mówi mi za wiele o wersji pliku. A podklasa Version podaje wpisy z tablicy ACPI a dokładnie - OEM ID i OEM REVISION. Nie da się też wyciągnąć tego co na obrazku jest opisane jako "data biosu systemowego".
Sprawdziłem już kilka klas i obawiam się, że za pomocą VBS i WMI nie da się tego ogarnąć.

pzdr


Co do właściwości Manufacturer w klasie Win32_bios to dziedziczy ją od klasy CIM_SoftwareElement, która krotko pisząc zbiera informacje o zainstalowanym oprogramowaniu, jak bedziesz sprawdzał to uzbroj się w cierpliwość bo jest bardzo duże użycie procesora podczas zbierania tych informacji. Zresztą Microsoft opisuje, które właściwości z klasy win32_bios dziedziczy z innej -> klik

Sprawdż również:
CIm_BiosFeature

Właściwość CIM_BIOSFeature reprezentuje możliwości oprogramowanie niskiego
poziomu, które jest używane do uruchomienia i konfiguracji systemu komputerowego.



CIM_BiosElement

Właściwość CIM_BIOSElement reprezentuje oprogramowanie niskiego poziomu, które jest załadowane do
pamięci trwałej i używane do uruchomienia i konfiguracji systemu komputerowego.


Zresztą Everest może korzystać z innych mechanizmów, a może i budować własną klasę lub posiadać bazę.




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych