Windows 배포 서비스 클라이언트 API 사용
표준 WDS(Windows 배포 서비스) 솔루션을 사용하여 Windows를 설치할 수 없는 환경에서는 WDS 클라이언트의 API를 통해 개발자가 사용자 지정 배포 애플리케이션을 작성할 수 있습니다. 애플리케이션은 이 API를 사용하여 WDS 서버와 통신하여 서버에서 사용할 수 있는 시스템 이미지에 대한 정보를 가져올 수 있습니다. 사용자 지정 WDS 클라이언트 애플리케이션은 다음 지침을 준수해야 합니다.
서버에 WDS 역할 설치
- WDS(Windows 배포 서비스)는 RIS(원격 설치 서비스)의 수정된 버전입니다. 사용자 지정 WDS 클라이언트 솔루션을 구현하려면 서버에서 WDS 서버 역할이 필요합니다.
- WDS는 RIS를 Windows Server 2008 및 Windows Server 2003부터 SP2(서비스 팩 2)로 시작하는 표준 구성 요소로 대체합니다.
- SP1(서비스 팩 1)을 사용하여 RIS 서버를 Windows Server 2003의 WDS로 업데이트해야 합니다. WAIK(Windows 자동 설치 키트)를 사용하여 WDS 서버 역할을 설치할 수 있습니다.
Windows PE 2.0 시작
아직 시작하지 않은 경우 Windows PE 2.0을 시작해야 합니다. WDS 클라이언트 및 지원 DLL은 설치 처리의 Microsoft Windows PE 2.0(Windows 사전 설치 환경) 단계에 있는 경우에만 setup.exe 의해 로드됩니다.
- 새 컴퓨터가 네트워크에 연결되면 기본 제공 PXE(Preboot 실행 환경) 기술을 사용하여 네트워크 부팅 프로그램을 다운로드할 수 있습니다. Windows를 설치하기 위해 컴퓨터를 PXE 부팅하는 방법에 대한 자세한 내용은 Windows 배포 서비스 업데이트 단계별 가이드를 참조하세요.
- Windows PE 2.0의 RAMDISK 부팅 가능 이미지는 에 저장할 수 있습니다. WIM 형식이며 네트워크 부팅 프로세스의 일부로 다운로드됩니다. 그런 다음 Windows PE를 로드하고 해당 미디어에서 직접 실행할 수 있습니다.
WDS 서버로 세션 열기
WDS 클라이언트는 WDS 서버로 세션을 열어야 합니다.
- WdsCliCreateSession 함수를 사용하여 WDS 서버로 세션을 엽니다. 이 함수는 서버의 이름 또는 IP 주소를 사용하고 WDS 클라이언트 세션에 대한 핸들의 주소를 받습니다.
- 서버에서 세션을 열 때 WDS 클라이언트를 인증해야 하는 경우 애플리케이션은 WdsCliCreateSession 함수를 호출할 때 클라이언트 자격 증명을 포함하는 WDS_CLI_CRED 구조체의 주소를 제공해야 합니다. 애플리케이션은 WdsCliAuthorizeSession 함수를 사용하여 익명 세션을 인증된 세션으로 변환할 수 있습니다.
- WdsCliCreateSession 함수를 사용하여 열린 세션이 더 이상 필요하지 않은 경우 애플리케이션은 WdsCliClose 함수를 사용하여 세션에서 보유한 핸들을 닫고 리소스를 해제해야 합니다.
WDS 서버에서 시스템 이미지 열거
WDS 클라이언트는 API를 사용하여 WDS 서버의 시스템 이미지를 열거할 수 있습니다.
- WdsCliFindFirstImage 함수를 사용하여 첫 번째 이미지에 대한 핸들을 가져오고 WDS 서버에서 이미지 열거를 초기화합니다.
- WdsCliFindNextImage 함수를 사용하여 WdsCliFindFirstImage 함수로 시작된 열거형을 증분합니다. WdsCliFindNextImage 함수는 다음 이미지에 대한 핸들을 가져옵니다.
- WdsCliGetImageIndex 함수를 사용하여 현재 이미지의 이미지 인덱스를 가져옵니다. 이 값은 WdsCliFindNextImage 또는 WdsCliClose 함수가 다시 사용될 때까지만 유효합니다.
- WdsCliGetEnumerationFlags 함수를 사용하여 이미지 필터링에 대한 정보 플래그를 가져옵니다.
이미지에 대한 정보 가져오기
WDS 클라이언트는 API를 사용하여 WDS 서버의 이미지에 대한 정보를 가져올 수 있습니다. 다음 함수는 현재 이미지에 대한 정보를 가져옵니다. WdsCliFindFirstImage 및 WdsCliFindNextImage 함수는 현재 이미지 핸들 값을 변경하므로 애플리케이션은 WdsCliFindFirstImage 또는 WdsCliFindNextImage 함수를 다시 호출하기 전에 가져오고 나중에 필요한 정보를 저장해야 합니다.
- WdsCliGetImageArchitecture 함수를 사용하여 현재 이미지의 프로세서 아키텍처를 가져옵니다.
- WdsCliGetImagePath 함수를 사용하여 현재 이미지가 포함된 이미지 파일에 대한 상대 경로를 가져옵니다.
- WdsCliGetImageSize 함수를 사용하여 이미지 크기를 가져옵니다.
- WdsCliGetImageVersion 함수를 사용하여 이미지 버전을 가져옵니다.
- WdsCliGetImageLanguage 함수를 사용하여 현재 이미지의 기본 언어를 가져옵니다.
- WdsCliGetImageLanguages 함수를 사용하여 현재 이미지에서 지원하는 언어 배열을 가져옵니다.
- WdsCliGetImageLastModifiedTime을 사용하여 현재 이미지에 대해 마지막으로 수정한 시간을 반환합니다.
- WdsCliGetImageName 함수를 사용하여 현재 이미지의 이름을 가져옵니다.
- WdsCliGetImageDescription 함수를 사용하여 현재 이미지에 대한 설명을 가져옵니다.
- WdsCliGetImageGroup 함수를 사용하여 현재 이미지의 이미지 그룹 이름을 가져옵니다.
- WdsCliGetImageHalName 함수를 사용하여 현재 이미지의 HAL(하드웨어 추상화 계층) 이름을 가져옵니다.
WDS 클라이언트 이벤트 로그
WDS 클라이언트 라이브러리의 로깅 기능을 사용하면 설치 진행률 이벤트를 클라이언트에서 WDS 서버로 보낼 수 있습니다.
- WdsCliInitializeLog 함수를 사용하여 WDS 클라이언트 세션에 대한 로그를 초기화합니다.
- WdsCliLog 함수를 사용하여 WDS 서버 로그에 이벤트 메시지를 작성합니다.
- Windows Server 2008에서 WDS 서버는 디버그 추적 로그뿐만 아니라 eventvwr.exe 통해 볼 수 있는 애플리케이션별 이벤트 로그에 클라이언트 이벤트를 씁니다. 디버그 로깅을 사용하도록 설정된 Windows Server 2003에서 WDS 서버는 %windir%\tracing\wdsserver.log에 있는 로그 파일에 클라이언트 이벤트를 씁니다. 이러한 이벤트를 캡처하려면 서버에서 WDS 클라이언트 로깅을 사용하도록 설정해야 합니다.
관련 항목