Powershell – SCCM – Find when an application deployed to a specific computer

powershellsccm-2012sccm-2012-r2sqlwindows-server-2008-r2

Is it possible to find when SCCM ran a deployment against a specific client PC, from the server? (CAS, primary or even secondary will do so long as I can script through to the data starting with only the PC name)

This is an SCCM2012R2 environment.

I have found the WMI class SMS_AppDeploymentAssetDetails, however the time returned is the time the deployment was associated with the collection. For example, on a machine task-sequenced only a few days ago:

AppName          : A Name
CollectionID     : 101010
CollectionName   : OS-All Windows 7 Workstations
DTCI             : Numbers (deployment type ID - maybe there is a GUID for a specific deployment instance somehwere?)
DTModelID        : Numbers
DTName           : A softwares - Windows Installer (*.msi file)
MachineName      : CoolComp
StartTime        : 20140609040200.000000+***
StatusType       : 1

Note the 2014 start time.

Same issue on the backend database table vAppDeploymentAssetData.

This does at least seem to indicate whether deployment on that specific machine was successful (there is an entry on this table for every single deployment event, per-workstation)

So if anyone aware of a way to do find this time (so it would look something like this:

DTCI             : Numbers
InstallTime      : 20160708040200.000000+***
MachineName      : CoolComp

) with WQL or SQL (or, some other method, maybe SCCM powershell cmdlets?)

Best Answer

Your best bet is to use your reporting services in SCCM as well as reviewing the logs on the client machine.

https://www.sepago.com/blog/2011/12/23/microsoft-configmgr-2012-client-log-files