メインコンテンツまでスキップ

インストール・スクリプトに報告するカスタム・ステータスの追加

ポスト・インストール・スクリプトがダウンロードおよび実行されると、無人ファイル内の推奨される事前定義済みマクロによって、オペレーティング・システムのデプロイメントの最終的なステータスが報告されます。ポスト・インストール・スクリプトに追加のステータス報告を含めることができます。

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 Web サービスにアクセスするために必要な証明書を含むフォルダー (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."