almenscorner / IntuneCD

Tool to backup, update and document configurations in Intune
MIT License
277 stars 35 forks source link

[FEATURE] --exclude option for lastAppSyncDateTime in androidManagedStoreAccountEnterpriseSettings #168

Closed Wob76 closed 7 months ago

Wob76 commented 7 months ago

Is your feature request related to a problem? Please describe. Thank you so much for the addition of '-e VPPusedLicenseCount' as it has really helped clean up my commits. I have one more request, under "Managed Google Play" folder we get *__androidManagedStoreAccountEnterpriseSettings.json as pulled from the graph api

As per the api the file includes lastAppSyncDateTime which changes on every run (as you would expect).

Describe the solution you'd like It would be nice to exclude this to again clean up the commit history

Describe alternatives you've considered I could post process the file and remove this line, but having it stopped at the source similar to other excludes would be ideal.

Example file contents

{
     "bindStatus": "boundAndValidated",
     "lastAppSyncDateTime": "2024-02-13T20:25:10.7712992Z",
     "lastAppSyncStatus": "success",
     "ownerUserPrincipalName": "username@email.com",
     "ownerOrganizationName": "MyOrg",
     "enrollmentTarget": "targetedAsEnrollmentRestrictions",
     "targetGroupIds": [],
     "deviceOwnerManagementEnabled": true,
     "androidDeviceOwnerFullyManagedEnrollmentEnabled": true,
     "managedGooglePlayInitialScopeTagIds": [
          "57"
     ]
}
Wob76 commented 7 months ago

Thanks for the quick addition, I did cut this out with an extra task in my pipeline as an quick fix but it is nice to have it all handled by the backup run.

I got me thinking about the "CompliancePartner" exclusion, that was a suggested exclusion in the blog I was following. We don't have any configured at the moment so I don't actually get any data, but looking at the api there is a "lastHeartbeatDateTime" attribute, which I assume is what the blog author was seeing as a regular change.

For those that do have Compliance Partners configured it may be nice to include a CompliancePartnerHeartBeat or something to that effect in the exclusions so they can capture all the other information without seeing a daily change.

Thanks again.

almenscorner commented 7 months ago

Please create a separate feature request for this

Skorfulose commented 5 months ago

@Wob76 @almenscorner Does this work for you? I have added the --exclude GPlaySyncTime parameter to my backup pipeline, and it still includes the ever-updating lastAppSyncDateTime property.

Looking at the code in src/IntuneCD/intunecdlib/IntuneCDBase.py (line 50), I believe it should be lastAppSyncDateTime instead of lastSyncDateTime?

Wob76 commented 5 months ago

No, it looks like it doesn't work. I still have a post process in place removing this and some other unwanted timestamps and licence counts, so it isn't showing in my final git push and I hadn't gone back to test.

almenscorner commented 5 months ago

You are right it should be lastAppSyncDateTime, I've corrected this in the latest beta, please test and verify the key is removed correctly: pip3 install IntuneCD==2.3.2b1