Die letzten Tagen hatte ich mich mit dem Verteilen von BIOS Einstellungen per Skript beschäftigt, speziell mit den Modellen der Firma Dell. Für diese Modelle benötigt man das Programm OpenManage von Dell. Dies lässt sich hier herunterladen.
Mit folgendem Powershell-Befehl lassen sich die aktuellen Attribute und dessen gesetzte Werte, sowie mögliche Werte, aus dem Bios auslesen.
Import-Module DellBIOSProvider
BEGIN { }
PROCESS {
$DellBIOS = get-childitem -path DellSmbios:\ | select category |
foreach {
get-childitem -path @("DellSmbios:\" + $_.Category) | select attribute, currentvalue, possiblevalues, PSPath
}
$DellBIOS | Out-GridView
}
END{ }
Nach dem Auslesen, kann man die benötigten Daten ableiten.
Beispiel:
set-Item -Path Dellsmbios:\Wireless\WirelessLan -Value Disabled -Password $BiosPassword
Set-ExecutionPolicy Unrestricted
$NameSpacePwdSet = $null
$NameSpaceSet = $null
$BiosAttributePwd = $null
$AttributeValue = $null
$pwdarray = $null
#*** Variablen definieren
$NameSpaceSet = "root\dcim\sysman"
$ClassNamePwdSet = "DCIM_BIOSService"
$BiosPassword = "AdminPwd"
$AttributeValue = "NEUES_KENNWORT"
#*** NÜTZLICHE FUNKTION UM EIN EINHEITLICHES KENNWORT ZU DEFINIEREN
$pwdarray = @("ALTES_KENNWORT1","ALTES_KENNWORT2","ALTES_KENNWOR3")
#*** SOLLTEN SIE PLANEN DEN CLIENT AUTOMATISCH STARTEN ZU LASSEN Z.B. FÜR UPDATES
[datetime]$Time = "10:01"
#***
Try
{
$test = (gwmi $ClassNamePwdSet -namespace $NameSpacePwdSet).SetBIOSAttributes($null,$null,"$AttributePwd","$BiosPassword")
}
Catch
{}
foreach ($element in $tokenpass)
{
try
{
$test = (gwmi $ClassNamePwdSet -namespace $NameSpacePwdSet).SetBIOSAttributes($null,$null,"$AttributePwd","$BiosPassword","$element")
}
Catch
{}
}
#WLAN deaktivieren
set-Item -Path Dellsmbios:\Wireless\WirelessLan -Value Disabled -Password $BiosPassword
#Bluetooth deaktivieren
set-Item -Path Dellsmbios:\Wireless\BluetoothDevice -Value Disabled -Password $BiosPassword
#Numlock aktivieren
set-Item -Path Dellsmbios:\POSTBehavior\NumLock -Value Disabled -Password $BiosPassword
#Wake-On-LAN aktivieren
set-Item -Path Dellsmbios:\PowerManagement\WakeOnLan -Value LanOnly -Password $BiosPassword
Empirum – Sektion in der Setup.inf
[Set:Installation]
CALL "%SRC%\Setup\Systems-Management_Application_G25RF_WN_8.2.0_A00.EXE" /s
AddMeter 50
Callhidden cmd.exe /c powershell.exe -executionpolicy bypass -file "%SRC%\Setup\change_settings.ps1"