SCCM Bulk-Import for Dell Warranty Data

Here it is, a NEW Dell Warranty Bulk-Import Tool and SCCM Report.  You will need a certified Dell API Key to use this. 

4 Star
881 times
Add to favorites
System Center
E-mail Twitter Digg Facebook
Sign in to ask a question

  • SQL Server not on site server
    2 Posts | Last post August 06, 2019
    • I ran into an issue because my site server and my site database live on separate servers. I fixed it and want to share it.
      under region CONFIG add a new variable and point it to the FQDN of you site SQL server
      $CMSQLFQDN      = ""
      Edit region SQL
      and replace all instances of $CMServerFQDN with $CMSQLFQDN just in the SQL region
      now the script will run just fine.
    • I did the same thing too
  • Report question
    2 Posts | Last post August 06, 2019
    • Hello , Great tool thanks ! 
      Can I ask if there is a way to add the last logged on user in the report ? 
      Thanks Iulian 
    • Iulian,
      The following should be enough to get you started with that request:
      		v_R_System_Valid.ResourceID = v_GS_PC_BIOS.ResourceID
      		DellWarrantyInformation.ServiceTag = v_GS_PC_BIOS.SerialNumber0
  • Dell Tech Direct API Changes
    1 Posts | Last post August 06, 2019
    • Hi Mike,
      Are you aware that Dell is changing their Warrenty API and as such the code for this brilliant tool would need changing? Unable to test until 19th August but the API URL is changing completely as is the authentication method by looks of things.
  • Poor Documentation.
    2 Posts | Last post March 19, 2019
    • 1.  Create the database table with provided T-SQL:  Where?  So far it doesn't work under Master, or my CM DB.  I even made a new DB called DellWarranty and imported it there.  No clue where to put it.
      2.  Import the SSRS report
      Open the report from Microsoft SQL Server Report Builder
      Generate a new Data Source
      Right-click 'Data Sources' and choose 'Add Data Source'
      Select 'Use a shared connection or report model'
      Select the auto-generated connection and click 'Test Connection'
      Click OK
      This is all bad, like really bad.
      Generate a new Data Source: ....  To what our CM DB?  This doesn't work...  I tried creating the connection to the CMDB and I get errors later.
      I don't have the option for #3.  Select the auto-generated connection and click test connection.
      3.  Refresh the datasets to use the new connection
      Expand the 'Datasets' node
      View the properties of each dataset and click the button 'Refresh Fields', then click 'OK'
      This doesn't work because #1 & 2 are documented incorrectly.
      If you click on the 2nd one labeled DataSet1 you get an error that the creds are incorrect or the query is incorrect.
      4.  Run the report.  I'm using Report Builder 2016 that I just downloaded and it says the report builder is to old.  That a newer one was used to create the report...
      I've wasted 3 weeks trying to get dell to get me a API key for production to use this.  Very disappoined once I got the key the documenation was so poor, and not tested.
    • Dude...
  • why is some data missing?
    1 Posts | Last post January 14, 2019
    • With roughly 2400 workstations in our environment, i consistently have 500 records with no data being imported.  the weird thing is that it isn't always the same records, the missing records change occasionally.  any suggestions?
  • Exception calling "WriteToServer"
    3 Posts | Last post July 31, 2018
    • Hello just wondering if you have seen this error and if you could provide any advise as i cant seem to figure it out (not that my powershell skills are up to much!)
      Exception calling "WriteToServer" with "1" argument(s): "The given value of type String from the data source cannot be converted to type datetime of the specified target column."
      At C:\Dell Warranty Data - Bulk\SCCM-DellWarrantyBulktest.ps1:146 char:9
      +         $BulkCopy.WriteToServer($Script:WarrantyEntries)
      +         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
          + FullyQualifiedErrorId : InvalidOperationException
    • We are receiving the exact same issue, did you ever find a fix for this ? 
    • I had this same message and got past it.  I did have to recreate the table to fix it because it wouldn't let me just change from datetime to datetime2.
      For the 3 date not use datetime.   Instead, use datetime2
  • Urgent Help
    2 Posts | Last post July 19, 2018
    • Getting following error, is this related to the api key or is there something else to try first?
      Invoke-RestMethod : The remote server returned an error: (401) Unauthorized.
      At C:\Users\ccolenutt.METHANEX\Downloads\Dell Warranty Data - Bulk\SCCM-DellWarrantyBulk.ps1:123 char:42
      +             Invoke-CacheData -DellData $(Invoke-RestMethod -URI "$DellAPIURL/$($ ...
      +                                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          + CategoryInfo          : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-RestMethod], WebException
          + FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeRestMethodCommand
    • When I got that error, it was due to my API key not having been promoted to production by Dell yet. Have you requested it to be promoted to production?
  • HTTP 417 error partway though retreval
    2 Posts | Last post July 17, 2018
    • I'm having some issues getting this to populate the report for my ~4,000 machine environment. I added a CMSQLFQDN variable to play nicely with our environment, and initial run looks okay. However, it loads data for what appears to be about half of the fleet before throwing the following error:
      Invoke-RestMethod : The remote server returned an error: (417) Expectation Failed.
      At C:\Users\admmsc\Documents\dellwarrantyupdate.ps1:124 char:42
      + ... -DellData $(Invoke-RestMethod -URI "$DellAPIURL/$($QueryString)?apike ...
      +                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          + CategoryInfo          : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-RestMethod], WebExc
          + FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeRestMethodCommand
      I have yet to get to a point where the script appears to run cleanly and close out.
      I tried setting [System.Net.ServicePointManager]::Expect100Continue = $false as suggested by my digging in to these 417 errors, but I'm not 100% sure that I'm setting it in the correct location and so far it seems to have made no difference. Any thoughts on what I may be missing?
    • Did you find a solution to your problem? What helped me was replacing 'Invoke-RestMethod' with 'Invoke-WebRequest'.
  • Urgent help
    1 Posts | Last post July 16, 2018
    • I run script and getting the below issue:
      Invoke-RestMethod : The remote server returned an error: (401) Unauthorized.
      At E:\Dell Warranty Data - Bulk\SCCM-DellWarrantyBulk.ps1:122 char:42
      +             Invoke-CacheData -DellData $(Invoke-RestMethod -URI "$DellAPIURL/$($ ...
      Please help.
      Thank you
  • You cannot call a method on a null-valued expression
    1 Posts | Last post July 02, 2018
    • Sorry for a n00b question. We have the SCCM database on a different server from the management point.
      I have tried with and without the comment to use $CMSQLServerFQDN but irrespective I get
      You cannot call a method on a null-valued expression.
      At D:\DellBulkWarranty.ps1:157 char:5
      +     $BulkCopy.Dispose()
      +     ~~~~~~~~~~~~~~~~~~~
          + CategoryInfo          : InvalidOperation: (:) [], RuntimeException
          + FullyQualifiedErrorId : InvokeMethodOnNull
      Although this is at the dispose part of the script, nothing is written to the database that I can ascertain.
      All assistance appreciated.
1 - 10 of 21 Items