Files
Infra-LAB/projects/MDT/Scripts/BIOSConfig/HP/Set-HPPwd.ps1
T

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 {
}