Go online and check the sample scripts for Setting a BIOS setting like Wake on LAN from Dell.   You’ll probably twist your head and go “YEeeeeeaaaachhhh!”

But that’s not Dell’s fault.  WMI works but it’s not fun when working with Methods.  I wish I could remember the phrase James O’Neill said about working with WMI.  It Sums it up PERFECTLY.

But that doesn’t mean you can’t make it easy.  That’s where Powershell comes in.

So here’s the sample from Dell to Enable Wake on LAN in the BIOS

(Get-WmiObject DCIM_BIOSService -namespace root\dcim\sysman).SetBIOSAttributes($null,$null,"Wake-On-LAN","4")

Now if you asked me to remember that, I’d find a large copy of the Windows NT3.51 Resource Kit and wallop you in the arm with it.  No.  No. and “Nooooooooo!!!!!!”

But I CAN make this more useful.   I can turn this into a simple script to just take the name and new setting as parameters along with the computer name.

Param(

     [string]$AttributeName,

     [string]$Value
)

(Get-WmiObject DCIM_BIOSService -namespace root\dcim\sysman -ComputerName $computername).SetBIOSAttributes($null,$null,$AttributeName,$Value)

Now save this as a script called SET-DELLBIOS.PS1

Now you can just do this

SET-DELLBIOS.PS1 –computername mycomputername –AttributeName ‘Wake-On-Lan’ –Value ‘4’

Unless you absolutely live and breathe nothing but WMI, you may find this an easier way to set your Dell BIOS settings via Powershell

Unleash the Power within with Powershell

Sean
The Energized Tech

Advertisements