CMD Simulator
System Informationdriverquery

DRIVERQUERY Command Guide - List Installed Device Drivers in Windows

Learn how to use the driverquery command to display installed device drivers, their properties, and status in Windows CMD. Includes syntax, examples, and troubleshooting.

Rojan Acharya··Updated Mar 18, 2026
Share

The driverquery command is a Windows Command Prompt utility that displays a list of all installed device drivers and their properties, including module name, display name, driver type, and state. Use it without parameters for a table view, or with /fo csv or /fo list for alternative formats. IT professionals and system administrators rely on driverquery for driver audits, troubleshooting hardware issues, and documenting system configurations.

Whether you're diagnosing driver conflicts, preparing for system migrations, or verifying that specific drivers are loaded after updates, driverquery provides a quick command-line snapshot of your system's driver landscape. Unlike Device Manager's graphical interface, driverquery enables scripting, remote execution, and output redirection for automation and reporting.

This comprehensive guide covers driverquery syntax, all output format options, practical examples for common scenarios, troubleshooting tips for driver-related issues, and frequently asked questions. By the end, you'll confidently audit and document device drivers from the command line for system administration and support tasks.

What Is the Driverquery Command?

The driverquery command has been part of Windows since Windows XP and is available in all modern Windows versions including Windows 11, Windows 10, and Windows Server. It queries the Windows Driver Model (WDM) and displays information about kernel-mode and user-mode drivers installed on the system.

Driverquery runs in Command Prompt (CMD) and requires administrator privileges for full output including signed driver information. Without elevation, it still displays basic driver information. The command is useful for scripting, remote administration, and generating driver inventories for compliance or migration documentation.

Driverquery Command Syntax

DRIVERQUERY [/S system] [/U username [/P password]] [/FO format] [/NH] [/V] [/SI]

Parameters and Switches

ParameterDescription
/S systemSpecifies a remote computer name or IP address
/U usernameUser context for connecting to remote system
/P passwordPassword for the specified user (use * for prompt)
/FO formatOutput format: TABLE, LIST, or CSV
/NHSuppress column headers (TABLE and CSV only)
/VVerbose output with additional driver details
/SIDisplay signed driver information

If you omit all parameters, driverquery displays drivers in table format with default columns.

Driverquery Output Formats

TABLE (Default)

The default table format displays drivers in a formatted table with columns for Module Name, Display Name, Driver Type, and State. Best for on-screen viewing and quick audits.

LIST

The list format displays one property per line, making it easier to parse in scripts or when searching for specific values.

CSV

The CSV format outputs comma-separated values ideal for importing into Excel, databases, or processing with scripting tools like PowerShell.

Practical Driverquery Command Examples

Display All Drivers in Default Table Format

To see all installed drivers in a table:

driverquery

Expected Output:

Module Name                     Display Name                 Driver Type   State
============================== ============================== ============= ========
ntoskrnl.exe                    NT Kernel & System           Kernel        Running
ntfs.sys                        NTFS                         Kernel        Running
tcpip.sys                       TCP/IP Protocol Driver       Kernel        Running

Explanation: This is the most common use—a quick overview of loaded drivers. Use this when you need to verify a driver is present or check its state.

Export Drivers to CSV for Documentation

To create a driver inventory file for documentation or migration planning:

driverquery /fo csv > C:\Reports\drivers.csv

Explanation: Redirects driver list to a CSV file. Open in Excel for sorting, filtering, or comparison with another system's driver list. Essential for IT asset documentation.

Display Drivers in List Format

For script parsing or detailed per-driver output:

driverquery /fo list

Explanation: List format outputs one property per line, making it easier to grep or parse in batch scripts when you need specific driver details.

Query a Remote Computer

To list drivers on a remote system (requires admin rights and network access):

driverquery /S SERVER01 /U DOMAIN\admin /P *

Explanation: Prompts for password and displays drivers from SERVER01. Use for remote troubleshooting or centralized driver audits across the network.

Suppress Headers for Clean Script Output

When piping or processing output in scripts:

driverquery /fo csv /nh

Explanation: The /nh (no header) switch removes the header row, useful when appending to files or when headers would interfere with parsing.

Verbose Output for Detailed Driver Information

To see additional driver properties including start type and path:

driverquery /v

Explanation: Verbose mode adds columns like Start Type and Path. Use when diagnosing why a driver failed to load or when you need full driver metadata.

Display Signed Driver Information

To include digital signature status for security audits:

driverquery /si

Explanation: Shows which drivers are signed. Important for security compliance and identifying unsigned or tampered drivers. Requires administrator privileges.

Combine Format and Redirect for Reports

Create a timestamped driver report:

driverquery /fo csv /nh >> C:\Logs\driver-audit-%date:~-4,4%%date:~-10,2%%date:~-7,2%.csv

Explanation: Appends driver list to a date-stamped file. Use in scheduled tasks for ongoing driver change tracking.

Filter Output with FINDSTR

Find only network-related drivers:

driverquery | findstr -i "tcpip net ndis"

Explanation: Pipes driverquery output to findstr to filter for network drivers. Useful when troubleshooting connectivity and you need to verify network stack drivers.

Compare Driver Lists Between Systems

Document drivers before and after an update:

driverquery /fo csv > before-update.csv
REM Apply Windows Update or driver update
driverquery /fo csv > after-update.csv

Explanation: Capture driver state before and after changes. Use diff tools or Excel to compare and identify newly added or updated drivers.

Common Use Cases for the Driverquery Command

  1. Driver conflict troubleshooting – When a device fails or shows errors in Device Manager, use driverquery to verify the driver is loaded and check its state. Compare with a known-good system to identify missing or different drivers.

  2. Pre-migration system documentation – Before migrating to new hardware or virtualizing a server, export the driver list to CSV for reference. Ensures you can replicate or update drivers on the target system.

  3. Security and compliance audits – Use driverquery with /si to verify signed drivers. Many compliance frameworks require documentation of installed software and drivers; driverquery provides an auditable snapshot.

  4. Identifying unsigned or problematic drivers – Unsigned drivers can cause stability issues or security risks. Regular driverquery audits help identify drivers that need updating or replacement.

  5. Remote system inventory – Query multiple servers with driverquery /S in a loop to build a centralized driver inventory across your infrastructure.

  6. Post-patch verification – After applying Windows Updates or driver updates, run driverquery to confirm new drivers are present and in Running state.

  7. Troubleshooting boot or startup issues – Verbose output shows driver start type (Boot, System, Auto, Manual). Identify drivers that load at boot when diagnosing startup failures.

  8. Scripted health checks – Incorporate driverquery into monitoring scripts to detect unexpected driver changes or failures that could indicate compromise or misconfiguration.

  9. Driver version tracking – Combine driverquery with other tools to track driver versions across deployments for consistency and rollback planning.

  10. Support ticket documentation – When opening support tickets for hardware or driver issues, include driverquery output to give support engineers immediate context.

  11. Virtual machine driver verification – After creating or cloning VMs, verify that virtualization drivers (e.g., vmbus, storflt) are present and running.

  12. Kernel vs. user-mode driver identification – Use driverquery to distinguish kernel-mode drivers (more critical) from user-mode drivers when prioritizing troubleshooting efforts.

Tips and Best Practices

  1. Run as Administrator for full output – Some driver properties, especially signed driver info, require elevated privileges. Right-click CMD and select "Run as administrator."

  2. Use CSV for automation – When scripting driver audits, prefer /fo csv for easy parsing. Most scripting languages and tools handle CSV natively.

  3. Redirect output for large systems – Systems with many drivers produce lengthy output. Redirect to a file: driverquery > drivers.txt to avoid buffer overflow and enable search.

  4. Combine with findstr for filtering – Pipe to findstr to narrow results: driverquery | findstr "Running" shows only active drivers.

  5. Document before major changes – Always capture driverquery output before applying major updates, driver rollbacks, or hardware changes for comparison and rollback reference.

  6. Use consistent formats in scripts – Stick to one format (e.g., CSV) across your scripts for predictable parsing and reporting.

  7. Schedule periodic driver audits – Use Task Scheduler to run driverquery periodically and archive output for change tracking and compliance.

  8. Verify remote connectivity first – Before querying remote systems, ensure WMI and firewall rules allow remote administration. Test with ping and net use if needed.

  9. Handle credentials securely – Avoid embedding passwords in scripts. Use /P * to prompt, or use credential management solutions for automation.

  10. Cross-reference with Device Manager – For graphical verification, use Device Manager alongside driverquery. Device Manager shows device-level view; driverquery shows driver-level view.

Troubleshooting Common Issues

"Access is denied" When Running Driverquery

Problem: Driverquery fails or returns limited output with an access denied error.

Cause: Insufficient privileges. Some driver information requires administrator rights.

Solution: Run Command Prompt as Administrator. Right-click cmd.exe, select "Run as administrator," then run driverquery again.

Prevention: Always use elevated CMD when performing driver audits or including signed driver information.

Driverquery Returns No Output or Empty Results

Problem: Driverquery runs but produces no output or very few drivers.

Cause: WMI (Windows Management Instrumentation) may be stopped or corrupted. System may be in a minimal state (e.g., Safe Mode).

Solution: Start the WMI service: net start winmgmt. If WMI is corrupted, run winmgmt /resetrepository (requires reboot). In Safe Mode, many drivers are not loaded—this is expected.

Prevention: Ensure WMI is healthy and running before driver audits. Include WMI health in routine system checks.

Remote Query Fails with "RPC server is unavailable"

Problem: driverquery /S remotecomputer fails with RPC or network errors.

Cause: Firewall blocking WMI/RPC, WMI not running on remote system, or insufficient network permissions.

Solution: Enable "Windows Management Instrumentation (WMI)" exception in Windows Firewall on the remote computer. Verify WMI service is running: sc query winmgmt. Ensure you have admin rights on the remote system.

Prevention: Document firewall and WMI requirements for remote administration. Test connectivity with wmic /node:remotecomputer os get caption first.

Output Format Not Recognized

Problem: Using /fo with an invalid value causes an error.

Cause: Only TABLE, LIST, and CSV are valid. Typos or wrong casing may cause issues on some Windows versions.

Solution: Use exactly: driverquery /fo table, driverquery /fo list, or driverquery /fo csv. Case may matter on some systems.

Prevention: Stick to documented formats. When scripting, validate the format parameter before calling driverquery.

Driverquery Is Slow on Large Systems

Problem: Driverquery takes a long time to complete on systems with many drivers.

Cause: Large driver set, slow disk, or remote query over high-latency network.

Solution: Use /fo csv for slightly faster output. For remote systems, run driverquery locally on the target and copy the output file. Consider running during maintenance windows.

Prevention: Set expectations for query time. For very large environments, consider PowerShell's Get-WmiObject or CIM for more efficient queries.

Signed Driver Information Not Displayed

Problem: driverquery /si doesn't show signature information.

Cause: Running without administrator privileges, or system doesn't support the feature.

Solution: Run CMD as Administrator. On older Windows versions, /si may not be available—check with driverquery /?.

Prevention: Always elevate when using /si. Document Windows version compatibility for your scripts.

Related Commands

systeminfo – System Overview

systeminfo displays comprehensive system information including OS version, hardware, and hotfixes. Use systeminfo for high-level system context; use driverquery for driver-specific details.

When to use driverquery: Driver audits, troubleshooting driver conflicts, driver inventory. When to use systeminfo: General system identification, OS and patch level, hardware summary.

wmic – WMI Command-Line Tool

wmic can query drivers and other WMI data with more flexibility. Use wmic for custom WMI queries; driverquery is simpler for standard driver listing.

When to use driverquery: Quick driver list, standard formats, simple scripting. When to use wmic: Custom queries, filtering by specific driver properties, integration with other WMI data.

sc – Service Control

sc manages Windows services. Some drivers run as services. Use sc to start, stop, or configure driver services; use driverquery to list and inspect them.

When to use driverquery: List all drivers, audit driver state. When to use sc: Control specific driver services, change start type, query service status.

pnputil – PnP Utility

pnputil manages driver packages in the driver store. Use pnputil to add, remove, or enumerate driver packages; use driverquery to see what's currently loaded.

When to use driverquery: See loaded drivers. When to use pnputil: Manage driver store, add/remove driver packages, prepare drivers for deployment.

devcon – Device Console

devcon (from Windows Driver Kit) provides low-level device and driver management. Use devcon for enabling, disabling, or updating specific devices; use driverquery for listing and auditing.

When to use driverquery: Standard Windows tool, no extra installation. When to use devcon: Advanced device management, automation requiring device enable/disable.

Frequently Asked Questions

What does the driverquery command do?

Driverquery displays a list of all installed device drivers on a Windows system, including module name, display name, driver type (Kernel or User), and state (Running, Stopped, etc.). Use it for driver audits, troubleshooting, and system documentation.

How do I export driverquery results to a file?

Use output redirection: driverquery > drivers.txt for default format, or driverquery /fo csv > drivers.csv for CSV. For list format: driverquery /fo list > drivers.txt. Open the file in a text editor or Excel (for CSV).

Does driverquery require administrator privileges?

Driverquery works without admin rights for basic output, but administrator privileges are required for verbose output (/v) and signed driver information (/si). For full functionality, run CMD as Administrator.

Can driverquery list drivers on a remote computer?

Yes. Use driverquery /S computername /U username /P password to query a remote system. You need admin rights on the remote computer, and WMI must be accessible (firewall rules, WMI service running).

What is the difference between driverquery and Device Manager?

Device Manager is a graphical tool for managing devices and drivers interactively. Driverquery is a command-line tool for listing drivers, scripting, remote querying, and output redirection. Use Device Manager for configuration; use driverquery for auditing and automation.

How do I filter driverquery output for specific drivers?

Pipe driverquery to findstr: driverquery | findstr "tcpip" shows only lines containing "tcpip". For case-insensitive search: driverquery | findstr /i "network". Use findstr's regex for more complex filtering.

What output formats does driverquery support?

Driverquery supports three formats: TABLE (default), LIST, and CSV. Use /fo table, /fo list, or /fo csv. TABLE is best for viewing; LIST and CSV are better for scripting and importing into other tools.

How do I get signed driver information with driverquery?

Use driverquery /si to include signed driver information. This requires administrator privileges. The output indicates which drivers are digitally signed, important for security audits.

Why is driverquery slow on my system?

Systems with many drivers, slow storage, or remote queries over slow networks can make driverquery slow. Use /fo csv for slightly faster output. For remote systems, consider running driverquery locally on the target and copying the result.

Can I use driverquery in PowerShell?

Yes, driverquery runs in PowerShell since it invokes the same cmd.exe driverquery executable. For native PowerShell driver queries, use Get-WmiObject Win32_PnPSignedDriver or Get-CimInstance, but driverquery is simpler for quick listing.

How do I suppress the header row in driverquery output?

Use the /nh (no header) switch: driverquery /fo csv /nh or driverquery /fo table /nh. Useful when appending to files or when headers would interfere with script parsing.

What drivers does driverquery show?

Driverquery shows kernel-mode and user-mode device drivers installed on the system—the same drivers that appear in Device Manager but in a list format. It does not show applications or user-installed software, only system drivers.

Quick Reference Card

CommandPurposeExample Use Case
driverqueryList all drivers (table)Quick driver audit
driverquery /fo csvOutput in CSV formatExport for Excel or scripts
driverquery /fo listOutput in list formatScript parsing
driverquery /fo csv /nhCSV without headersAppend to reports
driverquery /vVerbose outputDetailed driver info
driverquery /siSigned driver infoSecurity audit
driverquery /S server /U user /P *Query remote systemRemote driver audit
driverquery > drivers.txtSave to fileDocumentation
driverquery | findstr "Running"Filter by stateActive drivers only

Try the Driverquery Command in Our Simulator

Practice the driverquery command safely in our Windows Command Simulator. Run driverquery, driverquery /fo csv, and other examples in your browser without affecting your system. Perfect for learning, testing commands before production use, or training IT staff.

Visit the Commands Reference for a full list of supported Windows CMD commands, including system information, networking, and administration utilities.

Summary

The driverquery command is an essential tool for listing installed device drivers in Windows Command Prompt. Use it without parameters for a quick table view, or with /fo csv or /fo list for scripting and documentation. The /v switch adds verbose details, and /si shows signed driver information for security audits—both require administrator privileges.

Key use cases include driver conflict troubleshooting, pre-migration documentation, compliance audits, remote system inventory, and post-patch verification. Combine driverquery with findstr for filtering, redirect output to files for reporting, and run it as Administrator for full functionality.

For related tasks, use systeminfo for system overview, wmic for custom WMI queries, sc for service control, and pnputil for driver store management. Master driverquery to efficiently audit and document your Windows driver landscape from the command line.