안녕하세요.
글로벌 IT Service Leader 주식회사 #다인엔시스 입니다.
작년, 1월 20일에는 WMIC를 다뤘었습니다. 그런데 Windows11 환경은 WMIC명령어 기본 지원하지 않고 있습니다.
MS에서는 WMIC(wmic.exe)는 Win11에서 기본 포함에서 제외했고(특히 24H2 이후 부터), “선택적 기능(Optional Feature)”로 빠졌고, Microsoft는 PowerShell 기반(CIM/WMI) 도구로 대체를 권장 합니다.
Windows Management Instrumentation Command-line (WMIC) removal from Windows - Microsoft Support
No, WMI is not being removed. Only the WMIC command-line tool is being removed. The underlying Windows Management Instrumentation (WMI) infrastructure remains a core part of Windows and is unaffected by this removal. You will still be able to use WMI throu
support.microsoft.com
대체를 권장하는 이유는 오래된 DCOM/RPC 프로토콜을 사용하는 WMIC를 없애고, WS-Management(WS-Man)을 기반으로하는 방화벽 통과가 훨씬 수월하고, 네트워크 보안 정책에 친화적인 최신 표준을 따르자는겁니다.
각각을 비교해서 축약하다면 다음 같이 차이점이 있습니다.
| 구분 | WMIC (과거/중단) | PowerShell CIM (현재/권장) |
| 기반 프로토콜 | DCOM / RPC | WS-Management (HTTP/HTTPS) |
| 결과 형태 | 텍스트 (Text) | 객체 (Object) |
| 가독성 | 명령어는 짧으나 결과 가공이 힘듬 | 명령어는 길지만 결과 가공이 매우 쉬움 |
| 보안성 | 낮음 (방화벽 포트 다수 개방 필요) | 높음 (표준 포트 사용 및 암호화 용이) |
[Windows] WMIC 명령어 설치 방법
안녕하세요.글로벌 IT Service Leader 주식회사 #다인엔시스 입니다. 금번에는 재작년에 작성했던 Windows의 명령어, WMIC 명령어가 없는 경우 설치하는 방법을 알아보겠습니다. WMIC는 기본적으로 윈도
dain2013.tistory.com
(WMIC 현 사용법은 위 포스팅 참조, WMIC가 user 진입전에는 작동하고, user로 진입하면 안되는데, 따로 다운 받으면 가능.)
wmic는 오래된 기술인 WMI(Windows Management Instrumentation)에 직접 접근하지만, 최신 윈도우에서는 이를 더 현대적이고 객체 지향적인 PowerShell CIM Cmdlets이 대체를 지향합니다.
그게 대체 무엇이고, 어떻게 사용하며, 어떻게 유용한지 오늘 함께 알아보겠습니다.
CIM Cmdlets 는 무엇일까?
PowerShell에서 WMIC를 대체하는
CIM(Common Information Model) Cmdlets은 시스템 관리 방식을 현대화한 도구 세트입니다.
WinRM(Windows Remote Management) 프로토콜을 기반으로 작동합니다.
쉽게 비유하자면, WinRM으로의 전환은 "특수 전용선(WMIC = DCOM/RPC)"을 걷어내고
"표준 인터넷 도로(HTTP/HTTPS)"를 사용하는 것과 같습니다.
방화벽 입장에서는 기본의 특수한 통신망(DCOM) 은 "이게 뭐지?" 싶은,
사용하면 방화벽 수천개 구명을 송송 뚫어야 했다면,
평범한 웹 통신처럼 보이기 때문에 관리가 매우 쉽고 안전합니다.
- 명령어 구조: Get-CimInstance라는 명령어를 기본으로 사용합니다.
- 장점: 출력 결과를 가공하기 쉽고, 최신 하드웨어 정보를 더 정확하게 불러옵니다
- 단점:
- 명령어의 길이 (Verbosity): WMIC는 wmic memorychip get capacity처럼 매우 짧고 직관적입니다. 하지만 PowerShell은 Get-CimInstance -ClassName Win32_PhysicalMemory | Select-Object Capacity처럼 타이핑 양이 훨씬 많아집니다.
- 학습 장벽 (PowerShell 지식 필요): 단순히 명령어를 실행하는 것을 넘어, 객체를 파이프라인(|)으로 넘기고 속성을 선택하는 PowerShell의 기본 개념을 이해하고 있어야 효율적인 사용이 가능합니다.
딥하게 알아보기
① 기본 조회 (속성 선택)
WMIC는 get 뒤에 쉼표로 나열하지만, CIM은 PowerShell의 Select-Object를 활용합니다.
- WMIC: wmic csproduct get name, identifyingnumber
- CIM: Get-CimInstance Win32_ComputerSystemProduct | Select-Object Name, IdentifyingNumber
② 필터링 (Where 조건문)
특정 조건의 데이터를 찾을 때 CIM은 -Filter 파라미터를 사용하며, 이는 SQL 문법과 유사합니다.
- WMIC: wmic process where name="explorer.exe" get processid
- CIM: Get-CimInstance Win32_Process -Filter "Name = 'explorer.exe'"
③ 메서드 실행 (동작 수행)
프로세스 생성이나 종료 같은 '동작'을 수행할 때 사용합니다.
- CIM: Invoke-CimMethod -Query "Select * from Win32_Process where Name='notepad.exe'" -MethodName "Terminate"
CIM Cmdlets의 강력한 기능: 'CimSession'
CIM의 가장 큰 장점은 원격 관리 능력입니다. 수십 대의 서버에 동시에 명령을 내릴 때 매우 효율적입니다.
- 세션 재사용: 한 번 연결을 맺으면(New-CimSession), 매번 인증할 필요 없이 해당 통로를 통해 여러 명령을 연속해서 보낼 수 있어 속도가 매우 빠릅니다.
- 비동기 처리: 여러 서버의 응답을 기다리지 않고 동시에 요청을 던질 수 있습니다.
# 여러 서버에 대한 세션 생성
$s = New-CimSession -ComputerName "Server01", "Server02", "Server03"
# 모든 서버의 메모리 정보 한 번에 가져오기
Get-CimInstance Win32_PhysicalMemory -CimSession $s
PowerShell에는 과거에 쓰던 Get-WmiObject도 남아 있습니다. 하지만 마이크로소프트는 다음 이유로 CIM 사용을 강력히 권장합니다.
- 리눅스/유닉스 호환성: CIM은 표준 프로토콜을 사용하므로, 향후 리눅스 기반 장비 관리와도 호환됩니다.
- 성능: CIM은 로컬 실행 시에도 WMI보다 메모리 효율이 좋고 속도가 빠릅니다.
- 탭 완성(Tab Completion): 클래스 이름을 입력할 때 Tab 키를 눌러 자동 완성이 지원되므로 긴 이름을 다 외울 필요가 없습니다.
WMIC와 CIM과의 차이(다소 전문적)
가볍게 알아보는 관점과 조금 딥하게 이유를 정리해보려합니다.
1) 가볍게 알아보기
- 보안성: "옛날 자물쇠" vs "현대식 보안 시스템"
보안성이 체감되지 않는 것은 WMIC도 나름의 인증을 거치기 때문이지만, 구조적인 위험성이 큽니다.
- WMIC (DCOM): 설계된 지 20년이 넘은 노후 프로토콜입니다. 공격자가 네트워크 내에서 옆으로 이동하는 '측면 이동(Lateral Movement)' 공격에 자주 악용됩니다. 또한 인증 과정이 복잡하고 현대적인 암호화 표준을 적용하기 어렵습니다.
- Get-CimInstance (WinRM): 최신 인증 표준(Kerberos, NTLM, Certificate 기반 암호화)을 완벽히 지원합니다. 모든 통신이 기본적으로 암호화될 수 있으며, 누가 어떤 명령을 내렸는지에 대한 *감사 로그(Audit Log)가 훨씬 상세하게 남습니다.
- 명령어가 왜 이렇게 길어졌을까? (Object의 힘)
명령어가 길어진 이유는 "데이터를 나중에 써먹기 좋게 만들기 위해서" 입니다.
- WMIC: 결과가 그냥 '글자(Text)'입니다. 특정 값만 뽑으려면 텍스트를 자르고 붙이는 노가다를 해야 합니다.
- PowerShell: 결과가 '객체(Object)'입니다. 명령어가 길어 보이지만, 사실 다음과 같은 강력한 기능을 제공합니다.
- Get-CimInstance Win32_PhysicalMemory | Measure-Object -Property Capacity -Sum
- 위와 같이 한 줄만 더 붙이면 "모든 메모리 용량의 합계"를 즉시 계산할 수도 있습니다.
| 구분 | WMIC (구식) | Get-CimInstance (신식) |
| 비유 | 직접 찾아가서 서류 뭉치를 뒤짐 | 키오스크에서 필요한 데이터만 조회 |
| 포트 | 135번 + 수만 개의 랜덤 포트 (보안 취약) | 5985/5986번 고정 (보안 우수) |
| 결과 | 그냥 화면에 뿌려지는 글자 | 다른 계산에 바로 쓸 수 있는 데이터 |
| 미래 | 윈도우에서 삭제 진행 중 | 마이크로소프트의 표준 관리 도구 |
2) 딥하게 알아보기
가장 큰 차이는 원격 서버에 접속할 때 나타납니다.
- WMIC (DCOM/RPC 방식): * 먼저 135번 포트로 접속한 뒤, 통신을 위해 1024~65535 사이의 랜덤한 포트를 하나 할당받습니다.
- 즉, 원격 관리를 하려면 방화벽에서 어떤 포트가 열릴지 모르니 수천 개의 포트를 열어두거나, 방화벽이 RPC 프로토콜을 아주 똑똑하게 분석(DPI)해야 합니다. 보안 담당자 입장에서는 '구멍 숭숭 뚫린 방화벽'이 되는 셈입니다.
- Get-CimInstance (WS-Man 방식): * 웹 통신(HTTP/HTTPS)과 유사한 방식을 사용합니다.
- 딱 5985(HTTP) 또는 5986(HTTPS) 포트 하나만 열면 끝입니다. IT 인프라 관리와 보안 정책 적용이 압도적으로 깔끔해집니다.
[TIP] 명령어가 너무 길어서 불편하시다면? PowerShell의 별칭(Alias)이나 변수를 활용해 보세요. $mem = gcim Win32_PhysicalMemory 처럼 줄여서 사용할 수 있습니다. (gcim은 Get-CimInstance의 공식 단축어입니다.)
자주 사용하는 5대 명령:
- Get-CimInstance: 클래스 정보를 조회 (가장 많이 사용)
- Enumerate-CimClass: 특정 네임스페이스 내의 클래스 목록 확인
- Invoke-CimMethod: 클래스의 메서드(실행 기능) 호출 (예: 프로세스 종료, OS 재부팅)
- New-CimInstance / Remove-CimInstance: 인스턴스 생성 및 삭제
- Get-CimAssociatedInstance: 연결된 다른 클래스 정보 조회
Windows에서 사용할 때
Windows11 부터 시작하실때에는 몇가지 사항에서 사용하게 되실겁니다.
1) 윈도우 진입 전 (설치 화면/복구 모드)
기존에 Shift + F10으로 CMD 창을 띄우셨던 것과 동일하게 시작합니다.
- Shift + F10을 눌러 명령 프롬프트(CMD) 창을 엽니다.
- 창에 powershell을 입력하고 엔터를 누릅니다.
- 프롬프트 모양이 PS C:\>로 바뀌면 아래의 명령어들을 입력할 수 있습니다.
2) 윈도우 진입 후 (설치 화면/복구 모드)
- 단축키: Win + X 키를 누른 후 [터미널(관리자)] 을 클릭합니다.
- 검색: 작업표시줄 검색창에 powershell을 입력하고 실행합니다.
- 결과 확인: PS C:\Users\...> 처럼 앞에 PS가 붙어 있다면 준비 완료입니다.


* 명령어 사용예시
1. 제품 정보 조회 (wmic csproduct 대체)
장비의 모델명과 시리얼 번호(IdentifyingNumber)를 확인할 때 사용합니다.
- 기존: wmic csproduct get name, identifyingnumber
- PowerShell:
Get-CimInstance Win32_ComputerSystemProduct | Select-Object Name, IdentifyingNumber

2. 메모리 상세 조회 (wmic memorychip 대체)
가장 핵심인 용량(Capacity)과 속도(Speed)를 직관적으로 확인하는 방법입니다.
- 기존: wmic memorychip get capacity, speed
- PowerShell:
Get-CimInstance Win32_PhysicalMemory | Select-Object @{Name="Size(GB)"; Expression={$_.Capacity / 1GB}}, Speed, Manufacturer
팁: PowerShell에서는 1GB라는 단위를 인식하므로, 복잡한 숫자 대신 GB 단위로 계산해서 보여줄 수 있어 훨씬 직관적입니다.

3. 한눈에 보는 하드웨어 요약 (복구 모드 꿀팁)
윈도우 설치나 복구 중에 사양을 빨리 파악하고 싶다면, 여러 번 칠 필요 없이 아래처럼 **세미콜론(;)**으로 이어 붙여서 한 번에 볼 수 있습니다.
gcim Win32_ComputerSystemProduct | select Name; gcim Win32_PhysicalMemory | select @{N="GB"; E={$_.Capacity/1GB}}, Speed
(참고: gcim은 Get-CimInstance의 단축어입니다.)

왜 이렇게 써야 하나요? (직관성의 차이)
- 단위 변환: wmic는 8589934592 같은 바이트 숫자를 그대로 줘서 한눈에 몇 GB인지 알기 어렵지만, PowerShell은 위 예시처럼 8 또는 16으로 바로 표시할 수 있습니다.
- 정렬과 필터: 메모리가 여러 개 꽂혀 있을 때, 속도별로 정렬하거나 특정 슬롯 정보만 빼보는 작업이 훨씬 수월합니다.
- 환경의 일관성: 윈도우 설치 화면(Shift+F10)에서 진입하는 PowerShell 환경은 윈도우 진입 후의 터미널과 100% 동일한 문법을 공유하므로, 한 번 익혀두면 어디서든 쓸 수 있습니다.
윈도우 진입 후 하드웨어 체크 루틴
- 터미널 실행 (Win + X -> A)
- 메모리 체크: gcim Win32_PhysicalMemory | select @{n="GB"; e={$_.Capacity/1GB}}, Speed
- 모델명 체크: gcim Win32_ComputerSystemProduct | select Name, IdentifyingNumber
- 디스크 체크: Get-PhysicalDisk | select FriendlyName, HealthStatus

***윈도우 진입 후의 '특권': 더 상세한 정보 (Get-PhysicalDisk)
윈도우 진입 후에는 CIM 클래스 외에도 PowerShell 전용 명령어를 사용할 수 있어 하드웨어 점검이 훨씬 강력해집니다. 예를 들어, 디스크가 SSD인지 HDD인지, 건강 상태(Health)는 어떤지 한 줄로 알 수 있습니다.
# 디스크 종류와 상태 확인
Get-PhysicalDisk | Select-Object FriendlyName, MediaType, HealthStatus, Size

TIP!!
윈도우 진입 전(Shift + F10)과 진입 후 모두 사용 가능한 단축 명령어입니다.
1. 제품 정보 (csproduct 대체)
gcim Win32_ComputerSystemProduct | select Name, IdentifyingNumber
1. 와일드카드(*)와 자동완성
클래스 이름을 다 칠 필요 없이 일부만 입력하고 Tab 키를 누르면 됩니다.
- 방법: gcim Win32_Comp 까지만 치고 Tab을 누르면 자동으로 Win32_ComputerSystemProduct가 완성됩니다.
클래스 이름이 기억나지 않을 때 아래처럼 검색할 수 있습니다.
# 'prod'가 들어가는 클래스 찾기
gcim Win32_*prod* # 'phys'가 들어가는 클래스 찾기
gcim Win32_Phys*
2. 메모리 용량 및 속도 (memorychip 대체)
gcim Win32_PhysicalMemory | select @{n="GB"; e={$_.Capacity/1GB}}, Speed
Tip: gcim은 Get-CimInstance의 약어이며, 윈도우 설치 환경(PE)에서도 즉시 작동합니다.
명령어를 외우기 싫다면, 그냥 아래 한 줄을 메모장이나 폰에 적어두었다가 한 번에 입력하세요.
# 제품명과 메모리 용량/속도를 한 번에 출력
gcim Win32_ComputerSystemProduct | select Name; gcim Win32_PhysicalMemory | select @{n="GB"; e={$_.Capacity/1GB}}, Speed
결론: Win32_ 뒤에 핵심 단어(Comp, Phys)만 치고 Tab 키를 누르는 습관을 들이시면 외울 필요가 전혀 없습니다.
마치며
WMIC를 작별할 시간이 다가왔음을 포스팅하며 느낍니다.
이제는 CIM 과 친해질 시간이 다가왔네요.
끝까지 읽어주셔서 감사드립니다.
다음에 또 찾아뵙겠습니다.
"이 콘텐츠는 AI 어시스턴트의 도움을 받아 작성되었으며, 최종 검토와 편집은 사람이 수행하였습니다."

다른 내용이 궁금하시다면 아래의 카테고리를 참고해주세요
DAINNSYS/다인엔시스/다인엔시스기술지원/스위치/스위치 기술지원비(비용)/스위치 설치비/방화벽/방화벽 기술지원비(비용)/방화벽 설치비/랙/랙(RACK) 기술지원비(비용)/랙(RACK) 설치비/KVM/KVM 기술지원비(비용)/KVM 설치비/스토리지/스토리지 기술지원비(비용)/스토리지 설치비/스토리지 랙마운트비용/스토리지 장애조치비용/서버/서버 기술지원비(비용)/서버 설치비/서버 랙마운트비용/서버 장애조치비용/윈도우서버/윈도우즈 기술지원비(비용)/윈도우즈 설치비/리욱스/Linux/리눅스 기술지원비(비용)/리눅스 설치비/DB/데이터베이스/MySQL 기술지원비(비용)/MySQL 설치비/MSSQL 기술지원비(비용)/MSSQL 설치비/백업 기술지원비(비용)/HPE서버비용/HPE/DL20/DL20GEN10/ML30/ML30GEN10/ML360/ML350GEN10/DL360/DL360Gen10/DL380/DL380Gen10/LENOVO서버/레노보서버/델서버/델서버비용/DELLR540/DELLR750/HP서버/서버엔지니어/서버기술지원/서버디스크장애처리/방화벽/방화벽엔지니어/APC UPS/UPS/UPS설치/UPS기술지원/UPS납품/서버렉마운트/HPE Service Pack for Proliant/HPE SPP/SPP/Intelligent Provisioning/시놀로지나스/나스기술지원/SYNOLOGY/SYNOLOGY나스/시놀로지DS918/시놀로지하이퍼백업/HYPER BACKUP/시놀로지HyperBackup/시놀로지나스백업/서버백업/서버트러블슈팅/리눅스트러블슈팅/보안솔루션/시큐어디스크/인터넷디스크/이스트소프트/알약/카스퍼스키/ESTSOFT/V3/안랩/소포스/SOPHOS/카보나이트/더블테이크/이중화솔루션/HA솔루션/Windows서버설치/왼도우서버설치/윈도우서버2019/윈도우서버2016/MSSQL/MYSQL/디포그랙/DEFOG랙/디포그랙가격/EDFOG랙가격/RMS랙/서버납품/랙납품설치/랙설치/나스설치지원/스토리지납품설치/윈도우서버트러블슈팅/리눅스서버트러블슈팅/HPE서버펌웨어/HP서버펌웨어/HPE서버/FIRMWARE/DELL서버펌웨어/델서버펌웨어업데이트/레노보서버펌웨어/LENOVO펌웨어업데이트/HPE서버드라이버설치/HPE서버구매/DELL서버구매/LENOVO서버구매/보안솔루션구매/이중화솔루션구매/보안솔루션설치/이중화솔루션설치/HPE서버가격비교/DELL서버가격비교/LENOVO서버가격비교/HPE서버가격비교견적/DELL서버가격비교견적/LENOVO서버가격비교견적/HPE서버견적/DELL서버견적/LENOVO서버견적/HPE서버디스크교체/DELL서버디스크교체/LENOVO서버디스크교체/HPE서버RAID컨트롤러/HPE서버RAID컨트롤러/DELL서버RAID컨트롤러/LENOVO서버RAID컨트롤러/HP서버하드디스크/HPE서버하드디스크구매/DELL서버하드디스크구매/LENOVO서버하드디스크구매/HPE서버SAS하드디스크/DELL서버SAS하드디스크/LENONO서버SAS하드디스크/HPE서버메모리/DELL서버메모리/LENOVO서버메모리/HP서버메모리/HPE서버CPU/DELL서버CPU/LENOVO서버CPU/서버CPU/서버메모리/서버MEMORY/ECC메모리/서버용메모리/서버용하드디스크/서버용그래픽카드/쿼드로P400/QUADRO그래픽카드/QUADRO/우분투설치/서버보안/네트워크장비/네트워크스위치/L2스위치/L3스위치/OS설치/서버OS설치/리눅스서버설치/우분투설치/페도라설치/레드헷설치/RHEL설치/워크스테이션/서버/hp워크스테이션/서버컴퓨터/델워크스테이션/hp서버/미니서버랙/중고서버/hpz4/dell워크스테이션/서버pc/hpz4g4/중고워크스테이션/hpz440/레노버p620/서버용컴퓨터/델서버//레노버워크스테이션/hpz420/dell서버/인스퍼/INSPURE/인스퍼서버/R760/R750//R250/R350/R750xs/GPU서버/AI서버/HPPC구매/델서버견적/델워크스테이션견적/A100/A6000/A5000/A4000/A2000/T400/다인월드/DAINWORLD/델서버쇼핑몰
'기술 자료 > 기타 기술자료' 카테고리의 다른 글
| [보안성 점검] 소프트웨어 보안 취약점 진단, 기업의 필수 보안 전략 (0) | 2025.11.14 |
|---|---|
| [GPU] PowerEdge R760 + RTX PRO 6000 Blackwell Max-Q 장착기 (0) | 2025.10.13 |
| [GPU] Dell Precision 7960T + RTX PRO 6000 Blackwell Max-Q 장착기 (0) | 2025.10.02 |
| [기술] 유지보수 기술지원 같은 듯 다른 두 가지 이야기 (From. chatGPT) (0) | 2025.05.21 |
| [NAS/UPS] Synology NAS에서 APS UPS 사용하기 (0) | 2025.03.10 |


댓글