cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
helpdesktrv
Engaged Sweeper II
Good morning,
after a deployment of a package we should know what are the computers on which it was not possible to complete the operation, so as to restart again deploy or maintain it manually.
How can you develop a report that you see this?

We saw that in the tab "Deployments" shows the log of these, but we can not create the report.

Thank you all for the help.

1 ACCEPTED SOLUTION
Susan_A
Lansweeper Alumni
Just as an FYI for everyone, I've included a sample report below that lists computers where a specific deployment has never been successfully run. You'll need to insert your package name into the query.
Select Top 1000000 tsysOS.Image As icon,
tblAssets.AssetID,
tblAssets.AssetName,
tblAssets.Domain,
tblAssets.Username,
tblAssets.Userdomain,
tblAssets.IPAddress,
tblAssets.Firstseen,
tblAssets.Lastseen,
tblAssets.Lasttried
From tblAssets
Inner Join tblAssetCustom On tblAssets.AssetID = tblAssetCustom.AssetID
Inner Join tsysOS On tsysOS.OScode = tblAssets.OScode
Where tblAssets.AssetID Not In (Select Top 1000000 tsysPackageLogs.AssetID
From tsysPackageLogs Inner Join tsysPackages On tsysPackages.PackageID =
tsysPackageLogs.PackageID
Where tsysPackageLogs.Success = 1 And tsysPackages.PackageName Like
'%your package name%') And tblAssetCustom.State = 1
Order By tblAssets.Domain,
tblAssets.AssetName

View solution in original post

6 REPLIES 6
Susan_A
Lansweeper Alumni
Just as an FYI for everyone, I've included a sample report below that lists computers where a specific deployment has never been successfully run. You'll need to insert your package name into the query.
Select Top 1000000 tsysOS.Image As icon,
tblAssets.AssetID,
tblAssets.AssetName,
tblAssets.Domain,
tblAssets.Username,
tblAssets.Userdomain,
tblAssets.IPAddress,
tblAssets.Firstseen,
tblAssets.Lastseen,
tblAssets.Lasttried
From tblAssets
Inner Join tblAssetCustom On tblAssets.AssetID = tblAssetCustom.AssetID
Inner Join tsysOS On tsysOS.OScode = tblAssets.OScode
Where tblAssets.AssetID Not In (Select Top 1000000 tsysPackageLogs.AssetID
From tsysPackageLogs Inner Join tsysPackages On tsysPackages.PackageID =
tsysPackageLogs.PackageID
Where tsysPackageLogs.Success = 1 And tsysPackages.PackageName Like
'%your package name%') And tblAssetCustom.State = 1
Order By tblAssets.Domain,
tblAssets.AssetName
esr
Champion Sweeper
Based on you just replacing a file (image.bmp) my question is if there's anything unique about the image file that clearly defines it as different than the previous/older version? Name of the image or the file size?

Presuming you can differentiate between the two I would set up a custom file scan to grab the image attributes and then write my target report on the new image being not found on a target PC. Be sure to rescan at the end of your deployments and your target list will update itself as the process runs.

Presuming you have a target OU and there is a file size difference, for example, you could modify your WHERE statement of a basic custom file scan report to something similar. There are any number of variations on this logic to produce a deployment target report that automatically removes completed deployment targets from the list.

Select Top 1000000 tblAssets.AssetID,
tblAssets.AssetName,
tsysAssetTypes.AssetTypename,
tsysAssetTypes.AssetTypeIcon10 As icon,
tblAssets.IPAddress,
tblAssets.Lastseen,
tblAssets.Lasttried,
tblFileVersions.Found,
tblFileVersions.FilePathfull,
tblFileVersions.Filesize
From tblAssets
Inner Join tblAssetCustom On tblAssets.AssetID = tblAssetCustom.AssetID
Inner Join tsysAssetTypes On tsysAssetTypes.AssetType = tblAssets.Assettype
Inner Join tblFileVersions On tblAssets.AssetID = tblFileVersions.AssetID
Inner Join tblADComputers On tblAssets.AssetID = tblADComputers.AssetID
Where tblFileVersions.Found = 'False' And tblFileVersions.FilePathfull Like
'%PATH\TO\IMAGE.BMP' And tblFileVersions.Filesize = 'IMAGE SIZE' And
tblAssetCustom.State = 1 And tblADComputers.OU Like '%OU=YOURTARGETOU%'
helpdesktrv
Engaged Sweeper II
Yes, I have already created a list of completed. But my need is to know the ones not completed in order to make re-deploy or manually deploy.

If I made an of "false reports", having made multiple attempts to deploy, I would have a list of multiple "False". In addition, there would be the possibility that there is a "True" in the attempts, then the report would not be reliable.

Unfortunately I can not use the list of the software, because the deployment is to Replace an image .bmp

So you think you can have a proper report on unfinished?
This report should filtrarmi the "False" (give me just one row), where it was never present a "True".

Following the report that I created, but the problem is that, as I said before, I have multiple False, and the list I also computers that have been completed because one of the attempts has been successful.

Select Top 1000000 upgrade_tblComputers.Computer,
upgrade_tblComputers.LastknownIP,
upgrade_tblCompCustom.Custom6,
upgrade_tblCompCustom.Custom7,
upgrade_tblCompCustom.Custom8,
tblAssets.AssetID,
tsysOS.OSname,
tsysPackageLogs.Success,
tsysPackageLogs.Errorcode,
tsysPackageLogs.Destination,
tsysPackageLogs.Errormessage,
tsysPackageLogs.LastStepID
From upgrade_tblComputers
Left Outer Join upgrade_tblCompCustom On upgrade_tblComputers.Computername =
upgrade_tblCompCustom.Computername
Inner Join tblAssets On tblAssets.AssetID = upgrade_tblComputers.Computername
Inner Join tsysOS On tsysOS.OScode = tblAssets.OScode
Inner Join tsysPackageLogs On tblAssets.AssetID = tsysPackageLogs.AssetID
Where tsysOS.OSname = 'Win 7' And tsysPackageLogs.Success = 'False'



Thank you.
esr
Champion Sweeper
When I do deployments I generally create two reports- a target list and a completed list. How you write these will be based on the deployment and how you want to break up the process, if at all.

For example, if I was just installing a simple piece of software that would be seen in the Add/Remove Programs list, and only going to a specific AD OU, then I would build the target list filtering to that OU and not having the software installed. I'd build it's twin showing those in the OU that have the software.

This way, as you deploy to the "target" report, the report will automatically filter the completed installs, leaving only those still in need.

The "completed" list is mostly for reporting and statistical reference use- how many were installed during a given time frame etc.

Depending on the deployment we will often copy a 0 byte text file, "completed.txt" for example, and then create a custom scan for that file. This allows us to track setting changes etc. with ease.

If you just want a list of failed installs you can use the Deployment Log SQL, and add to the WHERE statement to filter to the message or status.
helpdesktrv
Engaged Sweeper II
Thank you so much for your answer. But this report shows me the same list of the log. So you see all attempts to deploy. My need is to know if that computer has been installed or not. Otherwise, the list would be the True and False that if I had to restart the deployment of all I would do it again and I would not have control of "not deployed".

I could not explain?

Thank you!!
esr
Champion Sweeper
Following will mimic the same data as shown in the Deployment>Logs page. Be sure to define the server name, or remove/replace the Where criteria as needed for your goals. We also use CASE arguments to add some "at a glance" descriptions for some of the errors, but that's totally optional and very dependent on the details returned by your packages.


The tables are tsysPackageLogs and tsysPackages.

Select Top 1000000 pl.Added As [Log Date],
a.AssetName,
a.AssetID,
p.PackageName As Package,
p.PackageID,
pl.Executor As Executor,
pl.Errorcode As [Return],
pl.LastStepID As [Last Step],
Case When pl.RunMode = 1 Then 'System Account'
When pl.RunMode = 2 Then 'Scanning Credentials'
When pl.RunMode = 3 Then 'Currently Logged On' End As [Run Mode],
Case When pl.Success = 1 Then 'black' Else 'red' End As foregroundcolor,
Case When pl.Success = 1 Then 'tick.png' Else 'minus.png' End As icon,
pl.Errormessage As Message,
pl.Version As [Deployer Version]
From tsysPackageLogs pl
Left Outer Join tblAssets a On pl.AssetID = a.AssetID
Join tsysPackages p On pl.PackageID = p.PackageID
Where pl.ServerName = @Servername
Order By [Log Date] Desc