使用DeviceName -contains并且没有结果

时间:2017-04-21 13:58:07

标签: powershell

我尝试使用以下命令从引导顺序列表中获取内容,但 $pr = Get-HPBIOSUEFIBootOrder $conObj | select -Expand UEFIBootOrder |select -Expand DeviceName| Where DeviceName -contains "*Target:0, Lun:0)"^ 为空并且没有错误消息:

$pr = Get-HPBIOSUEFIBootOrder $conObj | select -Expand UEFIBootOrder |select -Expand DeviceName 

我的错误在哪儿?

当我运行时:

Generic USB Boot
Embedded LOM 1 Port 1 : HP Ethernet 1Gb 4-port 331i Adapter - NIC (PXE IPv6) 
Embedded LOM 1 Port 1 : HP Ethernet 1Gb 4-port 331i Adapter - NIC (PXE IPv4) 
Slot 3 Port 1 : HP Ethernet 10Gb 2-port 530T Adapter - NIC (PXE IPv6) 
Embedded RAID 1 : Smart Array P440ar Controller - 279.43 GiB, RAID 1 Logical Drive(Target:0, Lun:1)
Windows Boot Manager
Internal USB 1 : HPE Dual 8GB MicroSD EM USB Kit - USB RAID LUN
Embedded RAID 1 : Smart Array P440ar Controller - 279.37 GiB, RAID 1 Logical Drive(Target:0, Lun:0)
Embedded FlexibleLOM 1 Port 1 : HP FlexFabric 10Gb 2-port 533FLR-T Adapter - NIC (PXE IPv6) 
Embedded RAID 1 : Smart Array P440ar Controller - 279.37 GiB, RAID 1 Logical Drive(Target:0, Lun:2)
Embedded FlexibleLOM 1 Port 1 : HP FlexFabric 10Gb 2-port 533FLR-T Adapter - NIC (PXE IPv4) 
Slot 3 Port 1 : HP Ethernet 10Gb 2-port 530T Adapter - NIC (PXE IPv4) 

它返回:

 <div class="form-group">
                    <select ng-show="'@Model.IsWinnerFilterVisible'" class="selectpicker" multiple title="Kazanan" ng-model="MainWinnerFilterSelected" id="ddl_winnerid"
                            data-ng-options="MainWinnerFilter.Id as MainWinnerFilter.Name for MainWinnerFilter in MainWinnerFilters"></select>
                </div>
 <div class="form-group">
                    <select ng-show="'@Model.IsReasonFilterVisible'" class="form-control" title="İlgilenilmeme Nedeni" ng-model="MainReasonFilterSelected" id="ddl_reasonid" ng-init="MainReasonFilterSelected= @Model.SelectedReason"
                            data-ng-options="MainReasonFilter.Id as MainReasonFilter.Name for MainReasonFilter in MainReasonFilters">
                        <option value="">İlgilenilmeme Nedeni</option>
                    </select>
                </div>

2 个答案:

答案 0 :(得分:1)

使用-like代替-contains

当您想要确定值是否在值集合中时,应使用包含。当您想要部分匹配字符串时,应该使用(使用通配符)。这是一个常见的PowerShell误解。

您还在DeviceName上使用了-ExpandProperty,之后有一个没有该属性名称的字符串集合。因此,您需要在Where

中执行此操作
| Where {$_ -like "*Target:0, Lun:0)"}

$_是一个特殊的占位符,表示管道中的当前项,其中system.string对象(默认情况下)是其字符串值。

答案 1 :(得分:0)

这是我的小项目的更大图片。 到目前为止我所达到的目标。 它会在不久的将来找到更多的材料。

nohup python /root/btree/selenium_nemo.py &
相关问题