Skip to main content

การเพิ่มการรายงานสถานะแบบกำหนดเองในสคริปต์การติดตั้ง

มาโครแบบกำหนดไว้ล่วงหน้าที่แนะนำในไฟล์แบบอัตโนมัติจะรายงานสถานะการปรับใช้ระบบปฏิบัติการขั้นสุดท้าย และรายงานสถานะเมื่อมีการดาวน์โหลดและรันสคริปต์หลังการติดตั้ง คุณสามารถรวมการรายงานสถานะเพิ่มเติมในสคริปต์หลังการติดตั้งได้

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 จะใช้มาโครแบบกำหนดไว้ล่วงหน้าสำหรับ HTTPS URL ที่ Lenovo XClarity Administrator ใช้ในการรายงานสถานะ (predefined.otherSettings.statusSettings.urlStatus) และใช้สำหรับโฟลเดอร์ที่มีใบรับรองซึ่งจำเป็นต้องมีเพื่อเข้าถึงบริการเว็บ urlStatus จาก OS ของโฮสต์ในการบูตครั้งแรก (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 สำหรับแต่ละเงื่อนไขสถานะ

โปรดทราบว่าคำสั่งเหล่านี้ใช้มาโครแบบกำหนดไว้ล่วงหน้าสำหรับที่อยู่ IP ของอินสแตนซ์ XClarity Administrator (#predefined.otherSettings.lxcaIp#) และสำหรับ UUID ของเซิร์ฟเวอร์โฮสต์ที่จะปรับใช้ระบบปฏิบัติการ (#predefined.hostPlatforms.uuid#)

ตัวอย่างต่อไปนี้เป็นสคริปต์การติดตั้ง PowerShell ซึ่งจะติดตั้ง Java และรายงานข้อผิดพลาดหากติดตั้งไม่สำเร็จ

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."