Windows Management Instrumentation
Windows Management Instrumentation![]() |
원저작자 | 마이크로소프트 |
---|---|
개발자 | 마이크로소프트 |
운영 체제 | Microsoft Windows |
플랫폼 | IA-32, x86-64 및 ARM(이력적으로는 Itanium, DEC Alpha, MIPS 및 전원)PC) |
유형 | 시스템 관리 |
면허증. | 독자 사양 |
웹 사이트 | docs |
WMI(Windows Management Instrumentation)는 계측된 구성 요소가 정보와 알림을 제공하는 운영 체제 인터페이스를 제공하는 윈도우즈 드라이버 모델에 대한 일련의 확장 기능으로 구성됩니다.WMI는 Microsoft가 DMTF(Distributed Management Task Force)에서 Web-Based Enterprise Management(WBEM) 및 Common Information Model(CIM) 표준을 구현한 것입니다.
WMI를 사용하면 스크립트 언어(예: VBScript 또는 Windows PowerShell)에서 마이크로소프트 윈도우즈 개인 컴퓨터 및 서버를 로컬 및 원격으로 관리할 수 있습니다.WMI 는, Windows 2000 및 새로운 Microsoft OS 에 프리 인스톨 되어 있습니다.Windows NT[1] 및 Windows 95에서 Windows [2]98로 다운로드 할 수 있습니다.
마이크로소프트는 WMI([3]윈도우즈 Management Instrumentation Command-Line)라는 명령줄 인터페이스도 제공합니다.
WMI의 목적
WMI의 목적은 관리 응용 프로그램 간에 관리 정보를 공유할 수 있도록 환경에 의존하지 않는 사양의 독자 세트를 정의하는 것입니다.WMI는 데스크톱 관리 인터페이스(DMI)나 SNMP 등의 기존 관리 표준과 연동되는 Windows용 엔터프라이즈 관리 표준 및 관련 기술을 규정합니다.WMI는 통일된 모델을 제공함으로써 이러한 다른 표준을 보완합니다.이 모델은 모든 원본의 관리 데이터에 공통적으로 액세스할 수 있는 관리되는 환경을 나타냅니다.
개발 프로세스
WMI는 CIM 및 공급자 컬렉션을 사용하여 관리 가능한 엔티티를 추상화하기 때문에 공급자 개발에는 몇 가지 단계가 포함됩니다.주요 단계는 다음과 같이 요약할 수 있습니다.
- 관리 가능한 엔티티 모델 생성
- 모델을 정의하다
- 모델 구현
- WMI 공급자 생성
- 구현할 공급자 유형 결정
- 프로바이더의 호스팅 모델을 결정합니다.
- ATL 마법사를 사용하여 공급자 템플릿 생성
- 공급자에 코드 로직을 구현합니다.
- WMI 및 시스템에 공급자를 등록합니다.
- 프로바이더를 테스트합니다.
- 소비자 샘플 코드를 만듭니다.
WMI 프로바이더의 중요성
Windows NT 4.0 SP4 시대(아웃 오브 밴드 다운로드)의 첫 번째 WMI 구현 릴리스 이후 마이크로소프트는 일관되게 WMI 공급자를 Windows에 추가했습니다.
- Windows NT 4.0 에서는, WMI 를 인스톨 하면, Microsoft 는 약 15 개의 WMI 프로바이더를 사용할 수 있게 되었습니다.
- 윈도우즈 2000이 출시되었을 때 운영 체제 설치의 일부로 29개의 WMI 공급자가 있었습니다.
- Windows Server 2003 릴리스에서는 플랫폼에 80개 이상의 WMI 프로바이더가 포함되어 있습니다.
- Windows Vista 에는 13개의 새로운 WMI [4]프로바이더가 포함되어 있으며, 그 수는 총 약 100개에 육박합니다.
- Windows Server 2008에는 IIS 7, PowerShell, 가상화용 프로바이더를 포함한 프로바이더가 다수 포함되어 있습니다.
- Windows 10 에는, 모바일 디바이스 관리(MDM) [5]서비스용의 프로바이더가 47개 포함되어 있습니다.
많은 고객은[which?] 프로바이더의 수가 증가하고 있는 것은 Microsoft가 이러한 약속을 명확히 하지 않았더라도 WMI가 Microsoft의 "유비쿼터스" Windows 관리 계층이 되었음을 나타내는 것으로 해석하고 있습니다.
관리 자료의 WMIWindows를 통해 일정한 증가하고 노출 때문에 IT운영되 관리 분야에 종사하는 사람들, 스크립트와 자동화 절차 WMI.[표창 필요한]에 하거나 요구 외에 기초한 가장 엄마, SCCM, 공중 충돌 방지 체계, 에이치피 오픈 뷰 Windows에 대한 것과 같이management-software은(HPOV)을 주도하고 있는 비엠시 소프트웨어를 개발하기 시작했다.또는 크리스 앤더슨 회사WMI를 지원하며 다양한 사용자 인터페이스를 통해 WMI 정보를 소비 및 제공할 수 있습니다.이를 통해 WMI를 기반으로 스크립팅 또는 프로그래밍을 수행할 수 없는 관리자 및 운영자는 WMI에 대해 알 필요도 없이 WMI의 이점을 누릴 수 있습니다.그러나 WMI는 스크립트가 가능하기 때문에 스크립트에서 또는 WMI 인식 엔터프라이즈 관리 소프트웨어에서 WMI 정보를 사용할 수 있습니다.
특징들
WMI는 1개 이상의 WMI 공급자를 개발하려는 사용자에게 개봉 즉시 많은 기능을 제공합니다.가장 중요한 장점은 다음과 같습니다.
- 자동화 인터페이스:
WMI에는 즉시 사용할 수 있는 자동화 인터페이스 세트가 포함되어 있기 때문에 WMI 공급자와 해당 클래스 세트가 지원하는 모든 관리 기능이 즉시 스크립팅 지원을 받을 수 있습니다.WMI 클래스의 설계와 프로바이더의 개발 이외에도 Microsoft 개발팀과 테스트팀은 스크립트 모델을 WMI에서 이미 입수할 수 있기 때문에 작성, 검증 또는 테스트할 필요가 없습니다. - .NET 관리 인터페이스:
왜냐하면 시스템이니까요.관리 네임스페이스는 기존 COM/DCOM 배관, 생성된 WMI 공급자 및 해당 WMI 클래스 세트를 모든 사용자가 자동으로 사용할 수 있게 됩니다.사용하는 언어(C#, VB 등)와는 무관한 NET 애플리케이션.NET) 스크립트 작성과 같은 WMI 클래스 설계 및 공급자 개발 외에 Microsoft 개발팀과 테스트팀은 에서 새로운 이름 공간을 지원하기 위해 새로운 어셈블리를 작성, 검증 및 테스트할 필요가 없습니다.NET Framework는 이미 WMI에서 무료로 사용할 수 있습니다. - C/C++ COM/DCOM 프로그래밍 인터페이스:
Windows 의 대부분의 컴포넌트와 같이, COM/DCOM 프로그래머는, COM/DCOM 인터페이스 레벨로 개발한 프로바이더의 기능을 활용할 수 있습니다.이전 환경(스크립팅 및 )과 같습니다.NET Framework)를 사용하면 COM/DCOM 사용자는 표준 WMI COM 인터페이스 세트와 상호 작용하여 WMI 프로바이더의 기능과 지원되는 WMI 클래스 세트를 활용할 수 있습니다.기본 API에서 모든 관리 정보를 사용하려면 WMI 공급자 개발자가 미리 정의된 WMI COM 인터페이스 집합과 상호 작용하기만 하면 됩니다.그러면 WMI COM 수준에서 관리 정보를 자동으로 사용할 수 있습니다.게다가 스크립팅 COM 인터페이스 오브젝트 모델은 COM/DCOM 인터페이스 오브젝트 모델과 매우 유사하기 때문에 개발자는 스크립팅 경험을 쉽게 이해할 수 있습니다. - DCOM 및 SOAP을 통한 원격 기능:
WMI는 단순히 로컬 COM 기능을 제공하는 것이 아니라 관리가 원격에 관한 것이므로 DCOM 전송을 제공합니다.또, Windows Server 2003R2 에서는, Microsoft, 인텔, Sun Microsystems, 및 델이 주도하는 WS-Management Initiative에 의해서 SOAP 트랜스포트를 이용할 수 있게 됩니다.이 이니셔티브를 통해 원격으로 스크립트를 실행하거나 SOAP 요청/응답 처리 인터페이스 세트를 통해 WMI 데이터를 사용할 수 있습니다.WMI 공급자 개발자는 WMI를 통해 모든 기능을 공개하면 Windows 원격 관리/WS-Management에서도 해당 정보를 사용할 수 있습니다(WMI 인스턴스에 포함된 개체는 윈도우즈 서버 2003 R2에서 지원되지 않음).다만, Vista 의 타겟이 됩니다).WS-Management로의 계층화 및 CIM 데이터 모델의 SOAP로의 매핑은 WMI/WS-Management 솔루션에서 무료로 제공됩니다.DCOM을 사용해야 하는 경우 DCOM을 구현하려면 각 클라이언트머신에 배치된 프록시 DLL이 필요합니다.WMI는 윈도우즈 2000 이후 윈도우즈 운영 체제에서 사용할 수 있으므로 이러한 문제가 제거됩니다. - 쿼리 지원:
WMI는 개봉 즉시[7] WQL 쿼리를 지원합니다.즉, 공급자가 쿼리를 지원하도록 설계되지 않은 경우 WMI는 공급자 외부에서 열거 기술을 사용하여 쿼리를 지원합니다. - 이벤트 기능:
WMI는 가입자가 관심 있는 이벤트에 대해 가입자에게 통지하는 기능을 제공합니다.WMI는 WQL(WMI Query Language)을 사용하여 WQL 이벤트 쿼리를 제출하고 반환되는 이벤트 유형을 정의합니다.이벤트 메커니즘과 관련된 모든 콜백은 WMI COM/DCOM 및 자동화 인터페이스의 일부입니다.WMI 공급자를 작성하는 모든 사용자는 무료로 이 기능을 이용할 수 있습니다.WMI 프로바이더 및 관련 WMI 클래스 세트에 의해 공개되는 관리 정보의 사용 방법을 결정하는 것은 사용자의 몫입니다. - 코드 템플릿 생성기:
WMI 팀은 모든 COM/DCOM 인터페이스 및 관련 정의를 포함하여 WMI 공급자를 작성하는 프로세스를 가속화하기 위해 WMI ATL 마법사를 개발하여 공급자를 구현하는 코드 템플릿을 생성했습니다.생성된 코드는 개발자가 초기에 설계한 WMI 클래스 모델을 기반으로 합니다.WMI 공급자 개발자는 WMI 공급자에 대해 미리 정의된 COM/DCOM 인터페이스를 표시할 관리 정보를 검색하는 네이티브 API 세트와 인터페이스할 수 있습니다.이 연습은 프로바이더코드의 "갭"을 채우고 원하는 인터페이스 로직을 작성하는 것으로 구성됩니다. - 예측 가능성:
예측가능성은 IT프로패셔널에게 중요한 관심사입니다.이는 Windows 컴포넌트를 관리하는 일련의 인터페이스에 대한 경험이 있는 사람이 이 지식을 직관적으로 다른 관리 가능한 Windows 컴포넌트에 즉시 적용할 수 있는 능력을 정의하기 때문입니다.고객의 예측 가능성은 투자수익률(ROI)을 높일 수 있기 때문에 큰 도움이 됩니다.그러한 상황에 직면한 사람은 단지 이전의 경험에 근거해 같은 방식으로 일이 진행되기를 바랄 뿐이다.COM 프로그래밍/스크립트 가능한 인터페이스가 지속적으로 증가하면 예측 가능성에 큰 영향을 미칩니다.이러한 경우, 고객은 Windows 의 자동화, 관리, 및 기존의 지식을 활용하는 것이 어려워지기 때문입니다.CIM을 사용하는 WMI는 항상 같은 프로그래밍 오브젝트 모델(COM/DCOM, Automation 등)을 표시함으로써 이 문제에 대처합니다.NET) 관리 가능한 엔티티가 무엇이든 상관없습니다. - 기존 고객 투자 보호:
고객과 파트너의 투자를 보호하는 것은 고객이 기술에 투자하도록 동기를 부여합니다.Microsoft는 과거 몇 년간 WMI 프로바이더 작성에 많은 투자를 했기 때문에 고객과 파트너는 Windows의 WMI 기능을 활용하는 툴에 투자했습니다.따라서 각 Windows 관리 가능한 컴포넌트에 대해 새로운 특정 인터페이스 세트를 사용할 필요 없이 자연스럽게 이러한 기능을 계속 이용할 수 있습니다.특정 인터페이스 세트란 새로운 모델 또는 컴포넌트 또는 테크놀로지 전용 인터페이스 세트를 기반으로 한 특정 에이전트 세트 또는 자체 개발한 소프트웨어를 의미합니다.현재의 WMI 기능을 활용함으로써 고객 및 파트너는 개발, 학습 곡선 및 새로운 발견에 대한 비용을 최소화하면서 과거에 투자한 작업을 활용할 수 있습니다.또한 향상된 기술을 사용하여 기존 구현을 계속 활용하기 때문에 인프라스트럭처의 안정성과 신뢰성에 큰 영향을 미칩니다. - 논리적이고 통합된 관리 모델을 제공합니다.
앞서 소개에서 간단히 설명한 바와 같이 이 모델은 DMTF(http://www.dmtf.org)에 의해 정의된 CIM이라는 업계 표준을 기반으로 합니다.CIM 클래스 기반 스키마는 업계의 요구 사항을 충족하는 컨스트럭터와 소프트웨어 개발자로 구성된 컨소시엄에 의해 정의됩니다.즉, Microsoft는 WMI 기능을 활용할 뿐만 아니라 다른 서드파티제의 컨스트럭터나 개발자도 모델에 맞는 독자적인 코드를 작성합니다.예를 들어 인텔은 네트워크 드라이버 어댑터와 소프트웨어 중 일부에 대해 이 작업을 수행하고 있습니다.HP는 기존 WMI 공급자를 활용하여 자체 WMI 공급자를 HP Open View Enterprise Management 소프트웨어에 구현하고 있습니다.IBM은 Tivoli 관리 제품군에서 WMI를 사용하고, MOM 및 SMS도 WMI 정보를 소비 및 제공합니다.마지막으로 Windows XP SP2는 WMI를 사용하여 안티바이러스 소프트웨어 및 방화벽에서 정보 상태를 가져옵니다.
WMI 도구
일부 WMI 도구는 설계 및 개발 단계에서도 유용합니다.다음 툴이 있습니다.
- MOF 컴파일러(MOFComp.exe):MOF(Managed Object Format) 컴파일러는 Managed Object Format 문이 포함된 파일을 해석하고 파일에 정의된 클래스 및 클래스 인스턴스를 CIM 저장소에 추가합니다.MOF 형식은 ASCII 파일에 CIM 클래스 표현을 정의하기 위한 특정 구문입니다(예를 들어 MIB와 SNMP는 MOF 파일과 CIM의 관계). MOFComp.exe는 모든 WMI 설치에 포함됩니다.CIM 저장소에 존재하는 모든 정의는 처음에 MOF 파일에 정의됩니다.MOF 파일은 %SystemRoot%\에 있습니다.시스템32\WBEM. WMI 설정 중에 CIM 저장소에 로드됩니다.
- WMI 관리 도구:WMI 관리 도구는 WMI CIM Studio, WMI 개체 브라우저, WMI 이벤트 등록 및 WMI 이벤트 뷰어의 4가지 도구로 구성됩니다.WMI 공급자 개발자에게 가장 중요한 도구는 WMI CIM Studio입니다.이 도구는 CIM 저장소의 초기 WMI 클래스 작성에 도움이 됩니다.웹 인터페이스를 사용하여 정보를 표시하고 처음 실행할 때 시스템에 설치된 ActiveX 컴포넌트 모음에 의존합니다.WMI CIM Studio는 다음 기능을 제공합니다.
- 선택한 시스템에 연결하고 사용 가능한 네임스페이스에서 CIM 저장소를 찾습니다.
- 이름, 설명 또는 속성 이름으로 클래스를 검색합니다.
- 지정된 클래스와 관련된 속성, 메서드 및 연결을 검토합니다.
- 검사된 시스템의 특정 클래스에 사용할 수 있는 인스턴스를 참조하십시오.
- WQL 언어로 쿼리를 실행합니다.
- 선택한 클래스에 따라 MOF 파일을 생성합니다.
- MOF 파일을 컴파일하여 CIM 저장소에 로드합니다.
- WinMgmt.exe:WinMgmt.exe는 도구가 아니라 WMI Core 서비스를 구현하는 실행 파일입니다.윈도우즈 NT 운영 체제 제품군에서 WMI는 서비스로 실행됩니다.윈도우즈 98, 윈도우즈 95 또는 윈도우즈 Me를 실행하는 시스템에서 WMI는 응용 프로그램으로 실행됩니다.Windows NT 계열의 운영 체제에서는 이 실행 파일을 애플리케이션으로 실행할 수도 있습니다.이 경우 실행 파일은 현재 사용자 컨텍스트에서 실행됩니다.이를 위해서는 먼저 WMI 서비스를 중지해야 합니다.실행 파일은 WMI를 서비스로 또는 응용 프로그램으로 시작할 때 유용할 수 있는 일부 스위치를 지원합니다.공급자를 디버깅하려는 WMI 공급자 개발자는 기본적으로 [8]응용 프로그램으로 WMI 서비스를 실행해야 합니다.
- WBEMTest.exe: WBEMTest.exe는 WMI와 함께 제공되는 WMI 테스터 도구입니다.이 도구를 사용하면 관리자 또는 개발자는 WMI가 제공하는 그래픽 인터페이스에서 대부분의 작업을 API 수준에서 수행할 수 있습니다.이 도구는 모든 Windows NT 기반 운영 체제에서 사용할 수 있지만 Microsoft에서 공식적으로 지원되지 않습니다.WBEMTest는 다음 기능을 제공합니다.
- 클래스를 열거, 열기, 만들기 및 삭제합니다.
- 클래스의 인스턴스를 열거, 열기, 만들기 및 삭제합니다.
- 네임스페이스를 선택합니다.
- 데이터 및 이벤트 쿼리를 수행합니다.
- 클래스 또는 인스턴스와 관련된 메서드를 실행합니다.
- 모든 WMI 작업을 비동기, 동기 또는 반비동기적으로 실행합니다.
개발자 | 마이크로소프트 |
---|---|
운영 체제 | Microsoft Windows |
유형 | 명령어 |
면허증. | 독자 사양 상용 소프트웨어 |
웹 사이트 | docs |
- WMI 명령줄 도구(WMIC): WMIC는 간단한 키워드(에일리어스)를 사용하여 시스템에 대한 WMI 정보를 쉽게 검색할 수 있도록 설계된 명령줄 도구입니다.WMIC.exe는 Windows XP Professional, Windows Server 2003, Windows Vista, Windows 7 및 Windows Server 2008에서만 사용할 수 있습니다.명령줄에서 "WMIC /?" 라고 입력하면 스위치 및 예약 키워드의 전체 목록을 사용할 수 있습니다.
- WBEMDump.exe: WBEMDump는 Platform SDK와 함께 제공되는 도구입니다.이 명령줄 도구는 자체 Visual C++ 프로젝트와 함께 제공됩니다.이 도구는 CIM 저장소 클래스, 인스턴스 또는 둘 다 표시할 수 있습니다.WMIC로 취득한 것과 같은 정보를 취득할 수 있습니다.WBEMDump.exe는 WMI를 WMIC로 추상화하지 않기 때문에 WMI에 대한 보다 구체적인 지식이 필요합니다.다만, Windows NT 4.0 및 Windows 2000 에서는 동작합니다.클래스 또는 인스턴스에 의해 노출된 메서드를 실행할 수도 있습니다.시스템 설치와 함께 제공되는 표준 WMI 도구가 아니더라도 이 도구는 CIM 저장소 및 WMI 기능을 탐색하는 데 매우 유용합니다.
- WMIDiag.vbs:WMI Diagnostics Tool은 Microsoft에서 다운로드 가능한 VBScript로 Windows 2000 이상에서 WMI를 테스트 및 검증하기 위한 도구입니다.다운로드에는 상세한 매뉴얼이 포함되어 있어 다수의 스위치를 지원합니다.실행 시 수행된 절차(LOG 파일), 결과의 개요(REPORT 파일), 통계 파일(쉼표로 구분된 값 형식) 및 선택적으로 머신에 등록된 프로바이더의 파일 목록(PROVIDER, 쉼표로 구분된 값 형식)이 최대 4개의 텍스트파일이 생성됩니다.생성된 리포트 파일에는 식별된 문제의 목록과 잠재적인 해결 방법이 포함됩니다.
- WMI 탐색기:WMI 탐색기 도구는 여기에서 다운로드할 수 있는 무료로 제공되는 오픈 소스 프로그램이며 그래픽 사용자 인터페이스에서 WMI 공급자를 열거 및 쿼리하는 도구입니다.
무선 네트워크의 예
에서.NET Framework Management Class 클래스는 Common Information Model(CIM) 관리 클래스를 나타냅니다.WMI 클래스는 디스크 드라이브의 경우 Win32_LogicalDisk 또는 Notepad.exe와 같은 실행 중인 프로그램 등의 Win32_Process일 수 있습니다.
다음 예시는 "MSNdis_80211_ServiceSetIdentifier" WMI 클래스를 사용하여 시스템이 현재 연결되어 있는 Wi-Fi 네트워크의 SSID를 C# 언어로 검색하는 방법을 보여 줍니다.
관리 클래스 MC = 신규 관리 클래스("root\WMI", "MSNdis_80211_ServiceSetIdentifier", 무효); Management Object 컬렉션 모크 = MC.GetInstances(인스턴스)(); 앞지르다 (관리 객체 모 에서 모크) { 스트링 wlan 카드 = (스트링)모["인스턴스 이름"]; 부울 활동적인; 한다면 (!부울.TryParse((스트링)모["액티브"], 나가. 활동적인)) { 활동적인 = 거짓의; } 바이트[] SSID = (바이트[])모["Ndis80211SsId"]; }
"MSNdis_80211_ServiceSetIdentifier" WMI 클래스는 윈도우즈 XP 및 윈도우즈 서버 2003에서만 지원됩니다.
WMI 드라이버 확장
WDM에 대한 WMI 확장은 정보 게시, 디바이스 설정 구성, 디바이스 드라이버로부터의 이벤트 알림 제공, 관리자가 WDM 프로바이더로 알려진 WMI 프로바이더를 통해 데이터 보안을 설정할 수 있도록 하는 등의 커널 수준의 도구를 제공합니다.확장 기능은 WDM 아키텍처의 일부이지만 폭넓은 유틸리티가 있어 다른 타입의 드라이버(SCSI나 NDIS 등)에서도 사용할 수 있습니다.WMI 드라이버 확장 서비스는 WMI 또는 이벤트 추적 정보를 게시하도록 구성된 모든 드라이버 및 이벤트 추적 공급자를 모니터링합니다.계측된 하드웨어 데이터는 WDM용 WMI 확장용으로 계측된 드라이버를 통해 제공됩니다.WDM용 WMI 확장기능은 Windows 고유의 드라이버 모델 내에서 데이터를 계측하기 위한 일련의 Windows 디바이스 드라이버 인터페이스를 제공하므로 OEM 및 IHV는 계측된 데이터 세트를 쉽게 확장하고 하드웨어/소프트웨어 솔루션에 가치를 추가할 수 있습니다.그러나 WMI 드라이버 확장 기능은 윈도우즈 Vista 이상 [10]운영 체제에서 지원되지 않습니다.
「 」를 참조해 주세요.
레퍼런스
- ^ "WMI Redistributable for Windows NT". microsoft.com. Archived from the original on 24 February 2010. Retrieved 4 May 2018.
- ^ "WMI Redistributable for Windows 95 and Windows 98". microsoft.com. Archived from the original on 23 April 2007. Retrieved 4 May 2018.
- ^ WMIC의 2007-05-02 웨이백머신에 아카이브된 설명
- ^ "Windows Vista Client Manageability". microsoft.com. Archived from the original on 3 March 2016. Retrieved 4 May 2018.
- ^ "WMI providers supported in Windows 10". Microsoft. 25 June 2017. Archived from the original on 30 September 2018. Retrieved 30 September 2018.
- ^ "System.Management Namespace". msdn2.microsoft.com. Archived from the original on 16 April 2008. Retrieved 4 May 2018.
- ^ "WMI query language (WQL) via PowerShell". ravichaganti.com. 1 May 2011. Archived from the original on 12 October 2017. Retrieved 4 May 2018.
- ^ "WMI Tasks: Computer Software (Windows)". msdn2.microsoft.com. Archived from the original on 6 April 2008. Retrieved 4 May 2018.
- ^ rhonda@ubuntu.com, Rhonda D'Vine. "Ubuntu – Error". packages.ubuntu.com. Archived from the original on 2 May 2017. Retrieved 4 May 2018.
- ^ "The Windows Vista and Windows "Longhorn" Server Developer Story: Application Compatibility Cookbook". msdn2.microsoft.com. Archived from the original on 21 April 2008. Retrieved 4 May 2018.