如何获得HP计算机上的引导顺序值

问题描述:

我想使用PowerShell读出我的引导顺序设置。我可以通过以下脚本获得这些内容:如何获得HP计算机上的引导顺序值

$bios = Get-WmiObject -Namespace root/hp/instrumentedBIOS -Class hp_biosSetting 
($bios | Where-Object {$_.Name -eq 'Boot Order'}).Value.Split(',') 

但是,我得到的输出不正确。我只想要这个值,但得到的值是设置的名称。例如:

USB Floppy Disabled 

我能找到的唯一的事情就是将其与,分裂,但我只希望值作为输出。

+2

分裂之前你会得到什么? '($ bios | Where-Object {$ _。Name -eq'Boot Order'})。Value' – vonPryz 2014-10-06 09:08:34

+0

我得到了所有的一行瓦伦里尔 – 2014-10-06 09:14:59

+1

如果你不会告诉*你得到什么输出*,怎么做你期望得到帮助?你是否认为我只需连接一些HP电脑来检查它的WMI输出以及如何解析它? – vonPryz 2014-10-06 10:25:19

正确的anwser。

$bios = Get-WmiObject -Namespace root/hp/instrumentedBIOS -Class hp_biosSetting 
$bios4 =($bios | Where-Object {$_.Name -eq 'Legacy Boot Order'}).Value.Split(',') 
echo $bios4 

if ($bios4 -match "ATAPI CD-ROM Drive Disabeld"){ 
echo "ATAPI CD-ROM Drive =Disabeld" 
$qu= "BEGIN INSERT into TESTAAD(Waarde_pcName,WAARDE_CD_ROM_BOOT) VALUES('$Waarde_pcName','Disabeld'); exception when dup_val_on_index THEN UPDATE TESTAAD SET Waarde_CD_ROM_BOOT = 'Disabeld' WHERE Waarde_pcName = '$Waarde_pcName'; END;" 
$cmd = $con.CreateCommand() 
$cmd.CommandText = $qu 
$cmd.ExecuteNonQuery() |out-null 
} 
    else{ 
      echo " ATAPI CD-ROM Drive =Enabeld" 
      $qu= "BEGIN INSERT into TESTAAD(Waarde_pcName,Waarde_CD_ROM_BOOT) VALUES('$Waarde_pcName','Enabeld'); exception when dup_val_on_index THEN UPDATE TESTAAD SET Waarde_CD_ROM_BOOT = 'Enabeld' WHERE Waarde_pcName = '$Waarde_pcName'; END;" 
      $cmd = $con.CreateCommand() 
      $cmd.CommandText = $qu 
      $cmd.ExecuteNonQuery() |out-null 
     }