MSEndpointMgr

Get Dell Warranty Status within ConfigMgr 2012 console

NOTE! A new version of this tool has been released, check it out

When dealing with Dell systems in ConfigMgr 2012, you may want an easy way to get the warranty status of a particular system. Instead of browsing to Dell’s support website and entering the service tag, wouldn’t it be cool if you could get that same information just by right-clicking on the system in the ConfigMgr 2012 console? I think so and because of that I created the Dell Warranty Console Extension Tool, also known as DWCET!

Overview

  • Download link
  • About DWCET
  • Installing DWCET
  • Using DWCET in your environment

Download link

Click here to download DWCET

About DWCET

The DWCET will extend the capabilities of the ConfigMgr 2012 console allowing you to easily get the warranty status of any system. I’ve written this tool in PowerShell and it has been tested on Windows Server 2012 with a ConfigMgr 2012 SP1 console installed. Running the setup file will do the following:
1. Create two new folders called:
3fd01cd1-9e01-461e-92cd-94866b8d1f39
ed9dee86-eadd-4ac8-82a1-7234a4646e62
in the following location:
%PROGRAMFILES(x86)%\Microsoft Configuration Manager\AdminConsole\XmlStorage\Extensions\Actions
2. Copy the DellWarranty.xml file to both of the newly created folders above.
3. Create the following folder:
%PROGRAMFILES(x86)%\DWCET
4. Finally, it will copy the Get-DellWarrantyGUI.ps1 and uninst.exe to the DWCET program folder.
There are two ways that the tool can operate. The default mode is to query WMI for the service tag. In an enterprise environment, I think it’s a good practice to automate the naming of your Dell systems. And an easy way of doing so is to use the service tag followed by a prefix, e.g. 123456J-XXX. The second way the tool can operate is by enumerating the service tag from the computer name, where the first 7 characters are treated as the service tag.
If you’d like to change the way the tool operates, edit the DellWarranty.xml created by the installer and change the following row:

<Parameters>-windowstyle hidden -executionpolicy bypass -file "C:\Program Files (x86)\DWCET\Get-DellWarrantyGUI.ps1" -Name "##SUB:Name##" -Method "WMI"</Parameters>

to the following:

<Parameters>-windowstyle hidden -executionpolicy bypass -file "C:\Program Files (x86)\DWCET\Get-DellWarrantyGUI.ps1" -Name "##SUB:Name##"</Parameters>

Basically you’re removing a switch and it’s value from the PowerShell script.
Installing DWCET
Download the ZIP file from the link above, extrax the DWCET_setup.exe from the archive and run it. It will require administrative permissions to perform the installation.
55_1
When the installation is completed, you’ll have to relaunch all open ConfigMgr 2012 consoles for this tool to work.
Using DWCET in your environment
In order to get the warranty status for a system, go to Assets and Compliance -> Overview -> Devices and select a device. You’ll now have two options to launch the tool, either from the context menu or from the ribbon menu. See the pictures below:
Context menu
55_4
Ribbon menu
55_3
1. Once you’ve launched the tool, a window will appear.
2. Click on Get Warranty and wait for a couple of seconds. The warranty status for the selected device will now be shown, see the picture below:
55_2
3. Click on Close.
If DWCET was not able to connect through WMI to the selected device, an error will be shown.
I hope this tool will be of value to anyone out there and as always, please let me know if you have any problems or suggestions for improvements.

Nickolaj Andersen

Chief Technical Architect and Enterprise Mobility MVP since 2016. Nickolaj has been in the IT industry for the past 10 years specializing in Enterprise Mobility and Security, Windows devices and deployments including automation. Awarded as PowerShell Hero in 2015 by the community for his script and tools contributions. Creator of ConfigMgr Prerequisites Tool, ConfigMgr OSD FrontEnd, ConfigMgr WebService to name a few. Frequent speaker at conferences such as Microsoft Ignite, NIC Conference and IT/Dev Connections including nordic user groups.

21 comments

    • Hi,
      The code should work, however I don’t know if the endpoint from Dell is working these days. I’d suggest looking into something else, perhaps see if Dell has any tools like this.
      Regards,
      Nickolaj

  • The latest version of the tool works like a champ on SCCM 2012 R2 CU4. Pulls all the info as described. I do wonder how I can make this work on a device collection. Hmmm Helpful tool. Thank You!

  • Same problem as Steve. The tool finds the service tag but the windows is always blank.

    • Hi Aaron,
      I know that there has been problems with this tool, and I’m looking at updating it quite extensively due to the fact that it was poorly written from the start. As soon as I’ve created a new version of the tool, I’ll post it here.
      Regards,
      Nickolaj

  • When i run the tool it pulls the service tag but the warranty window is always blank.

  • Hi!
    We’re using a proxy for internet access. Is it possible to define a proxy for the warranty requests?
    Kurt

  • My configuration manager console is installed to D:, therefore I had to manually copy 3fd01cd1-9e01-461e-92cd-94866b8d1f39 and ed9dee86-eadd-4ac8-82a1-7234a4646e62 folders to D:\Program Files\Microsoft Configuration Manager\AdminConsole\XmlStorage\Extensions\Actions to get the script to work.

    • Thanks for adding your work around here in the comment section! I guess the installation part could use a bit more logic.
      Regards,
      Nickolaj

  • I like this Info, I really like the fact that I would still be able to check the a machine with a skew “computername” and still be able to pull the service tag and gather info.
    Two Questions I have:
    1 – Would I be able to edit the script to add identify the Model of the Machine?
    2 – Would we be able to use this to create a collection in SCCM to report all machines that is currently Active or Expired?
    thanks,

    • Hi Donson,
      1 – Replace the Show-Warranty function with the following code:
      <------ START ------>
      function Show-Warranty {
      if ($Method -like “WMI”) {
      if (Test-Connection -ComputerName $Name -Count 1 -ErrorAction SilentlyContinue) {
      $WMIModel = (Get-WmiObject -Namespace root\cimv2 -Class Win32_BIOS -ComputerName $Name -Property Model).Model
      $WMIServiceTag = (Get-WmiObject -Namespace root\cimv2 -Class Win32_BIOS -ComputerName $Name -Property SerialNumber).SerialNumber
      $TBServiceTag.Text = $WMIServiceTag
      Write-OutputMessage -Message “Model: $($WMIModel)”
      [System.Windows.Forms.Application]::DoEvents()
      $ShowWarranty = Get-DellWarrantyInfo -ServiceTag $WMIServiceTag
      foreach ($Warranty in $ShowWarranty) {
      $Output = $Warranty | Out-String
      Write-OutputMessage -Message $Output
      }
      }
      else {
      Write-OutputMessage -Message “Unable to connect to $($Name)”
      }
      }
      else {
      [string]$GetServiceTag = $Name.SubString(0,7)
      $TBServiceTag.Text = $GetServiceTag
      [System.Windows.Forms.Application]::DoEvents()
      $ShowWarranty = Get-DellWarrantyInfo -ServiceTag $GetServiceTag
      foreach ($Warranty in $ShowWarranty) {
      $Output = $Warranty | Out-String
      Write-OutputMessage -Message $Output
      }
      }
      $Form.Controls.Add($ButtonClose)
      $Form.Controls.Remove($ButtonGet)
      }
      <------ END ------>
      I’ve not been able to test it since I don’t have a Dell machine here at home.
      2 – I’m afraid that this script does not have that functionality. You could probably obtain that functionality by creating your own script, and use some of the functions from this post: https://msendpointmgr.com/2013/06/23/get-dell-system-warranty-with-powershell/
      I hope it helps!
      Regards,
      Nickolaj

      • You’ll have to change “Win32_BIOS” to “Win32_Computersystem” to get the Dell model:
        $WMIModel = (Get-WmiObject -Namespace root\cimv2 -Class Win32_Computersystem -ComputerName $Name -Property Model).Model

      • Hi Peter,
        I just checked the script, and I’m not doing a check against the model. Instead it’s checking for the SerialNumber, which is found under the Win32_BIOS class.
        $WMIServiceTag = (Get-WmiObject -Namespace root\cimv2 -Class Win32_BIOS -ComputerName $Name -Property SerialNumber).SerialNumber
        Regards,
        Nickolaj

  • Any idea on why it would run the warranty info on my system 4 times (I only pressed the button once)?
    Example:
    StartDate : 7/6/2013 1
    EndDate : 7/6/2015 1
    DaysLeft : 629
    Status : Active
    StartDate : 7/6/2013 1
    EndDate : 7/6/2015 1
    DaysLeft : 629
    Status : Active
    StartDate : 7/5/2012 1
    EndDate : 7/6/2013 1
    DaysLeft : 0
    Status : Expired
    StartDate : 7/5/2012 1
    EndDate : 7/6/2013 1
    DaysLeft : 0
    Status : Expired

    • Hi Dustin,
      It does so for me aswell on newer systems. I believe it has something to do with how Dell are splitting up the contracts, like:
      – 1y Base warranty
      – extended Base warranty
      – 1y ProSupport
      Etc. I’ve not really been able to verify my theory yet, but when you run it on a 4-5 years old system where you now for a fact it only has a 3y ProSupport contract, it only shows that from the web service.
      Regards,
      Nickolaj

      • I can confirm that this is the case. When you use the official dell warranty tool, it creates a report in Config Mgr that (for newer systems)results in 3 – 4 entries. Usually 2 for basic support and any additional that the company purchased. I would assume that this extension pulls the same data from dell and thus why you see multiple entries.

Sponsors