43 lines
1.5 KiB
PowerShell
43 lines
1.5 KiB
PowerShell
# Fonction pour écrire dans le log avec date et heure
|
|
function Write-Log {
|
|
param (
|
|
[string]$Message,
|
|
[string]$LogFile = "C:\windows\temp\HPBiosUpdate.log"
|
|
)
|
|
$timestamp = Get-Date -Format "yyyy-MM-dd HH:mm:ss"
|
|
$logMessage = "$timestamp : $Message"
|
|
Add-Content -Path $LogFile -Value $logMessage
|
|
}
|
|
|
|
# Créer le répertoire de log s'il n'existe pas
|
|
if (-not (Test-Path -Path "C:\Systools\OptLog")) {
|
|
New-Item -Path "C:\Systools\OptLog" -ItemType Directory
|
|
}
|
|
|
|
# Importer le module
|
|
import-module HP.ClientManagement
|
|
Write-Log "Module HP.ClientManagement importé"
|
|
|
|
# Récupérer la version actuelle du BIOS
|
|
$BiosVer = Get-HPBIOSVersion
|
|
Write-Log "Version actuelle du BIOS: $BiosVer"
|
|
|
|
# Enregistrer la sortie de Get-HPBIOSUpdates
|
|
$HPBIOSUpdates = Get-HPBIOSUpdates
|
|
Write-Log "Résultat de Get-HPBIOSUpdates : $($HPBIOSUpdates | Out-String)"
|
|
|
|
# Convertir les versions en objets [Version]
|
|
$CurrentBiosVer = [Version]$BiosVer
|
|
$TargetBiosVer = [Version]"2.20.01"
|
|
|
|
# Comparer les versions de manière appropriée
|
|
if ($CurrentBiosVer -lt $TargetBiosVer) {
|
|
# Exécuter la mise à jour du BIOS si la version est inférieure
|
|
Get-HPBIOSUpdates -Flash -Version "2.20.01" -Yes -BitLocker:suspend
|
|
Write-Log "Mise à jour du BIOS lancée, version actuelle $BiosVer est inférieure à 2.20.01"
|
|
Write-Host "Update BIOS need update $BiosVer"
|
|
} else {
|
|
Write-Log "Mise à jour du BIOS ignorée, version actuelle $BiosVer est à jour"
|
|
Write-Host "Bypass update BIOS"
|
|
}
|