58 lines
1.6 KiB
PowerShell
58 lines
1.6 KiB
PowerShell
<#
|
|
.DESCRIPTION
|
|
Set HP Password Bios
|
|
|
|
.NOTES
|
|
|
|
Author: Aurelien HAMEZ & Patrick Pattyn
|
|
Version: 1.0
|
|
Date: 2021-07-22
|
|
|
|
|
|
.EXAMPLE
|
|
.\Set-HPPwd.ps1
|
|
|
|
#>
|
|
|
|
Param(
|
|
[Parameter(Mandatory=$False)]
|
|
[string]$New_PasswordFile = "new_password.bin",
|
|
[Parameter(Mandatory=$False)]
|
|
[string]$PasswordFile1 = "password1.bin",
|
|
[Parameter(Mandatory=$False)]
|
|
[string]$PasswordFile2 = "password2.bin",
|
|
[Parameter(Mandatory=$False)]
|
|
[string]$PasswordFile3 = "password3.bin",
|
|
[Parameter(Mandatory=$False)]
|
|
[string]$PasswordFile4 = "password4.bin",
|
|
[Parameter(Mandatory=$False)]
|
|
[string]$PasswordFile5 = "password5.bin",
|
|
[Parameter(Mandatory=$False)]
|
|
[string]$PasswordFile6 = "password6.bin",
|
|
[Parameter(Mandatory=$False)]
|
|
[string]$PasswordFile7 = "password7.bin"
|
|
)
|
|
|
|
Begin {
|
|
#On initialise les différents mots de passe
|
|
$MDPs = $PasswordFile1, $PasswordFile2, $PasswordFile3, $PasswordFile4, $PasswordFile5, $PasswordFile6, $PasswordFile7
|
|
}
|
|
Process {
|
|
#On configure le mot de passe si vide
|
|
$process = Start-Process -FilePath "$PSScriptRoot\BiosConfigUtility64.exe" -ArgumentList "`"/nspwdfile:$PSScriptRoot\$New_PasswordFile`"", "/log" -Wait -PassThru
|
|
|
|
#Si le mot de passe est configuré, le code erreur 10 est retourné, on test différent mot de passe, lorsqu'il est modifié, l'ExitCode 0 = Success est retourné. On sort.
|
|
if($process.ExitCode -eq 10)
|
|
{
|
|
Foreach($MDP in $MDPs)
|
|
{
|
|
$process = Start-Process -FilePath "$PSScriptRoot\BiosConfigUtility64.exe" -ArgumentList "`"/nspwdfile:$PSScriptRoot\$New_PasswordFile`"", "`"/cpwdfile:$PSScriptRoot\$MDP`"", "/log" -wait -PassThru
|
|
if($process.ExitCode -eq 0)
|
|
{
|
|
break
|
|
}
|
|
}
|
|
}
|
|
}
|
|
End {
|
|
} |