홈페이지 » 어떻게 » Geek School PowerShell을 사용하여 컴퓨터 정보 얻기

    Geek School PowerShell을 사용하여 컴퓨터 정보 얻기

    WMI 및 동생 CIM은 사용자 환경에서 Windows 시스템을 관리하는 데 사용할 수 있습니다. 하지만 그들 사이의 차이를 아십니까? 우리가보기에 우리와 함께해라..

    시리즈의 이전 기사를 읽으십시오.

    • PowerShell을 사용하여 Windows를 자동화하는 방법 배우기
    • PowerShell에서 Cmdlet을 사용하는 방법 학습
    • PowerShell에서 개체를 사용하는 방법 학습
    • PowerShell에서 형식 지정, 필터링 및 비교 학습
    • PowerShell에서 Remoting 사용 방법 배우기

    그리고 일주일 내내 나머지 시리즈에 계속해서 관심을 가져주세요..

    소개

    WMI는 Windows Management Instrumentation의 약자입니다. "계장"이라는 단어는 WMI가 자동차 내부의 상태에 대한 정보를 검색하고 표시 할 수있는 것처럼 대시 보드 계기가 자동차 내부 구성 요소에 대한 정보를 검색하고 표시 할 수있는 것처럼 컴퓨터의 내부 상태에 대한 정보를 얻을 수 있다는 사실을 나타냅니다.

    WMI는 컴퓨터에서 관리 할 수있는 구성 요소를 나타내는 클래스가 포함 된 리포지토리로 구성됩니다. WMI에 Win32_Battery 클래스가 있다고해서 컴퓨터에 배터리가 들어 있다는 것을 의미하지는 않습니다. 이러한 클래스는 WQL이라는 SQL과 매우 유사한 쿼리 언어를 사용하여 로컬 또는 네트워크를 통해 정보를 쿼리 할 수 ​​있습니다. 그러나 WMI는 RPC (원격 프로 시저 호출)를 기반으로하므로 통신이 불안정한 포트를 사용하여 매우 불안정한 것으로 알려져 있습니다.

    Windows 8 및 Server 2012부터는 WMI가 일반 정보 모델 또는 CIM을 사용하여 단계적으로 단계적으로 제거됩니다. WMI와 CIM의 유일한 차이점은 사용하는 전송 프로토콜입니다. WMI는 원격 프로 시저 호출을 사용하여 쿼리를 수행하지만 CIM은 HTTP를 사용하므로 큰 차이가 있습니다. 백엔드에서는 여전히 동일한 정보 저장소와 대화하고 있습니다..

    WMI 사용

    WMI를 통해 사용 가능한 정보를 탐색하는 가장 빠르고 쉬운 방법은 무료 WMI 개체 브라우저의 복사본을 가져 오는 것입니다. 우리는 이것을 좋아합니다. 다운로드가 완료되면 실행하고 WMI 클래스를 탐색 할 수있는 그래픽 인터페이스를 갖습니다..

    컴퓨터의 디스크 구성에 관한 정보를 찾으려면 Ctrl + F 키보드 조합을 눌러 검색 상자를 표시 한 다음 "logicaldisk"를 입력하고 Enter 키를 누릅니다..

    즉시 Win32_LogicalDisk 클래스로 이동합니다..

    응용 프로그램의 아래쪽 절반에 두 개의 클래스 인스턴스가 있음을 알 수 있습니다..

    찾고있는 클래스가 있으면 PowerShell에서 쿼리하는 것은 간단합니다..

    Get-WmiObject - 쿼리 "SELECT * FROM Win32_LogicalDisk"

    요즘 사람들이 새로운 매개 변수화 된 구문을 사용하는 것을 선호하면서 잠시 동안 구문을 보지 못했습니다..

    Get-WmiObject -Class Win32_LogicalDisk

    네트워크상의 다른 컴퓨터에서 정보를 얻으려면 ComputerName 매개 변수를 사용하면됩니다..

    Get-WmiObject -Class Win32_LogicalDisk -ComputerName Viper -Credential viper \ administrator

    CIM 사용

    CIM은 Windows 8 및 Server 2012에서만 사용할 수 있다는 것을 명심하십시오. 앞으로 나아가 야 할 방향입니다..

    Get-CimInstance -ClassName Win32_LogicalDisk

    Get-CimInstance를 사용할 때 -ClassName 매개 변수에 대한 탭 완성 기능도 있습니다.이 기능을 통해 앞으로 Microsoft의 노력이 집중 될 것임을 보여줍니다..

    실제로 WMI는 Microsoft 내에서 완전히 다른 팀에 의해 개발되었지만 이후 PowerShell 담당자가 인수했습니다. 그들은 WMI가 남긴 혼란을 정리하는 것이 매우 어려울 것임을 알아 차린 사람들이었습니다. 상황을 해결하기 위해 WMI와 CIM을 사용하는 래퍼 cmdlet을 작성하여 WMI와 CIM을 더 많이 사용하려고합니다. cmdlet가 래퍼인지 확인하는 유일한 방법은 설명서를 보는 것입니다. 예를 들어 Get-Hotfix cmdlet은 Win32_QuickFixEngineering 클래스의 래퍼입니다..

    즉, WMI 쿼리 대신 Get-HotFix cmdlet을 사용하여 원격 컴퓨터에서 핫픽스를 가져올 수 있습니다..

    Get-HotFix -ComputerName localhost

    그래서 당신은 그것을 가지고 있습니다. 전용 cmdlet가 있으면 항상 사용하고 CIM은 cmdlet을 사용하지 않아야한다는 점을 기억하십시오. 마지막으로, 다른 모든 것이 실패하거나 환경에 오래된 시스템이있는 경우 WMI를 사용하려고합니다. 그게 내가 가진 전부 야. 더 많은 PowerShell 재미를 위해 내일 만나요..