Microsoft MVP성태의 닷넷 이야기
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 
(연관된 글이 2개 있습니다.)

WMI Namespace를 열거하고, 그 안에 정의된 클래스를 열거하는 방법

검색해 보면 Namespace 열거에 대해 Get-WmiObject 명령어를 사용하면 된다고 합니다.

Quick Hits: List All Available WMI Namespaces Using PowerShell
; https://learn-powershell.net/2014/05/09/quick-hits-list-all-available-wmi-namespaces-using-powershell/

따라서 다음과 같이 PS shell에서 실행하면,

PS C:\Windows\System32> Get-WmiObject -Namespace Root -Class __Namespace | Select-Object -Property Name

Name
----
subscription
DEFAULT
CIMV2
msdtc
Cli
MicrosoftIISv2
SECURITY
HyperVCluster
SecurityCenter2
RSOP
PEH
WebAdministration
StandardCimv2
WMI
directory
Policy
virtualization
Interop
Hardware
ServiceModel
SecurityCenter
Microsoft
aspnet
Appv

최상위 WMI 네임스페이스를 열거하게 됩니다. 참고로, 계층을 이루는 네임스페이스를 하위까지 모두 열거하고 싶다면 "Quick Hits: List All Available WMI Namespaces Using PowerShell" 블로거가 공개한 명령어를,

Get All WMI Namespaces
; https://gallery.technet.microsoft.com/scriptcenter/Get-All-WMI-Namespaces-5471ad75

이렇게 사용하면 됩니다. ^^

PS C:\ps> Import-Module .\Get-WMINamespace.ps1
PS C:\ps> Get-WMINamespace -Recurse

Computername Namespace
------------ ---------
TESTPC        ROOT\subscription
TESTPC        ROOT\subscription\ms_411
TESTPC        ROOT\subscription\ms_409
TESTPC        ROOT\subscription\ms_412
TESTPC        ROOT\DEFAULT
TESTPC        ROOT\DEFAULT\ms_411
TESTPC        ROOT\DEFAULT\ms_409
TESTPC        ROOT\DEFAULT\ms_412
TESTPC        ROOT\CIMV2
TESTPC        ROOT\CIMV2\mdm
TESTPC        ROOT\CIMV2\mdm\dmmap
TESTPC        ROOT\CIMV2\mdm\MS_411
TESTPC        ROOT\CIMV2\mdm\MS_409
TESTPC        ROOT\CIMV2\mdm\MS_412
TESTPC        ROOT\CIMV2\Security
TESTPC        ROOT\CIMV2\Security\MicrosoftTpm
TESTPC        ROOT\CIMV2\Security\MicrosoftVolumeEncryption
TESTPC        ROOT\CIMV2\ms_411
TESTPC        ROOT\CIMV2\power
TESTPC        ROOT\CIMV2\power\ms_411
TESTPC        ROOT\CIMV2\power\ms_409
TESTPC        ROOT\CIMV2\power\ms_412
TESTPC        ROOT\CIMV2\ms_409
TESTPC        ROOT\CIMV2\TerminalServices
TESTPC        ROOT\CIMV2\TerminalServices\ms_411
TESTPC        ROOT\CIMV2\TerminalServices\ms_409
TESTPC        ROOT\CIMV2\TerminalServices\ms_412
TESTPC        ROOT\CIMV2\ms_412
TESTPC        ROOT\msdtc
TESTPC        ROOT\Cli
TESTPC        ROOT\Cli\MS_411
TESTPC        ROOT\Cli\MS_409
TESTPC        ROOT\Cli\MS_412
TESTPC        ROOT\MicrosoftIISv2
TESTPC        ROOT\MicrosoftIISv2\MS_411
TESTPC        ROOT\MicrosoftIISv2\MS_409
TESTPC        ROOT\MicrosoftIISv2\MS_412
TESTPC        ROOT\SECURITY
TESTPC        ROOT\HyperVCluster
TESTPC        ROOT\HyperVCluster\v2
TESTPC        ROOT\HyperVCluster\v2\ms_411
TESTPC        ROOT\HyperVCluster\v2\ms_409
TESTPC        ROOT\HyperVCluster\v2\ms_412
TESTPC        ROOT\SecurityCenter2
TESTPC        ROOT\RSOP
TESTPC        ROOT\RSOP\User
TESTPC        ROOT\RSOP\User\ms_411
TESTPC        ROOT\RSOP\User\ms_409
TESTPC        ROOT\RSOP\User\S_1_5_21_1280880998_3941059...
TESTPC        ROOT\RSOP\User\ms_412
TESTPC        ROOT\RSOP\Computer
TESTPC        ROOT\RSOP\Computer\ms_411
TESTPC        ROOT\RSOP\Computer\ms_409
TESTPC        ROOT\RSOP\Computer\ms_412
TESTPC        ROOT\PEH
TESTPC        ROOT\WebAdministration
TESTPC        ROOT\WebAdministration\MS_411
TESTPC        ROOT\WebAdministration\MS_409
TESTPC        ROOT\WebAdministration\MS_412
TESTPC        ROOT\StandardCimv2
TESTPC        ROOT\StandardCimv2\MS_411
TESTPC        ROOT\StandardCimv2\MS_409
TESTPC        ROOT\StandardCimv2\MS_412
TESTPC        ROOT\StandardCimv2\embedded
TESTPC        ROOT\StandardCimv2\embedded\MS_411
TESTPC        ROOT\StandardCimv2\embedded\MS_409
TESTPC        ROOT\StandardCimv2\embedded\MS_412
TESTPC        ROOT\WMI
TESTPC        ROOT\WMI\ms_411
TESTPC        ROOT\WMI\ms_409
TESTPC        ROOT\WMI\ms_412
TESTPC        ROOT\directory
TESTPC        ROOT\directory\LDAP
TESTPC        ROOT\directory\LDAP\ms_411
TESTPC        ROOT\directory\LDAP\ms_409
TESTPC        ROOT\directory\LDAP\ms_412
TESTPC        ROOT\Policy
TESTPC        ROOT\Policy\ms_411
TESTPC        ROOT\Policy\ms_409
TESTPC        ROOT\Policy\ms_412
TESTPC        ROOT\virtualization
TESTPC        ROOT\virtualization\v2
TESTPC        ROOT\virtualization\v2\ms_411
TESTPC        ROOT\virtualization\v2\ms_409
TESTPC        ROOT\virtualization\v2\ms_412
TESTPC        ROOT\Interop
TESTPC        ROOT\Interop\ms_411
TESTPC        ROOT\Interop\ms_409
TESTPC        ROOT\Interop\ms_412
TESTPC        ROOT\Hardware
TESTPC        ROOT\Hardware\ms_411
TESTPC        ROOT\Hardware\ms_409
TESTPC        ROOT\Hardware\ms_412
TESTPC        ROOT\ServiceModel
TESTPC        ROOT\ServiceModel\ms_411
TESTPC        ROOT\SecurityCenter
TESTPC        ROOT\Microsoft
TESTPC        ROOT\Microsoft\SqlServer
TESTPC        ROOT\Microsoft\SqlServer\ComputerManagement15
TESTPC        ROOT\Microsoft\SqlServer\ComputerManagemen...
TESTPC        ROOT\Microsoft\SqlServer\ServerEvents
TESTPC        ROOT\Microsoft\SqlServer\ServerEvents\MSSQ...
TESTPC        ROOT\Microsoft\SqlServer\ComputerManagement14
TESTPC        ROOT\Microsoft\SqlServer\ComputerManagemen...
TESTPC        ROOT\Microsoft\SqlServer\ComputerManagement13
TESTPC        ROOT\Microsoft\SqlServer\ComputerManagemen...
TESTPC        ROOT\Microsoft\HomeNet
TESTPC        ROOT\Microsoft\protectionManagement
TESTPC        ROOT\Microsoft\Windows
TESTPC        ROOT\Microsoft\Windows\RemoteAccess
TESTPC        ROOT\Microsoft\Windows\RemoteAccess\Client
TESTPC        ROOT\Microsoft\Windows\RemoteAccess\Client...
TESTPC        ROOT\Microsoft\Windows\RemoteAccess\Client...
TESTPC        ROOT\Microsoft\Windows\RemoteAccess\Client...
TESTPC        ROOT\Microsoft\Windows\Dns
TESTPC        ROOT\Microsoft\Windows\Dns\MS_411
TESTPC        ROOT\Microsoft\Windows\Dns\MS_409
TESTPC        ROOT\Microsoft\Windows\Dns\MS_412
TESTPC        ROOT\Microsoft\Windows\Powershellv3
TESTPC        ROOT\Microsoft\Windows\Powershellv3\MS_411
TESTPC        ROOT\Microsoft\Windows\Powershellv3\MS_409
TESTPC        ROOT\Microsoft\Windows\Powershellv3\MS_412
TESTPC        ROOT\Microsoft\Windows\Hgs
TESTPC        ROOT\Microsoft\Windows\Hgs\MS_411
TESTPC        ROOT\Microsoft\Windows\Hgs\MS_409
TESTPC        ROOT\Microsoft\Windows\Hgs\MS_412
TESTPC        ROOT\Microsoft\Windows\WindowsUpdate
TESTPC        ROOT\Microsoft\Windows\WindowsUpdate\MS_411
TESTPC        ROOT\Microsoft\Windows\WindowsUpdate\MS_409
TESTPC        ROOT\Microsoft\Windows\WindowsUpdate\MS_412
TESTPC        ROOT\Microsoft\Windows\DeviceGuard
TESTPC        ROOT\Microsoft\Windows\DeviceGuard\MS_411
TESTPC        ROOT\Microsoft\Windows\DeviceGuard\MS_409
TESTPC        ROOT\Microsoft\Windows\DeviceGuard\MS_412
TESTPC        ROOT\Microsoft\Windows\TaskScheduler
TESTPC        ROOT\Microsoft\Windows\TaskScheduler\MS_411
TESTPC        ROOT\Microsoft\Windows\TaskScheduler\MS_409
TESTPC        ROOT\Microsoft\Windows\TaskScheduler\MS_412
TESTPC        ROOT\Microsoft\Windows\DesiredStateConfigu...
TESTPC        ROOT\Microsoft\Windows\DesiredStateConfigu...
TESTPC        ROOT\Microsoft\Windows\SmbWitness
TESTPC        ROOT\Microsoft\Windows\Wdac
TESTPC        ROOT\Microsoft\Windows\Wdac\MS_411
TESTPC        ROOT\Microsoft\Windows\Wdac\MS_409
TESTPC        ROOT\Microsoft\Windows\Wdac\MS_412
TESTPC        ROOT\Microsoft\Windows\winrm
TESTPC        ROOT\Microsoft\Windows\AppBackgroundTask
TESTPC        ROOT\Microsoft\Windows\AppBackgroundTask\M...
TESTPC        ROOT\Microsoft\Windows\AppBackgroundTask\M...
TESTPC        ROOT\Microsoft\Windows\AppBackgroundTask\M...
TESTPC        ROOT\Microsoft\Windows\PS_MMAgent
TESTPC        ROOT\Microsoft\Windows\PS_MMAgent\MS_411
TESTPC        ROOT\Microsoft\Windows\PS_MMAgent\MS_409
TESTPC        ROOT\Microsoft\Windows\PS_MMAgent\MS_412
TESTPC        ROOT\Microsoft\Windows\Storage
TESTPC        ROOT\Microsoft\Windows\Storage\PT
TESTPC        ROOT\Microsoft\Windows\Storage\PT\Alt
TESTPC        ROOT\Microsoft\Windows\Storage\MS_411
TESTPC        ROOT\Microsoft\Windows\Storage\MS_409
TESTPC        ROOT\Microsoft\Windows\Storage\Providers_v2
TESTPC        ROOT\Microsoft\Windows\Storage\MS_412
TESTPC        ROOT\Microsoft\Windows\HardwareManagement
TESTPC        ROOT\Microsoft\Windows\HardwareManagement\...
TESTPC        ROOT\Microsoft\Windows\HardwareManagement\...
TESTPC        ROOT\Microsoft\Windows\HardwareManagement\...
TESTPC        ROOT\Microsoft\Windows\SMB
TESTPC        ROOT\Microsoft\Windows\SMB\MS_411
TESTPC        ROOT\Microsoft\Windows\SMB\MS_409
TESTPC        ROOT\Microsoft\Windows\SMB\MS_412
TESTPC        ROOT\Microsoft\Windows\EventTracingManagement
TESTPC        ROOT\Microsoft\Windows\EventTracingManagem...
TESTPC        ROOT\Microsoft\Windows\EventTracingManagem...
TESTPC        ROOT\Microsoft\Windows\EventTracingManagem...
TESTPC        ROOT\Microsoft\Windows\DesiredStateConfigu...
TESTPC        ROOT\Microsoft\Windows\DesiredStateConfigu...
TESTPC        ROOT\Microsoft\Windows\DesiredStateConfigu...
TESTPC        ROOT\Microsoft\Windows\DesiredStateConfigu...
TESTPC        ROOT\Microsoft\Windows\Attestation
TESTPC        ROOT\Microsoft\Windows\Attestation\MS_411
TESTPC        ROOT\Microsoft\Windows\Attestation\MS_409
TESTPC        ROOT\Microsoft\Windows\Attestation\MS_412
TESTPC        ROOT\Microsoft\Windows\CI
TESTPC        ROOT\Microsoft\Windows\CI\MS_411
TESTPC        ROOT\Microsoft\Windows\CI\MS_409
TESTPC        ROOT\Microsoft\Windows\CI\MS_412
TESTPC        ROOT\Microsoft\Windows\DeliveryOptimization
TESTPC        ROOT\Microsoft\Windows\Defender
TESTPC        ROOT\Microsoft\Windows\Defender\MS_411
TESTPC        ROOT\Microsoft\Windows\Defender\MS_409
TESTPC        ROOT\Microsoft\Windows\Defender\MS_412
TESTPC        ROOT\Microsoft\SecurityClient
TESTPC        ROOT\Microsoft\Uev
TESTPC        ROOT\aspnet
TESTPC        ROOT\Appv




다음으로, 특정 네임스페이스에 속한 클래스는 Get-CimClass 명령어를 사용하면 됩니다.

Get-CimClass
; https://docs.microsoft.com/en-us/powershell/module/cimcmdlets/get-cimclass

대개의 경우 결과가 많기 때문에 findstr 등의 필터를 이용하는 것이 좋습니다.

PS C:\Windows\System32> Get-CimClass -Namespace root\WMI | findstr SystemConfig_V2_Network




[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]

[연관 글]






[최초 등록일: ]
[최종 수정일: 12/15/2020]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 



2021-12-20 02시16분
[문의드립니다] 안녕하세요 궁금한게 있어서 하나만 문의 드려도될까요? 고수님의 도움이 절실합니다~!
windows 10 pro 사용중인데, 파워쉘 스크립트를 통해 보안패치하는 스크립트를 작성하고 있는데,
New-CimInstance -Namespace root/Microsoft/Windows/WindowsUpdate -ClassName MSFT_WUOperationsSession 이런 형태로 할려고하는데
저는 확인해보니까 root/Microsoft/Windows/WindowsUpdate 이 네임스페이스가 없더라고요. 혹시 이유를 아실까요?
[guest]
2021-12-20 08시40분
아래의 글에 정리했으니 참고하세요. ^^

Windows 10+에서 WMI root/Microsoft/Windows/WindowsUpdate 네임스페이스 제거
; https://www.sysnet.pe.kr/2/0/12884
정성태
2021-12-21 11시42분
[문의드립니다] 오 성태님 친절하고 정확한 답변 정말 감사드립니다~! 한가지만 더 질문 드려도 될까요?
아래와 같은 형태로 Windows Update를 수행하려고 했습니다만, 답변 주신대로 2004 버전부터 WindowsUpdate 네임스페이스가 없어졌는데,
혹시 어떤 다른 방법을 사용할 수 있을지 참고할만한 레퍼런스가 있을까요?

$AU = Invoke-CimMethod -Namespace root/Microsoft/Windows/WindowsUpdate -ClassName MSFT_WUOperations -MethodName ScanForUpdates -Arguments @{SearchCriteria = 'IsInstalled=0'}
if ($AU.Updates.Count -gt 0) {
    Invoke-CimMethod -Namespace root/Microsoft/Windows/WindowsUpdate -ClassName MSFT_WUOperations -MethodName InstallUpdates -Arguments @{Updates = $AU.Updates}
}
[guest]
2021-12-21 02시38분
관련해서는 이미 위의 링크 글에서 마지막에 COM 개체로 해결한다고 설명했습니다. 따라서, 더 이상 WMI를 경유하는 코드는 사용할 수 없고, "Microsoft.Update.Session" 등의 COM 개체를 이용해야 합니다. 그와 관련된 자료를 조사해 보시고, 원하시는 그 동작을 구현하게 되시면 ^^ 님의 블로그에 그 소스 코드를 공개했을 때 아마도 뒤이을 다른 개발자들이 무척 고마워할 것입니다. ^^ (하실 수 있으리라 믿어 의심치 않습니다.)
정성태
2021-12-22 02시18분
[잘보고있습니다] 네 답변 감사합니다~!!
[guest]

... 181  182  [183]  184  185  186  187  188  189  190  191  192  193  194  195  ...
NoWriterDateCnt.TitleFile(s)
393정성태11/8/200619532오류 유형: 17. Unable to start debugging - The binding handle is invalid.
371정성태10/23/200618689오류 유형: 16. STS Communication failed.
370정성태11/12/200622597.NET Framework: 75. Windows CardSpace 이야기 (이 글의 내용은 재작성되어질 예정입니다.)
375정성태10/25/200624578    답변글 .NET Framework: 75.1. 개인 발행 카드에 대한 Microsoft 예제 실습(이 글의 내용은 재작성되어질 예정입니다.)
376정성태10/27/200624199    답변글 .NET Framework: 75.2. "Windows CardSpace"와 "인증서 서비스"의 만남(이 글의 내용은 재작성되어질 예정입니다.)
377정성태10/26/200623846    답변글 .NET Framework: 75.3. Managed Card 발행에 대한 Microsoft 예제 실습 (1) - CardWriter (이 글의 내용은 재작성되어질 예정입니다.)
385정성태11/6/200626467    답변글 .NET Framework: 75.4. Managed Card 발행에 대한 Microsoft 예제 실습 (2) - STS 구현 (이 글의 내용은 재작성되어질 예정입니다.) [7]
387정성태11/2/200627230    답변글 .NET Framework: 75.5. Windows CardSpace와 SYSNET 사이트의 만남 (이 글의 내용은 재작성되어질 예정입니다.) [1]
397정성태11/11/200624770    답변글 .NET Framework: 75.6. CardWriter.csproj와 함께 알아보는 인증서 식별 방법(이 글의 내용은 재작성되어질 예정입니다.)
398정성태11/12/200623284    답변글 .NET Framework: 75.7. 카드에 암호 거는 방법(이 글의 내용은 재작성되어질 예정입니다.)
399정성태11/12/200625525    답변글 .NET Framework: 75.8. 인증서/스마트 카드에 기반한 Managed Card - STS 구현(이 글의 내용은 재작성되어질 예정입니다.) [5]
369정성태10/22/200621017오류 유형: 15. 자동 업데이트 실패
367정성태10/22/200636798Windows: 3. IIS 7.0 다중 바인딩 설정하는 방법 [1]
365정성태10/21/200620505Windows: 2. 서버(build 5600)에 IIS 7.0 서비스와 .NET 3.0 설치 방법
359정성태10/17/200616664오류 유형: 14. VS.NET 빌드 오류 - FxCopCmd.exe returned error code 65.
358정성태10/17/200621866오류 유형: 13. WSE 3.0 서비스 관련 WSE101 오류 / Destination Unreachable
357정성태12/1/200624119.NET Framework: 74. WCF 이야기 [4]
378정성태10/28/200628887    답변글 .NET Framework: 74.1. WCF와 WSE 3.0의 활용 [4]파일 다운로드1
379정성태11/3/200627845    답변글 .NET Framework: 74.2. WCF로 구현하는 .NET Remoting [4]파일 다운로드1
380정성태10/28/200626748    답변글 .NET Framework: 74.3. 웹 서비스와 닷넷 리모팅으로써의 WCF 구현파일 다운로드1
381정성태10/28/200629184    답변글 .NET Framework: 74.4. WCF 서비스 참조 추가 메뉴 [2]
382정성태10/28/200635248    답변글 .NET Framework: 74.5. WCF 서비스를 IIS에서 호스팅하는 방법파일 다운로드1
383정성태10/28/200630009    답변글 .NET Framework: 74.6. IIS 6.0: 다중 Endpoint 제공파일 다운로드1
384정성태10/28/200626915    답변글 .NET Framework: 74.7. IIS 7.0: 다중 Endpoint 제공
389정성태11/11/200629708    답변글 .NET Framework: 74.8. WCF에 SSL 적용 (1) - Httpcfg.exe 도구를 이용한 SSL 설정
390정성태11/6/200626891    답변글 .NET Framework: 74.9. WCF에 SSL 적용 (2) - 서비스 제작파일 다운로드1
... 181  182  [183]  184  185  186  187  188  189  190  191  192  193  194  195  ...