-
1. Data: 2009-06-22 13:03:36
Temat: Windows, listing PCI spod CLI
Od: "Tomasz \"rocku\" K." <r...@n...spam>
Witam,
w jaki sposób pod Windowsem (Server 2003) spod wiersza poleceń
wyświetlić listing PCI z uwzględnieniem bus, device i function dla
każdego urządzenia?
--
Pozdrawiam,
Tomasz "rocku" K.
-
2. Data: 2009-06-22 17:30:53
Temat: Re: Windows, listing PCI spod CLI
Od: "Grzegorz Niemirowski" <g...@p...onet.pl>
Tomasz "rocku" K. <r...@n...spam> napisał(a):
> Witam,
> w jaki sposób pod Windowsem (Server 2003) spod wiersza poleceń wyświetlić
> listing PCI z uwzględnieniem bus, device i function dla każdego
> urządzenia?
$buses = get-wmiobject -class "Win32_Bus" -namespace
"root\CIMV2" -computername "."
foreach ($bus in $buses) {
if ($bus.BusType -eq 5) {
$mos = (new-object System.Management.ManagementObjectSearcher)
$mos.Query="Associators of {Win32_Bus.DeviceID='" + $bus.DeviceId + "'}
WHERE AssocClass = Win32_DeviceBus"
$mos.get() | foreach {$_.deviceid}
}
}
Tu wyświetlane jest deviceid. Nie wiem co masz na myśli pisząc o bus i
function. Bus to PCI, function nie widzę w menedżerze urządzeń.
--
Grzegorz Niemirowski
http://www.grzegorz.net/
OE PowerTool i aktualności ze świata Outlook Express: grzegorz.net/oe
Uptime: 17 days, 18 hours, 12 minutes and 22 seconds
-
3. Data: 2009-06-22 21:26:41
Temat: Re: Windows, listing PCI spod CLI
Od: Kubaj <n...@i...org>
Tomasz \"rocku\" K., Mon, 22 Jun 2009 15:03:36 +0200:
> Witam,
> w jaki sposób pod Windowsem (Server 2003) spod wiersza poleceń
> wyświetlić listing PCI z uwzględnieniem bus, device i function dla
> każdego urządzenia?
Windows {2000 ; 2003} Resource Kit -- w tamecznych skryptach VBS
znajdował się odpowiedni, parsowany przez konsolowy wshost, do listowania
fizycznych urządzeń.
Albo zapytanie do WMI:
wmic path Win32_PnPEntity where "DeviceID like 'PCI\\%'" get Name,DeviceID [ /value
]
-- to pewnie będzie to, co OP interesuje. Bus, Device i Function są
skonkatenowane w DeviceID (i eskapowane).
--
Pozdrowienia,
Kubaj
-
4. Data: 2009-06-23 10:37:53
Temat: Re: Windows, listing PCI spod CLI
Od: "Tomasz \"rocku\" K." <r...@n...spam>
Kubaj pisze:
> Windows {2000 ; 2003} Resource Kit -- w tamecznych skryptach VBS
> znajdował się odpowiedni, parsowany przez konsolowy wshost, do listowania
> fizycznych urządzeń.
> Albo zapytanie do WMI:
> wmic path Win32_PnPEntity where "DeviceID like 'PCI\\%'" get Name,DeviceID [
/value ]
> -- to pewnie będzie to, co OP interesuje. Bus, Device i Function są
> skonkatenowane w DeviceID (i eskapowane).
>
Jesteś pewien? Zdaje się, że DeviceID powinno unikalnie identyfikować
urządzenie, a bus, device i function to informacja o lokalizacji, która
może ulec zmienie. Jeśli się mylę, to wiesz może w jaki sposób
zdekodować DeviceID na bus, device i function? Na pewno nie jest to
wprost skonkatenowane.
Ostatecznie poradziłem sobie z problemem poprzez wylistowanie wszystkich
DeviceID na szynie PCI z Win32_DeviceBus przez WMI, a następnie
odczytuję z rejestru z klucza
HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Enum\
\PCI\\ wartość
LocationInformation dla każdej pozycji. Jednak zdaję sobie sprawę, że
jest to rozwiązanie nieco na około i wciąż szukam lepszej alternatywy.
--
Pozdrawiam,
Tomasz "rocku" K.
-
5. Data: 2009-06-26 13:35:49
Temat: Re: Windows, listing PCI spod CLI
Od: Kubaj <n...@i...org>
Tomasz \"rocku\" K., Tue, 23 Jun 2009 12:37:53 +0200:
> Kubaj pisze:
>> Bus, Device i Function są
>> skonkatenowane w DeviceID (i eskapowane).
> Jesteś pewien? Zdaje się, że DeviceID powinno unikalnie identyfikować
> urządzenie, a bus, device i function to informacja o lokalizacji, która
> może ulec zmienie. Jeśli się mylę, to wiesz może w jaki sposób
Pobieżnie przyjrzałem się temu jeszcze raz -- przez nieporozumienie
podałem Ci odpowiedź dla DeviceID -- pola Location information
rzeczywiście nie widzę w WMI. Ponieważ Location jest obliczane z DeviceID
(spekuluję tu, ale tak to wygląda przynajmniej w moim systemie), które
jest globalnie unikalne, wnioskuję, że określa lokalizację logiczną a nie
fizyczną.
--
Kubaj