I have tried several different ways but I cannot seem to find this information. Does anyone have any ideas or has done this before? I have been reading that you can extract the serial and productID from wmi, which I have done. Then use these to run a web query against HP’s warranty page and return the date. any information on this is greatly appreciated.
function Execute-SOAPRequest {
Param (
[Xml]$SOAPRequest,
[String]$URL,
[switch]$UseProxy
)
write-Output “Sending SOAP Request To Server: $URL”
$soapWebRequest = [System.Net.WebRequest]::Create($URL)
$soapWebRequest.Headers.Add(“SOAPAction”,‘“http://www.hp.com/isee/webservices/RegisterClient2”’)
$soapWebRequest.ContentType = ‘text/xml; charset=utf-8’
$soapWebRequest.Accept = “text/xml”
$soapWebRequest.Method = “POST”
$soapWebRequest.UserAgent = ‘RemoteSupport/A.05.05 - gSOAP/2.7’
$soapWebRequest.ServicePoint.Expect100Continue = $False
$soapWebRequest.ServicePoint.MaxIdleTime = 2000
$soapWebRequest.ProtocolVersion = [system.net.httpversion]::version10
write-Output “Initiating Send.”
$requestStream = $soapWebRequest.GetRequestStream()
$SoapRequest.Save($requestStream)
$requestStream.Close()
write-Output “Send Complete, Waiting For Response.”
$resp = $soapRequest.GetResponse()
$responseStream = $resp.GetResponseStream()
$soapReader = System.IO.StreamReader
$ReturnXml = [Xml]$soapReader.ReadToEnd()
$responseStream.Close()
write-Output “Response Received.”
return $returnxml
}
$SOAPRequest = Xml
$URL = ‘https://services.isee.hp.com/ClientRegistration/ClientRegistrationService.asmx’
Execute-SOAPRequest $SOAPRequest $URL
With the xml file
<SOAP-ENV:Envelope xmlns:SOAP-ENV=“http://schemas.xmlsoap.org/soap/envelope/” xmlns:iseeReg=“http://www.hp.com/isee/webservices/”>
<SOAP-ENV:Body>
<iseeReg:RegisterClient2>
<iseeReg:request><isee:ISEE-Registration xmlns:isee=“http://www.hp.com/schemas/isee/5.00/event” schemaVersion=“5.00”>
<RegistrationSource>
<HP_OOSIdentifiers>
<OSID>
<Section name=“SYSTEM_IDENTIFIERS”>
<Property name=“TimestampGenerated” value=“2013/10/22 09:40:35 GMT Standard Time”/>
</Section>
</OSID>
<CSID>
<Section name=“SYSTEM_IDENTIFIERS”>
<Property name=“CollectorType” value=“MC3”/>
<Property name=“CollectorVersion” value=“T05.80.1 build 1”/>
<Property name=“AutoDetectedSystemSerialNumber” value=“10”/>
<Property name=“SystemModel” value=“HP ProLiant”/>
<Property name=“TimestampGenerated” value=“2013/10/22 09:40:35 GMT Standard Time”/>
</Section>
</CSID>
</HP_OOSIdentifiers>
<PRS_Address>
<AddressType>0</AddressType>
<Address1/>
<Address2/>
<Address3/>
<Address4/>
<City/>
<Region/>
<PostalCode/>
<TimeZone/>
<Country/>
</PRS_Address>
</RegistrationSource>
<HP_ISEECustomer>
<Business/>
<Name/>
</HP_ISEECustomer>
<HP_ISEEPerson>
<CommunicationMode>255</CommunicationMode>
<ContactType/>
<FirstName/>
<LastName/>
<Salutation/>
<Title/>
<EmailAddress/>
<TelephoneNumber/>
<PreferredLanguage/>
<Availability/>
</HP_ISEEPerson>
</isee:ISEE-Registration></iseeReg:request>
</iseeReg:RegisterClient2>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Any ideas?
Hi Oliver, did you ever figure this out?
Hi Garth,
You can find a copy of the script here: https://powershell.org/forums/topic/invoke-webrequest-powershell-2-0/
It works fine on Powershell 3.0 I am just having some problems getting it to work on powershell 2.0. I deployed it the servers I monitor using our RMM tool. It is great to see the warranty information along with everything else.