Rufen Sie das Grafikkartenmodell über die Befehlszeile in Windows ab

13

Ich muss eine Textausgabe mit dem Grafikkarten- / GPU-Modell erhalten, indem ich ein Tool verwende, das in allen Windows-Versionen ab XP vorhanden ist (wahrscheinlich habe ich noch nichts gefunden), oder ein kleines Befehlszeilen-Tool eines Drittanbieters verwenden.

Irgendwelche Ideen?

user2723297
quelle
1
dxdiag verfügt über Befehlszeilenoptionen für die Ausgabe in eine txt- oder xml-Datei. Es wird nur nicht auf dem Bildschirm gedruckt. Sie könnten die gnuwin32-Tools herunterladen und die Datei dann katzen, nachdem Sie sie mit dxdiag erstellt haben (und sogar nach den Zeilen suchen, die Ihnen wichtig sind).
MaQleod

Antworten:

23
wmic path win32_VideoController get name 

erledigt die Arbeit präzise aus der Befehlszeile. Dank der obigen Antwort von Vlastimil Ovčáčík, aber nicht sicher, warum es so ausführlich ist.

oche
quelle
1
Die andere Antwort entfernt die Zeile "Name" aus der Ausgabe.
DavidPostill
In der Tat, danke, @DavidPostill. Trotzdem ist es ein ziemlich komplizierter Ansatz.
Oche
Nicht so kompliziert, wenn Sie lernen, wie es forfunktioniert. Es ist sehr mächtig und großartig zum Parsen von Textzeilen;)
DavidPostill
wmic path win32_VideoController get driverVersionwird
Treiberversion
7

Aus Batch ausführen:

@echo off
for /F "tokens=* skip=1" %%n in ('WMIC path Win32_VideoController get Name ^| findstr "."') do set GPU_NAME=%%n
echo %GPU_NAME%
Vlastimil Ovčáčík
quelle
Hallo! Das sieht genau so aus, wie ich es suche, aber ich kann es nicht auf meinem PC zum Laufen bringen. Ich bin kein Batch-Experte. Könnten Sie mir helfen? Ich erhalte die folgende Antwort: C: \ Benutzer \ Benutzer \ Desktop> GPU n) war zu diesem Zeitpunkt unerwartet. C: \ Benutzer \ Benutzer \ Desktop> für / F "Token = * überspringen = 1" n) C: \ Benutzer \ Benutzer \ Desktop>
Benutzer2723297
@ user2723297, es wurde nicht für Batch geschrieben, sondern direkt in die Befehlszeile eingefügt. Lassen Sie mich die Antwort bearbeiten, um Missverständnissen vorzubeugen.
Vlastimil Ovčáčík
Vielen Dank, dass diese Meldung immer noch angezeigt wird, wenn Sie direkt von der Eingabeaufforderung "%% n war zu diesem Zeitpunkt unerwartet" ausgeführt werden.
user2723297
@ user2723297, wie in der Antwort angegeben, soll es aus einer Batch-Datei ausgeführt werden. Auch stackoverflow.com/questions/14509652/…
Vlastimil Ovčáčík
3
  • Kopieren Sie diese und speichern Sie sie auf Ihrem Desktop als videoCardScript.ps1
  • Klicken Sie auf Start - geben powershellund dann drücken Sie die Eingabetaste
  • Geben Sie ein cd ~\Desktopund drücken Sie die Eingabetaste
  • Geben Sie ein videoCardScript.ps1und drücken Sie die Eingabetaste
  • Hinweis: Wenn Sie eine Fehlermeldung erhalten, kann ... nicht geladen werden, da das Ausführen von Skripten auf diesem System deaktiviert ist. Möglicherweise müssen Sie Ihre Ausführungsrichtlinie mit dem folgenden Befehl in Powershell ändern : Set-ExecutionPolicy unrestricted.
  • **** Stellen Sie sicher, dass Sie nach Abschluss den folgenden Befehl ausführen, um die Sicherheit Ihres Systems zu gewährleisten: ** Set-ExecutionPolicy restricted

    dxdiag /x dxoutput.xml | Out-Null  #Out-Null here ensures the process here has been created before proceeding
    [xml]$xmldata = get-content "dxoutput.xml"
    $xmldata.DxDiag.DisplayDevices.DisplayDevice| % {
        $name=$_.CardName
        $manu=$_.Manufacturer
        $chip=$_.ChipType
        $type=$_.OutputType
        $version=$_.DriverVersion
        write-host "Name: `t`t`t $name"
        write-host "Manufacturer: `t`t $manu"
        write-host "Chip Type: `t`t $chip"
        write-host "Output Type: `t`t $type"
        write-host "Driver Version: `t $version"
        }
    del dxoutput.xml
    

Wenn Sie weitere Informationen erhalten möchten, können Sie den del dxoutput.xmlBefehl auskommentieren, indem Sie ein #davor einfügen. Sie können dann den Inhalt der auf Ihrem Desktop gespeicherten XML-Datei anzeigen und entsprechend anpassen. Wenn Sie einige Informationen im Skript entfernen möchten, können Sie diese spezifischen Zeilen jederzeit auskommentieren oder vollständig entfernen.

PS: Möglicherweise sehen Sie mehrere gleiche Karten. Es gibt einen Grund, warum ich den Ausgabetyp hier habe: Eine Karte zeigt Vielfache an, basierend auf der Anzahl der Ausgänge, die sie unterstützen kann. In meinem Fall zeigt meins DVI (selbsterklärend) und HD15 (das ist VGA).

PSS: Ich habe dies auf einem Windows 8-Computer ausgeführt. Möglicherweise müssen Sie Powershell auf den XP-Computern installieren. Service Pack 3 muss installiert sein, und dann können Sie Powershell von hier aus installieren: http://support.microsoft.com/kb/968929 (Windows Management Framework (Windows PowerShell 2.0, WinRM 2.0 und BITS 4.0))

Bradley Forney
quelle
1

Kopieren Sie diesen Code in eine .VBSDatei und führen Sie ihn aus mit cscript.exe:

strComputer = "." 
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2") 
Set colItems = objWMIService.ExecQuery( _
    "SELECT * FROM Win32_VideoController",,48) 
For Each objItem in colItems 
    Wscript.Echo "-----------------------------------"
    Wscript.Echo "Win32_VideoController instance"
    Wscript.Echo "-----------------------------------"
    Wscript.Echo "Caption: " & objItem.Caption
Next

Hier ist die Ausgabe meines Dell Laptops:

-----------------------------------
Win32_VideoController instance
-----------------------------------
Caption: Intel(R) HD Graphics 4000
-----------------------------------
Win32_VideoController instance
-----------------------------------
Caption: AMD Radeon HD 7700M Series
magicandre1981
quelle
0

In Eingabeaufforderung ausführen:

wmic path win32_VideoController get /all /format:htable >> c:\VGA.html
S.Alizadeh
quelle
3
Bitte erklären Sie, was der Befehl tut
Ramhound
Können Sie erklären, was dieser Code bewirkt und wie er das vom OP gegebene Problem behebt? Unerklärter Code kann für Benutzer nicht vertrauenswürdig und gefährlich erscheinen.
bwDraco
Es erhält Grafikkarteninformationen und speichert sie als HTML-Format in C Drive mit dem Namen vga.html
S.Alizadeh
Dieser Befehl funktioniert, obwohl Sie ihn nicht c:\VGA.htmlvon einem Benutzer ohne Administratorrechte festlegen müssen (oder aufgrund von Dauerwellen nicht können) . Ändern Sie stattdessen einfach den Pfad zu VGA.html, um in das Benutzerverzeichnis zu gelangen. Ich stimme zu, obwohl der Zweck in der Frage erklärt werden sollte und nicht hier unten im Kommentar.
Dhaupin