본문으로 건너뛰기

설치 스크립트에 사용자 지정 상태 보고 추가

무인 파일에서 권장되는 미리 정의된 매크로는 설치 후 스크립트를 다운로드하고 실행할 때 최종 운영 체제 배포 상태 및 보고 상태를 보고합니다. 설치 후 스크립트에 추가 상태 보고를 포함시킬 수 있습니다.

Linux

Linux의 경우 curl 명령을 사용하여 상태를 보고할 수 있습니다.
curl -X PUT -globoff #predefined.otherSettings.statusSettings.urlStatus#
-H "Content-Type: application/json" -d '{"deployStatus":{"id":"<status_ID>"}}'
-cert #predefined.otherSettings.statusSettings.certLocation#/cert.pem
-key #predefined.otherSettings.statusSettings.certLocation#/key.pem
-cacert #predefined.otherSettings.statusSettings.certLocation#/ca-bundle.crt

여기서, <status_ID>는 다음 값 중 하나입니다.

  • 44. 작업 부하 배포 성공

  • 45. 작업 부하 배포 실행 중(경고 있음)

  • 46. 작업 부하 배포 실패

  • 47. 작업 부하 배포 메시지

  • 48. 사용자 지정 설치 후 스크립트 오류

curl 명령은 Lenovo XClarity Administrator가 보고 상태에 사용하는 HTTPS URL(predefined.otherSettings.statusSettings.urlStatus) 및 첫 번째 부팅 시 호스트 OS에서 urlStatus 웹 서비스에 액세스하는 데 필요한 인증서가 포함된 폴더(predefined.otherSettings.statusSettings.certLocation)에 대해 미리 정의된 매크로를 사용합니다. 다음 예제에서는 설치 후 스크립트에서 오류가 발생했음을 보고합니다.

다음 예는 설치 후 스크립트에서 오류가 발생했음을 보고합니다.
curl -X PUT -globoff #predefined.otherSettings.statusSettings.urlStatus#
-H "Content-Type: application/json" -d '{"deployStatus":{"id":"48"}}'
-cert #predefined.otherSettings.statusSettings.certLocation#/cert.pem
-key #predefined.otherSettings.statusSettings.certLocation#/key.pem
-cacert #predefined.otherSettings.statusSettings.certLocation#/ca-bundle.crt

Windows

Wiindows의 경우, LXCA.psm1 스크립트를 가져온 후 다음 명령을 호출하여 상태를 보고할 수 있습니다.

  • initializeRestClient

    REST 클라이언트를 초기화합니다. 이 명령을 실행하려면 다음 구문을 사용하십시오. 이 명령은 보고 명령을 실행하기 전에 필요합니다.

    initializeRestClient
  • testLXCAConnection

    XClarity Administrator가 호스트 서버에 연결할 수 있는지 확인합니다. 이 명령을 실행하려면 다음 구문을 사용하십시오. 이 명령은 선택 사항이지만 보고 명령을 실행하기 전에 설치 스크립트에서 권장됩니다.

    testLXCAConnection –masterIP "#predefined.otherSettings.lxcaIp#"
  • reportWorkloadDeploymentSucceeded

    XClarity Administrator 작업 로그에서 로깅할 완료 성공 메시지를 보고합니다. 이 명령을 실행하려면 다음 구문을 사용하십시오.

    #predefined.unattendSettings.reportWorkloadNotComplete# 매크로가 사용자 정의 무인 파일 또는 설치 후 스크립트에 포함된 경우, 설치 후 스크립트에 reportWorkloadDeploymentSucceeded 명령을 포함시켜 성공적인 완료를 알립니다. 그렇지 않으면, XClarity Administrator는 모든 설치 후 스크립트가 실행된 후 완료 상태를 자동으로 보고합니다.
    reportWorkloadDeploymentSucceeded -masterIP "#predefined.otherSettings.lxcaIp#" 
    -UUID "#predefined.hostPlatforms.uuid#"
  • reportWorkloadDeploymentRunningWithWarning

    XClarity Administrator 작업 로그에서 로깅할 경고 메시지를 보고합니다. 이 명령을 실행하려면 다음 구문을 사용하십시오.

    reportWorkloadDeploymentRunningWithWarning -masterIP "#predefined.otherSettings.lxcaIp#" 
    -UUID "#predefined.hostPlatforms.uuid#" –WarningMessage "<message_text>"
  • reportWorkloadDeploymentFailed

    XClarity Administrator 작업 로그에서 로깅할 실패 메시지를 보고합니다. 이 명령을 실행하려면 다음 구문을 사용하십시오.

    reportWorkloadDeploymentFailed -masterIP "#predefined.otherSettings.lxcaIp#" 
    -UUID "#predefined.hostPlatforms.uuid#" -ErrorMessage "<message_text>"
  • reportCustomPostInstallScriptError

    XClarity Administrator 작업 로그에서 로깅할 설치 후 스크립트 오류 메시지를 보고합니다. 이 명령을 실행하려면 다음 구문을 사용하십시오.

    reportCustomPostInstallScriptError -masterIP "#predefined.otherSettings.lxcaIp#" 
    -UUID "#predefined.hostPlatforms.uuid#" -Message "<message_text>"
  • reportWorkloadDeploymentMessage

    XClarity Administrator 작업 로그에 로깅할 일반 메시지(배포 상태에 영향을 주지 않음)를 보고합니다. 이 명령을 실행하려면 다음 구문을 사용하십시오.

    reportWorkloadDeploymentMessage -masterIP "#predefined.otherSettings.lxcaIp#" 
    -UUID "#predefined.hostPlatforms.uuid#" -Message "<message_text>"

여기서, <message_text>는 각 상태 조건에 대해 XClarity Administrator로 리턴하려는 메시지입니다.

이 명령은 XClarity Administrator 인스턴스의 IP 주소(#predefined.otherSettings.lxcaIp#) 및 운영 체제를 배포할 호스트 서버의 UUID(#predefined.hostPlatforms.uuid#)에 미리 정의된 매크로를 사용합니다.

다음 예제는 Java를 설치하고 설치가 실패할 경우 오류를 보고하는 PowerShell 설치 스크립트입니다.

import-module C:\windows\system32\WindowsPowerShell\v1.0\Modules\LXCA\LXCA.psm1

initializeRestClient

testLXCAConnection –masterIP "#predefined.otherSettings.lxcaIp#"

Write-Output "Reporting status to Lenovo XClarity Administator..."
reportWorkloadDeploymentMessage -masterIP "#predefined.otherSettings.lxcaIp#"
-UUID "#predefined.hostPlatforms.uuid#" -Message "Installing Java"

Write-Output "Install Java...."
Invoke-Command -ScriptBlock {#predefined.otherSettings.deployDataAndSoftwareLocation#\jre-8u151-windows-x64.exe
[INSTALLCFG=#predefined.otherSettings.deployDataAndSoftwareLocation#\java_configfile.cfg] /s}

if ($LastExitCode -ne 0) {
reportWorkloadDeploymentFailed -masterIP "#predefined.otherSettings.lxcaIp#"
-UUID "#predefined.hostPlatforms.uuid#" -ErrorMessage "Java could not be installed"
}

Write-Output "Completed install of Java for Administrator user."