【发布时间】:2015-10-07 06:56:37
【问题描述】:
我目前有一个 Power Shell 脚本,它使用 WMI 向计算机查询服务标签/序列号,然后使用 SOAP 请求查询戴尔网站以获取保修信息。问题是对于某些计算机,我在查询中收到多个结果,而不是单个保修日期。我需要做的是能够比较返回的值以获得正确的保修信息。我认为我需要将返回的结果解析为一个数组,然后进行比较,但我不确定。任何帮助表示赞赏。
$c = 'localhost'
$service = New-WebServiceProxy -Uri https://xserv.dell.com/services/assetservice.asmx?WSDL
$system = Get-WmiObject -ComputerName $c win32_bios -ErrorActionSilentlyContinue
$serial = $system.serialnumber
$guid = [guid]::NewGuid()
$info = $service.GetAssetInformation($guid,'check_warranty.ps1',$serial)
$info | Select-Object -ExpandProperty entitlements | Where-Object {$_.ServiceLevelCode -eq "SV" -or $_.ServiceLevelCode -eq "TS"}
这是单台计算机的返回结果:
ServiceLevelCode: TS
ServiceLevelDescription : ProSupport
Provider : DELL
StartDate : 8/8/2014 12:00:00 AM
EndDate : 8/7/2016 12:00:00 AM
DaysLeft : 306
EntitlementType : Active
ServiceLevelCode : TS
ServiceLevelDescription : ProSupport
Provider : DELL
StartDate : 8/7/2013 12:00:00 AM
EndDate : 8/7/2014 12:00:00 AM
DaysLeft : 0
EntitlementType : Expired
【问题讨论】: