Sample/Firmware_Update.ps1
# ------------------------------------------------------------------ # Lenovo Copyright # # (C) Copyright Lenovo 2015 - present. # # LIMITED AND RESTRICTED RIGHTS NOTICE: # If data or software is delivered pursuant a General Services # Administration (GSA) contract, use, reproduction, or disclosure # is subject to restrictions set forth in Contract No. GS-35F-05925. # ------------------------------------------------------------------ <# Firmware_Update.ps1 - Example scripts to illustrate how to update firmware. #> # Define the variable value $LxcaUserName = "USERID" $LxcaPassword = ConvertTo-SecureString "Password" -AsPlainText -Force $LxcaIP = "10.240.197.26" # Define reference system and target systems, here assume all system is rack server $referenceSystemUuid = "226B3EA4DF7A11D493E6951515157171" $targetSystems = "226B3EA4DF7A11D493E6951515157171" # First connect to LXCA server $Cred = New-Object System.Management.Automation.PSCredential($LxcaUserName, $LxcaPassword) Connect-LXCA $LxcaIP -Credential $Cred -SkipCertificateCheck # Get the update policy from reference system $policy = Get-LXCAUpdateCompliancePolicy -SystemUuid $referenceSystemUuid -SystemType RackServer | where {$_.SystemUuid -eq $referenceSystemUuid} if ($policy -eq $null) { Write-Host ("Cannot find policy from reference system {0}." -f $referenceSystemUuid) -ForegroundColor Red } else { Write-Host ("`nGet policy {0}." -f $policy.Name) # Perform firmware update on each target system (now it is simulation mode in this sample) foreach ($uuid in $targetSystems) { Join-LXCAUpdateCompliancePolicy -Policy $policy -SystemUuid $uuid -SystemType RackServer $compliance = Get-LXCASystemCompliance -SystemUuid $uuid -SystemType RackServer $ret = Install-LXCAUpdatePackage -Compliance $compliance -UpdateRule NotCompliantOnly -ActivationMode Immediate -OnErrorMode ContinueOnError if ($ret -eq $null) { Write-Host ("Install-LXCAUpdatePackage is failed on {0} with unexcepted error!" -f $uuid) -ForegroundColor Red } else { Write-Host ("`nFirmware update result on {0}:" -f $uuid) $ret | Format-Table -Property Uuid,Type,TotalTasks,TotalSuccess,TotalFailed $ret.Components | Format-Table -Property ComponentName,UpdateStatus,Message -Wrap } } } #Disconnect from LXCA Disconnect-LXCA |