KelvinTegelaar / PowerShellWarrantyReports

a repo dedicated to automatic warranty reporting and retrieval from different systems such as IT-Glue, Connectwise, Autotask, and N-central.
GNU Affero General Public License v3.0
167 stars 72 forks source link

Should this still be working with NinjaOne API? (getting "INVALID_ATTRIBUTE_VALUE" #82

Closed cyanide699 closed 5 months ago

cyanide699 commented 9 months ago

Hi, firstly many thanks for all your work!

I have got Ninja API (Client cred setup as per Lukes guide in https://mspp.io/ninjaone-pswarranty-support/ ) have got my Techdirect API keys and when running

using powershell 7.4.0

Set-WarrantyAPIKeys -DellClientID "x" -DellClientSecret "x" update-warrantyinfo -Ninja -NinjaClientID "x" -NinjaSecret "x" -NinjaURL "https://eu.ninjarmm.com" -NinjaFieldName "warrantyexpiry" -SyncWithSource -OverwriteWarranty -ExcludeApple

I can see it scrolling through all the devices "Processing etc"

but for each (and we have mostly 99% dell devices) get the error "INVALID_ATTRIBUTE_VALUE"

(the warrantyexpiry is a DATE field, with full Read/write for scripts & API - I have tried Global & role based custom field... same

114 | … ntyStatus = Get-WarrantyNinja -NinjaURL $NinjaURL -Secretkey $NinjaSe … | ~~~~~~~~~~~~~ | Failed to update device: TESTDEVICE { "resultCode": "FAILURE", "errorMessage": "INVALID_ATTRIBUTE_VALUE", "incidentId":

PS C:\Windows\System32> $psversiontable

Name Value


PSVersion 7.4.0 PSEdition Core GitCommitId 7.4.0 OS Microsoft Windows 10.0.22631 Platform Win32NT PSCompatibleVersions {1.0, 2.0, 3.0, 4.0…} PSRemotingProtocolVersion 2.3 SerializationVersion 1.1.0.1 WSManStackVersion 3.0

PS C:\Windows\System32> Get-Module

ModuleType Version PreRelease Name ExportedCommands


Manifest 7.0.0.0 Microsoft.PowerShell.Management {Add-Content, Clear-Content, Clear-Item, Clear-It… Manifest 7.0.0.0 Microsoft.PowerShell.Security {ConvertFrom-SecureString, ConvertTo-SecureString… Manifest 7.0.0.0 Microsoft.PowerShell.Utility {Add-Member, Add-Type, Clear-Variable, Compare-Ob… Script 1.4.8.1 PackageManagement {Find-Package, Find-PackageProvider, Get-Package,… Script 2.2.5 PowerShellGet {Find-Command, Find-DscResource, Find-Module, Fin… Script 2.3.4 PSReadLine {Get-PSReadLineKeyHandler, Get-PSReadLineOption, … Script 1.8.0 PSWarranty {Get-Warrantyinfo, Set-WarrantyAPIKeys, update-wa…

cyanide699 commented 9 months ago

as a test ive set the date field (that was mentioned to use in the setup guide ) to a text field and it does work so both api's are working, (however gives the date that PSWarranty gives to Ninja is " Unix epoch timestamp in scientific notation" e.g 1.636956E12 this is wat causes the "INVALID_ATTRIBUTE_VALUE" as Ninja is expecting the data in "plain integer epoch timestamp" e.g it should be 1636956000000

So for PSWarranty to work as expected for Ninja it needs to give this value (a plain integer epoch timestamp)

Not sure if this is a change DELL have made from their API or if its something that could be resolved with an update to PSWarranty?

thankyou!

annoyerjones commented 6 months ago

I seem to have the same issue. I noticed it only effects new Dell Latitude 53xx series models. All others work fine. I don't know what has changed.