PowerShell 및 기타 도구를 사용하여 USB 하드웨어 ID를 찾는 방법

마지막 업데이트 : 17/12/2025
저자 : 이삭
  • El 하드웨어 ID는 각 장치를 고유하게 식별합니다. Windows 그는 그것을 사용합니다 드라이버라이선스 및 보안.
  • PowerShell을 목록을 쉽게 나열하고 필터링할 수 있습니다. USB Get-PnpDevice와 같은 cmdlet 및 WMI 클래스를 사용하여 ID를 지정합니다.
  • REST API를 통해 중앙 서버로 데이터를 전송하는 스크립트를 사용하여 USB 장치 추적을 자동화할 수 있습니다.
  • 같은 도구 장치 관리자 USBView는 VID/PID 및 USB 디스크립터의 기타 주요 필드를 읽는 것을 용이하게 합니다.

PowerShell에서 USB 하드웨어 ID를 찾으세요

USB 드라이브를 연결했을 때 컴퓨터가 이상하게 작동하거나 Windows에 알 수 없는 오류 메시지가 표시된다면, 그 문제는 아마도 다음과 관련이 있을 것입니다. USB 장치 하드웨어 식별자(하드웨어 ID)PowerShell 및 기타 Windows 내장 도구를 사용하여 해당 ID를 찾는 방법을 아는 것은 특히 타사 소프트웨어 설치가 허용되지 않는 비즈니스 환경에서 많은 문제를 예방하는 데 도움이 되는 기술입니다.

게다가 많은 회사에서 의무 사항입니다. 연결된 USB 장치를 제어하고, 장치 ID를 등록하고, 추적성을 확보합니다. 보안 및 규정 준수상의 이유로 정보 유출 방지부터 외부 침입 차단까지 다양한 이유로 사용됩니다. 악성 코드 감염된 USB 드라이브를 처리할 때 가장 중요한 것은 각 장치를 정확하게 식별하는 것입니다. 이 문서에서는 HWID의 작동 방식, PowerShell 및 기타 도구를 사용하여 USB ID를 얻는 방법, 그리고 해당 정보를 사용하여 문제를 진단하고 장치 추적을 자동화하는 방법을 자세히 설명합니다.

하드웨어 ID(HWID)란 무엇이며, 왜 중요할까요?

El 하드웨어 ID(HWID)는 각 물리적 구성 요소와 연결된 고유한 디지털 식별자입니다. 컴퓨터의 메인보드, 하드 드라이브, 그래픽 카드, 네트워크 어댑터, USB 컨트롤러 등과 같은 구성 요소들의 고유 식별 정보입니다. 두 컴퓨터가 겉보기에 동일해 보이더라도 다른 컴퓨터와 구별할 수 있도록 해주는 역할을 하기 때문에 흔히 "지문"이라고 불립니다.

일반적인 PC에서 운영 체제는 여러 요소를 결합합니다. 전역 머신 아이덴티티를 구축하기 위한 여러 주요 구성 요소의 HWID그러한 정체성은 다음과 같은 것들에 매우 중요합니다. 특정 컴퓨터에 연결된 소프트웨어 라이선스IT 자산 추적 및 프로그램이 승인된 하드웨어에서만 실행되도록 보장해야 하는 여러 보안 프로세스 등이 포함됩니다.

윈도우가 이 식별자를 아무 이유 없이 만들어낸 것은 아닙니다. 각 하드웨어 장치는 펌웨어에 고유 ID가 기록되어 있습니다. (예를 들어, 장치의 EEPROM에 저장되어 있습니다.) 운영 체제는 이 정보를 읽어 장치 관리자, PowerShell 또는 기타 장치에 표시되는 식별자 문자열을 생성합니다. 명령 으로 WMIC.

운영체제를 처음 설치할 때, Windows는 해당 하드웨어 구성의 스냅샷을 생성합니다. 그리고 해당 기기에 연결된 식별자 세트를 생성합니다. 나중에 마더보드와 같은 주요 부품을 변경하면 HWID 세트가 변경되어 라이선스 확인이 다시 필요하거나 일부 제품에서는 시스템 재활성화가 필요할 수도 있습니다.

USB 장치 식별자를 만드는 방법

USB 장치의 경우, HWID는 매우 특정한 설명자로부터 파생됩니다. USB 장치 설명자(USB_DEVICE_DESCRIPTOR)이는 모든 USB 장치가 제공해야 하는 데이터 구조로, 장치의 기본 특성(클래스, 지원하는 USB 버전, 제조업체, 제품 등)을 설명합니다.

해당 설명에는 두 가지 핵심 필드가 있습니다. idVendor 및 idProduct첫 번째 값은 제조업체(Vendor ID 또는 VID)를 식별하고, 두 번째 값은 특정 제품 모델(Product ID 또는 PID)을 식별합니다. Windows는 이러한 값을 사용하여 다음과 같은 문자열을 구성합니다. USB\VID_XXXX&PID_YYYY… 그러면 장치 관리자에서 "하드웨어 ID"로 표시됩니다.

예를 들어, 마이크로소프트 USB 웹캠에는 다음과 같은 기능이 있을 수 있습니다. idVendor = 0x045E (마이크로소프트) 및 idProduct = 0x0728해당 값 쌍은 장치 버전 번호와 함께 표시됩니다.bcdDevice) 및 기타 분야들이 결합하여 형성됩니다. 하드웨어 ID 및 호환 ID Windows에서 올바른 드라이버를 찾을 수 있도록 해줍니다.

분야 bcdUSB 디스크립터는 장치가 준수하는 USB 사양 버전을 나타냅니다(예: USB 2.0의 경우 0x0200). 이를 통해 USB 드라이버 스택은 장치와 통신하는 방법, 지원하는 속도 및 사용 가능한 구성 옵션을 파악할 수 있습니다.

중요한 세부 사항은 USB 장치는 연결된 동안 디스크립터 정보를 변경해서는 안 됩니다.전원 상태가 변경될 때조차도 그렇지 않습니다. 고속 연결과 일반 속도 연결에 따라 다른 정보가 표시될 수는 있지만, 이는 연결 시점에 결정됩니다.

컨트롤러 측에서 호스트는 다음을 통해 이 디스크립터를 얻습니다. GET_DESCRIPTOR 제어 전송이 장치로 전달됩니다.Windows에서 커널 모드 드라이버(KMDF/UMDF/WDM)는 URB(USB 요청 블록) 또는 프레임워크 API를 통해 해당 디스크립터를 공식적으로 요청할 수 있지만, 이는 드라이버 개발 영역이지 PowerShell을 통한 관리 영역은 아닙니다.

Windows 그래픽 도구를 사용하여 USB 하드웨어 ID를 확인하세요.

Windows에서 USB 하드웨어 ID를 확인하세요

PowerShell을 자세히 살펴보기 전에, 다음 사항을 기억해 두는 것이 좋습니다. Windows는 모든 장치의 HWID를 볼 수 있는 매우 직관적인 그래픽 방식을 여러 가지 제공합니다.특정 기기만 식별하면 될 때 특히 유용합니다.

  iOS, Android, Windows, Linux, Mac에서 휴지통은 어디에 있나요?

1. 장치 관리자

단 한 줄의 코드도 작성하지 않고 가장 빠르게 하는 방법은 다음을 사용하는 것입니다. Windows 장치 관리자이 제품은 USB 장치를 포함한 모든 종류의 하드웨어와 호환됩니다. 저장프린터, 웹캠 등

  • 장치 관리자 열기 Windows 키와 X 키를 동시에 누르고 "장치 관리자"를 선택하거나, "devmgmt.msc"를 검색하여 장치 관리자에 접근할 수 있습니다.
  • 예를 들어, 다음 위치에서 해당 구성 요소를 찾으십시오. "범용 직렬 버스 컨트롤러" 또는 "디스크 드라이브" USB 드라이브라면요.
  • 문제가 있는 장치를 마우스 오른쪽 버튼으로 클릭하고 입력하세요. 등록.
  • 탭으로 이동 세부.
  • "속성" 드롭다운 메뉴에서 선택하세요. 하드웨어 ID.

문자열 목록이 표시됩니다. 가장 구체적인 문자열에는 일반적으로 VID, PID가 포함되며, 경우에 따라 일련 번호 또는 SUBSYS가 포함될 수 있습니다. 이러한 문자열을 사용하여 다음 작업을 수행할 수 있습니다. 스크립트 또는 드라이버 검색그것들을 있는 그대로 정확히 복사하는 것입니다.

2. WMIC를 사용한 명령 프롬프트

콘솔 옵션을 선호하지만 아직 PowerShell을 사용하고 싶지 않다면 다음을 사용할 수 있습니다. WMIC (최신 버전에서는 더 이상 사용되지 않지만, 여전히 많은 컴퓨터에서 찾아볼 수 있습니다.)

wmic path win32_pnpentity get name, deviceid

이 명령은 다음을 보여줍니다. 모든 플러그 앤 플레이 장치 및 해당 장치 ID바로 이것이 우리가 관심 있는 하드웨어 ID입니다. 그런 다음 시각적으로 필터링하거나 출력을 파일로 내보내 처리할 수 있습니다.

3. 제3자 애플리케이션 (허용되는 경우)

허용되는 환경에서는 다음과 같은 도구를 사용하는 것이 일반적입니다. CPU-Z, Speccy 또는 HWiNFO 여러 구성 요소의 HWID를 포함한 전체 시스템 X선 사진을 얻기 위해서입니다. 하지만 많은 회사에서 이러한 옵션이 금지되어 있습니다. PowerShell은 보안 정책에서 인정받는 만능 도구가 되었습니다..

PowerShell에서 USB 하드웨어 ID를 가져옵니다.

PowerShell에는 플러그 앤 플레이 장치에 대한 정보를 보고 필터링하는 데 사용할 수 있는 매우 강력한 cmdlet이 포함되어 있습니다. HWID 관련해서 가장 흥미로운 cmdlet은 다음과 같습니다... Get-PnpDevice하지만 일부 레거시 스크립트에서는 여전히 이전 버전의 WMI 클래스가 사용되고 있습니다.

Get-PnpDevice를 사용하여 하드웨어 ID 목록을 확인하세요.

시스템에서 활성화된 모든 장치의 식별자를 보려면 다음 명령을 사용할 수 있습니다.

Get-PnpDevice -PresentOnly | Select-Object -Property Name,InstanceId

이 명령은 다음을 반환합니다. 장치의 사용자 이름과 인스턴스 ID가 포함된 표해당 InstanceId는 오류, 시스템 이벤트 또는 드라이버 검색과 연결할 수 있는 하드웨어 ID 문자열(또는 그와 매우 유사한 문자열)입니다.

만약 당신이 오직 다음에만 집중하고 싶다면 PCI 장치예를 들어 다음과 같이 필터링할 수 있습니다.

Get-PnpDevice | Where-Object { $_.InstanceId -match '^PCI' } | Select-Object FriendlyName, InstanceId

USB 장치의 경우에도 InstanceId 문자열에 유사한 필터를 적용하여 접두사를 변경할 수 있습니다.

Get-PnpDevice | Where-Object { $_.InstanceId -like 'USB\VID_*' } | Select-Object FriendlyName, InstanceId

실제 사례: USB 드라이브 ID를 통해 문제 있는 USB 드라이브 식별하기

매우 흔한 시나리오는 다음과 같습니다. PC가 멈추고 이벤트 뷰어를 확인해 보니 "USB\VID_1F75&PID_0917\8&31abfd78&0&3"와 같은 장치 관련 오류가 발견되었습니다.장치 관리자에서 해당 ID를 찾아봐도 정확히 무엇인지 알 수 있는 방법이 없습니다.

실제 예 : 이러한 상황에서는 PowerShell을 사용하여 정보를 상호 참조하는 것이 매우 유용합니다. 예를 들어, InstanceId가 해당 패턴으로 시작하는 PnP 장치를 찾을 수 있습니다.

Get-PnpDevice -InstanceId 'USB\VID_1F75*'

만약 아무런 결과가 나오지 않는다면 (장치가 더 이상 연결되어 있지 않은 경우에 발생할 수 있습니다), WMI를 사용하거나, 권한이 있는 경우 다음과 같은 도구를 사용하여 USB 장치 기록을 확인할 수 있습니다. USBDeview 이 화면에는 날짜와 포트를 포함하여 이전에 연결되었던 모든 장치가 표시됩니다.

속성 보기: 결과를 얻으면 다음과 같이 확장할 수 있습니다.

Get-PnpDevice -InstanceId 'USB\VID_1F75*' | Get-PnpDeviceProperty

이것은 목록이어야 합니다 해당 장치와 관련된 모든 PnP 속성하지만 기기가 없거나 권한 문제가 있는 경우 결과가 비어 있거나 부분적인 결과만 표시될 수 있습니다. 정보를 CSV 파일로 내보내려면 다음과 같은 방법을 사용하면 됩니다.

Get-PnpDevice -InstanceId 'USB\VID_1F75*' | Get-PnpDeviceProperty | Export-Csv -Path 'DevDetails.csv' -NoTypeInformation

CSV 파일이 비어 있는 것처럼 보인다면, 거의 항상 다음을 의미합니다. 그 당시에는 필터와 일치하는 장치가 없었습니다. 또는 cmdlet이 속성을 읽을 수 없었을 수 있습니다(권한 문제 때문이거나 장치가 응답하지 않기 때문).

WMI로 연결된 USB 저장 장치를 확인합니다.

또 다른 전형적인 경우는 알고 싶어하는 것입니다. 현재 연결된 USB 드라이브 또는 플래시 드라이브는 무엇입니까?PowerShell에서 흔히 사용하는 간편한 방법 중 하나는 WMI 클래스를 활용하는 것입니다. Win32_디스크드라이브 인터페이스 유형별 필터링:

Get-WmiObject Win32_DiskDrive | Where-Object { $_.InterfaceType -eq 'USB' }

더 읽기 쉽고 내보내기 편한 형태로 만들고 싶다면 PSCustomObject를 사용하여 관련 필드만 프로젝션할 수 있습니다.

Get-WmiObject Win32_DiskDrive | Where-Object { $_.InterfaceType -eq 'USB' } | ForEach-Object {
[PSCustomObject]@{
DeviceID = $_.DeviceID
모델 = $_.모델
Serial = (Get-WmiObject Win32_PhysicalMedia | Where-Object { $_.Tag -eq $_.DeviceID }).SerialNumber
}
}

여기서는 각 사용자 정의 객체가 표시됩니다. 기기 식별자, 모델 및 물리적 일련 번호 (제조업체가 정확하게 표시하는 경우). 이는 재고 및 추적 스크립트를 작성하는 데 매우 유용한 기반이 됩니다.

PowerShell을 사용하여 USB 장치를 자동으로 모니터링하고 로그를 기록합니다.

기업 환경에서 IT 부서가 원하는 것은 매우 흔한 일입니다. 연결된 모든 USB 장치의 중앙 집중식 레지스트리 각 기기에 대해 어떤 기기였는지, 언제 연결되었는지, 어떤 컴퓨터에서 연결되었는지 등의 정보를 기록합니다. 이는 무단 접속 기기를 탐지하고, 보안 사고를 조사하며, 내부 정책을 준수하는 데 도움이 됩니다.

  Valve는 Steam Controller 2와 가상 현실을 위한 새로운 컨트롤러를 개발 중입니다.

추가 라이선스 없이 이를 수행하는 유연한 방법은 마운트하는 것입니다. un 스크립트 각 USB 장치에서 관련 정보를 수집하여 REST API를 통해 중앙 서버로 전송하는 PowerShell 스크립트입니다.WMI를 사용한 이전 예시를 바탕으로 하면, 구성도는 다음과 같습니다.

Get-WmiObject Win32_DiskDrive | Where-Object { $_.InterfaceType -eq “USB” } | ForEach-Object {
[PSCustomObject]@{
DeviceID = $_.DeviceID
모델 = $_.모델
Serial = (Get-WmiObject Win32_PhysicalMedia | Where-Object { $_.Tag -eq $_.DeviceID }).SerialNumber
}
} | ConvertTo-Json | Invoke-RestMethod -Uri «http://servidorcentral/api/usblog» -Method Post

이 블록 이 프로그램은 USB 인터페이스를 가진 모든 디스크를 수집하고, 주요 데이터가 포함된 객체를 준비한 다음, 이를 JSON 형식으로 직렬화합니다.그 다음에는 호출-휴식 방법해당 JSON 데이터를 로깅 서버의 HTTP 엔드포인트로 전송하세요. 그 후에는 팀 이름, 세션 사용자, 정확한 날짜 및 시간 등을 추가하는 등 여러분의 상상력(및 보안 요구 사항)에 따라 자유롭게 추가할 수 있습니다.

지속적인 모니터링을 위해 스크립트는 일반적으로 다음과 결합됩니다. 윈도우 작업 스케줄러 시스템 시작 시 또는 로그인 시 실행되도록 설정하거나, USB 연결과 관련된 시스템 이벤트를 모니터링하고 실시간 전송을 트리거하는 서비스를 생성할 수 있습니다.

USB 데이터 로깅을 위한 간단한 REST API를 만드세요

PowerShell 스크립트에서 전송된 데이터를 수신하려면 약간의 준비가 필요합니다. JSON 형식의 POST 요청을 수락하도록 준비된 웹 서버이를 위한 아주 빠른 방법은 다음과 같습니다. Python 플라스크와 함께이를 통해 몇 줄의 코드로 엔드포인트를 설정할 수 있습니다.

기본적인 아이디어는 다음과 같습니다.

플라스크 가져오기 플라스크, 요청, jsonify에서
앱 = Flask (__ name__)
@app.route('/api/usblog', methods=['POST'])
def log_usb_data():
데이터 = request.get_json()
데이터가 아닌 경우:
jsonify({"error": "데이터가 전송되지 않았습니다"}), 400을 반환합니다.
with open("usb_log.txt", "a") as log_file:
log_file.write(f»{data}\n»)
jsonify({"message": "데이터가 성공적으로 수신되었습니다"}), 200을 반환합니다.
__name__ == '__main__'인 경우 :
app.run(호스트='0.0.0.0′, 포트=5000)

이렇게 하면 PowerShell 스크립트에서 발생하는 모든 호출이 종료됩니다. usb_log.txt 파일에 USB 장치 데이터가 포함된 줄을 추가합니다.물론 실제 배포 환경에서는 해당 데이터를 데이터베이스로 전송하고, 인증을 추가하고, HTTPS로 트래픽을 암호화하는 등의 작업을 해야 하지만, 시작점으로서는 이 정도면 충분합니다.

요구 사항 : 시스템을 가동하기 위한 기본적인 단계는 다음과 같습니다.

  • Flask를 설치하려면 다음을 사용하세요. 핍 설치 플라스크 파이썬 서버에서.
  • 코드를 저장하세요 서버.py 그리고 다음과 같이 시작하세요 파이썬 서버.py.
  • PowerShell 스크립트에서 URL을 다음과 같이 구성하십시오. http://IP_DEL_SERVIDOR:5000/api/usblog.

그 시점부터 해당 서버에 접속할 권한이 있는 모든 장치는 접속할 수 있게 됩니다. USB 장치 목록을 제출하세요 정기적으로 또는 요청 시.

Windows 시작 시 USB 스크립트가 실행되도록 예약

이 시스템 전체가 실용적이기 위해서는 다음 사항이 중요합니다. PowerShell 스크립트는 사용자가 별도로 실행할 필요 없이 자동으로 실행됩니다.Windows에서는 일반적으로 사용되는 두 가지 방법, 즉 작업 스케줄러와 시작 프로그램 폴더를 제공합니다.

작업 스케줄러 사용

빠른 구성: 작업 스케줄러를 사용하면 (작업 스케줄러다양한 시스템 이벤트에 대한 응답으로 실행을 구성할 수 있습니다.

  • 작업 스케줄러를 열고 선택하세요 “작업 생성”.
  • "일반" 탭에서 다음과 같은 이름을 지정하세요. USB 추적 그리고 “최고 권한으로 실행”을 선택하세요.
  • "Triggers"에서 그는 다음과 같은 내용을 추가합니다. "시스템 시작 시" 또는 "로그인 시"관심사에 따라 다릅니다.
  • "작업"에서 "프로그램 시작"을 선택하고 다음을 가리킵니다. powershell.exe 매개변수 유형 포함 -NoProfile -ExecutionPolicy Bypass -File «C:\path\script.ps1».
  • 작업을 저장하고 활성화되었는지 확인하십시오.

이는 다음을 보장합니다 모니터링은 장비가 가동될 때마다 시작됩니다. 또한 스크립트가 적절한 권한을 가지고 있다면 필요한 모든 정보에 접근할 수 있어야 합니다.

.bat 파일을 사용하여 홈 폴더 활용하기

또 다른 더 간단하지만 세부적인 방법은 다음과 같습니다. 박쥐 PowerShell을 호출하고 그 결과를 사용자의 홈 폴더에 저장하는 코드입니다.

powershell.exe -NoProfile -ExecutionPolicy Bypass -File «C:\path\del\script.ps1»

예를 들어 다음과 같이 저장합니다. tracking_usb.bat그리고 다음 위치에 복사하세요:

%APPDATA%\Microsoft\Windows\시작 메뉴\프로그램\시작프로그램

사용자가 로그인하는 즉시, Windows는 해당 .bat 파일을 실행하고, 그와 함께 PowerShell 스크립트도 실행합니다.이는 소규모 환경이나 작업 스케줄러를 사용하고 싶지 않을 때 유용한 해결책입니다.

PowerShell을 사용하여 원격 컴퓨터의 USB 장치 추적

많은 기업 네트워크에서 문제는 단순히 어떤 USB 드라이브가 자신의 컴퓨터에 연결되는지 아는 것만이 아닙니다. 여러 컴퓨터에 연결된 장치에 대한 전체적인 개요를 파악하기 위해타사 에이전트를 사용할 수 없는 경우 PowerShell 원격 기능과 WMI를 결합하는 방식은 여전히 ​​매우 유효한 접근 방식입니다.

여러 컴퓨터에 연결된 USB 장치 목록을 표시하는 스크립트의 일반적인 예는 다음과 같습니다.

$컴퓨터 = «COMPUTER1″,»COMPUTER2″,»COMPUTER3»
$namespace = "root\CIMV2"
Get-WmiObject -Class Win32_USBControllerDevice -ComputerName $computer -Namespace $namespace |
ForEach-Object { [wmi]($_.Dependent) } |
정렬 기준: 제조업체, 설명, 장치 ID |
형식 테이블 - 제조업체 설명, 서비스, 장치 ID별 그룹화 |
Out-File -Append -FilePath C:\USB\usblist.txt

  메모장에서 중복된 줄을 감지하고 제거하는 방법: 완전 가이드

핵심은 다음과 같습니다. 각 원격 컴퓨터에서 USB 컨트롤러-장치 관계를 쿼리하고, 종속 속성을 실제 WMI 인스턴스로 확인한 다음, 정렬된 정보를 텍스트 파일에 저장합니다.파일이 비어 있는 경우 권한, 원격 접근성, 방화벽, 그리고 물론 스크립트 구문(공백이나 따옴표가 제대로 닫히지 않은 경우가 흔합니다)을 확인해야 합니다.

이러한 유형의 스크립트를 잘 구성하면 다음과 같은 결과를 얻을 수 있습니다. 팀별 USB 장치 통합 목록타사 소프트웨어에 의존하지 않고 제조업체 및 제품 설명별로 그룹화합니다.

USB ID를 사용하여 드라이버를 찾고 관리합니다.

보안 측면 외에도, 알고 관리하는 것은 중요합니다. 하드웨어 ID는 적합한 드라이버를 찾는 데 핵심적인 요소입니다.특히 Windows에서 일반 버전을 찾지 못하거나 시스템 업데이트 후 장치가 작동하지 않는 경우에 그렇습니다.

계층적 패턴: 이러한 유형의 ID는 특히 PCI/PCIe 장치에서 계층적 패턴을 따르는 경우가 많습니다.

  • 벤_XXXX 칩 제조업체를 식별합니다.
  • DEV_XXXX 기기의 구체적인 모델명을 명시해 주십시오.
  • 서브시스템_XXXXXXXXX 어셈블러 변형, 지역 등에 대한 세부 정보입니다.

USB의 경우, 다음과 같은 체인을 찾을 수 있습니다. USB\VID_XXXX&PID_YYYY 때로는 일련번호와 함께 문제가 발생하기도 합니다. 윈도우 업데이트 후 기기가 작동을 멈추는 경우, 정확한 HWID를 복사하여 제조업체의 검색 엔진이나 검색 엔진에 입력하십시오. 데이터베이스 전문화 된 이 방법은 구형 하드웨어에서도 적합한 드라이버를 찾는 데 매우 정확합니다.

같은 도구 Snappy 드라이버 설치 프로그램 출처 상용 컨트롤러 관리 솔루션은 종종 바로 이러한 식별자에 의존합니다. 장치 드라이버를 정확하게 페어링합니다.또한, 파일 내에 포함된 HWID를 사용하여 수백 개의 .inf 파일을 검색할 수 있는 로컬 검색 엔진도 있습니다. 이는 다운로드한 드라이버 라이브러리가 있지만 어떤 드라이버가 무엇에 해당하는지 기억나지 않을 때 매우 유용합니다.

가장 정리정돈을 잘하는 사람들에게 유용한 팁은 다음과 같습니다. VEN, DEV, SUBSYS, 설명 및 드라이버 경로 열이 있는 스프레드시트를 유지 관리하세요.엑셀의 MID() 함수와 같은 기능을 사용하면 HWID 문자열에서 해당 필드를 자동으로 추출할 수 있으며, 장기적으로 볼 때 문서화가 미흡한 하드웨어를 다룰 때 시행착오를 거치는 시간을 크게 절약할 수 있습니다.

USB ID 작업을 위한 보조 도구

여기서의 초점은 당신이 무엇을 할 수 있는지에 있지만 PowerShell 및 Windows 내장 유틸리티특히 사용 환경에서 설치가 가능하다면 USB 장치 작업을 용이하게 해주는 몇 가지 보조 도구를 알아두는 것이 유용합니다.

마이크로소프트의 USB 장치 뷰어(USBView)

마이크로소프트는 해당 유틸리티를 무료로 제공합니다. USB 장치 뷰어(USBView)Windows 드라이버 키트에 포함되어 있습니다. 시스템에 있는 모든 USB 드라이버와 장치를 트리 보기로 표시하고 보여줍니다. idVendor, idProduct 및 기타 장치 설명 필드 아주 명확하게.

단계 : 기본 단계는 다음과 같습니다.

  • 해당 Windows 드라이버 키트 패키지를 설치하고 찾으십시오. USBView.exe (일반적으로 디버거 경로, 예를 들어 Debuggers\x64에 있습니다.)
  • 프로그램을 실행하고 왼쪽 트리에서 USB 장치를 선택하세요.
  • 오른쪽 패널의 필드를 확인하세요 idVendor 및 idProduct나머지 설명자와 함께.

예를 들어 드라이버를 개발하는 경우 VISA 드라이버 개발 마법사이 데이터는 드라이버가 VID와 PID를 기반으로 어떤 장치를 처리해야 하는지 알려주는 데 필수적입니다.

온라인 USB ID 데이터베이스

기기를 직접 가지고 있지 않지만 기기의 이름이나 식별자의 일부를 알고 있는 경우, 다음 방법을 사용할 수도 있습니다. 공개 USB ID 데이터베이스이러한 사이트에서는 모델, 브랜드 또는 VID/PID 조각으로 검색할 수 있으며, 공식 값을 제공합니다. 공급업체 ID 및 제품 ID 해당 기기에 등록되어 있습니다.

이는 특히 다음과 같은 경우에 유용합니다. HWID가 부분적으로 표시되거나 Windows에서 일반적인 설명만 제공합니다.호환되는 드라이버를 검색하거나 ID별 장치 차단 정책을 적용하기 전에 해당 VID/PID가 무엇인지 확인해야 합니다.

궁극적으로 USB ID 및 기타 하드웨어 식별자에 능숙해지면 일종의 "시스템 탐정"이 되는 것입니다. 어떤 장치가 충돌을 일으켰는지, 어떤 USB 드라이브가 어떤 컴퓨터에 언제 연결되었는지, 또는 업데이트 후 드라이버가 로드되지 않는 이유는 무엇인지 등을 추적할 수 있습니다.PowerShell을 핵심 도구로 사용하고, 장치 관리자, WMI, 몇 가지 특수 유틸리티, 그리고 필요한 경우 소규모 Flask 서버를 결합하면 번거로운 타사 솔루션이나 신뢰할 수 없는 가정에 의존하지 않고도 환경의 USB 생태계를 모니터링하고 제어하는 ​​데 필요한 모든 것을 갖추게 됩니다.