Sccm 2012 Report Software Installed Collection

Posted on -

Jan 27, 2014  I have Reporting point installed and it seems to be working as I was able to run OS reports. Here's what I would like to do. I need a query/report to show us all the machines that do not have Microsoft Forefront Endpoint Protection installed. I also need a query/report showing what. I was not able to use the Reporting to get computers. Nov 17, 2015  This is using SCCM 2012 r2. I am a newbie to the reports. I want to create a report to show all the computer's program in add/remove programs for a collection of computers.

  1. Install Sccm 2012 Client Manually
  2. Sccm 2012 Report Software Installed Collections
Collection

Let’s customize the default SCCM report ‘Software 10B - Computers with a specific custom-labeled software title installed’. We want to let Label 1 has multiple values.

First, let’s save the report using a new name like ‘Software 10B - Computers with a specific custom-labeled software title installed (custom)’. Now we will make some changes.

Select Parameters, Tag1Name, Properties. Check Allow multiple values.

Then, go to Datasets, DataSet0, DataSet Properties. Select Parameters.

Click on fx for Tag1Name and replace the text with ‘=Join(Parameters!Tag1Name.Value,',')’. Note that the example for Join function loos very similar.

And finally, we have to customize a query. In Dataset Properties click on Query. Scroll down and check the last strings of the query after WHERE.

Please note the text:

(@TempTag1Name IS NULL OR TG1.TagName = @TempTag1Name OR TG2.TagName = @TempTag1Name OR TG3.TagName = @TempTag1Name) AND
(@TempTag2Name IS NULL OR TG1.TagName = @TempTag2Name OR TG2.TagName = @TempTag2Name OR TG3.TagName = @TempTag2Name) AND
(@TempTag3Name IS NULL OR TG1.TagName = @TempTag3Name OR TG2.TagName = @TempTag3Name OR TG3.TagName = @TempTag3Name)

The variable @TempTag1Name contains the parameter’s values for Label 1. As you could mention, the condition is actually met not only when TG1.TagName(Label 1) = @TempTag1Name but also when TG1.TagName(Label 2) = @TempTag1Name or TG3.TagName(Label 3) = @TempTag1Name. The same story is with TempTag2Name and TempTag3Name. In my opinion, it is a bit confusing because the query returns results not only when the value of Parameter 1 equals Label 1 but also when value of Parameter 1 equals Label 2 or Label 3. I offer you to fix it as I did:

(@TempTag1Name IS NULL OR TG1.TagName = @TempTag1Name) AND
(@TempTag2Name IS NULL OR TG2.TagName = @TempTag2Name) AND
(@TempTag3Name IS NULL OR TG3.TagName = @TempTag3Name)

Now it’s time to add support for multiple values for Label 1. The multiple values for Label 1 are defined in @TempTag1Name that can contain the multiple values after JOIN operation.

For instance, if we select three values for Label 1: Apple, Orange, Pear, the TempTag1Name will be equal ‘Apple, Orange, Pear’ with comma as a separator.

Now we have to add IN operation to support the multiple values.

Bread magic model 572 manual high school. Theyhave a very good selection, and there's a Decosonic link that leads to severalpages with a manual as well as spare parts specific to the model youlisted above. I'd recommend seriously considering any wear-items/parts,as they wear out in inverse proportion to their. Question About Bread Maker 572. Need to see the manual for the Model 572 Style TS-238B. Asked by Bonnie Kuhn on 2 Answers. ManualsOnline posted an answer 6 years, 3 months ago. The ManualsOnline team has found the manual for this product! We hope it helps solve your problem. Nov 12, 2017. Get Instant Access to Magic Chef Bread Machine Cbm 250 Manual b40efa649d5f5de62c03eea632d3e455 eBook. Read Download Online Magic. Chef Bread Machine Cbm 250 Manual. Magic Chef Bread Machine Cbm 250. Manual pdf download. Magic Chef Bread Machine Cbm 250 Manual read online. I am in need of an owners manuel for a Bread Magic model 572. If anyone knows where I can get one, I would appreciate it. Pat April 30th, 2009 at 5:23 pm. I'm looking for the instruction manual for the DAK Auto Bakery Model #FAB-100-2. I noticed Lonnie was looking for one back in October 2008. Did you ever.

(@TempTag1Name IS NULL OR TG1.TagName IN (@TempTag1Name)) AND
(@TempTag2Name IS NULL OR TG2.TagName = @TempTag2Name) AND
(@TempTag3Name IS NULL OR TG3.TagName = @TempTag3Name)

The final edition:

Save all the changes and report.
In my test system I marked Microsoft .NET Framework 4.0 and 4.5 software with labels 4.0 and 4.5 correspondently.

Let’s test the report with the only value for Label 1. Our customized report presents the result. Voilà!

Let’s test it with two values - 4.0 and 4.5 using Ctrl key to select several items. Oops, there is surprisingly no result.

I spent many hours trying to realize what the problem was. Unfortunately, I still guess why IN operator does not work in the report query. Maybe someone knows the answer but not me.
Fortunately, IN operator also works with results of SELECT. Remember our ‘Apple, Orange, Pear’ string. Transact-SQL language doesn’t support lists, collections, etc. We have to use a function or stored procedures to get a number of objects. We can create the function but luckily, your SCCM database includes one named fnSplitString.

Now our piece of the query code looks like:

(@TempTag1Name IS NULL OR (TG1.TagName IN (select Data from dbo.fnSplitString(@TempTag1Name,',')))) AND
(@TempTag2Name IS NULL OR TG2.TagName = @TempTag2Name) AND
(@TempTag3Name IS NULL OR TG3.TagName = @TempTag3Name)

Sccm

The next try.

Install Sccm 2012 Client Manually

Now it works as expected.

Please be aware that in some circumstances your SCCM database lacks fnSplitString function. You can easily create it using the following code:

USE [YourDababaseName]
GO
SETANSI_NULLSON
GO
SETQUOTED_IDENTIFIERON
GO
CREATEFUNCTION [dbo].[fnSplitString]
(
@String NVARCHAR(4000),
@Delimiter NCHAR(1)
)
RETURNSTABLE
AS
RETURN
(
WITH Split(stpos,endpos)
AS(
SELECT 0 AS stpos,CHARINDEX(@Delimiter,@String)AS endpos
UNIONALL
SELECT endpos+1,CHARINDEX(@Delimiter,@String,endpos+1)
FROM Split
WHERE endpos > 0
)
SELECT Id =ROW_NUMBER()OVER (ORDERBY (SELECT 1)),
Data =SUBSTRING(@String,stpos,COALESCE(NULLIF(endpos,0),LEN(@String)+1)-stpos)
FROM Split
)
GO

Then don’t forget to grant the required rights:
GRANTSELECTON dbo.fnSplitString TOpublic

Please also note that in my sample I used comma as a separator in JOIN and fnSplitString. You can choose any other symbol if you suspect that the parameter’s values could include commas.

My custom report is available here.

Today, I found myself creating yet another collection to find systems in Configuration Manager 2012 that were missing a particular piece of software. I have done this in the past several times since it’s particularly useful to target for software deployments, but I always used the sub-collection method using a somewhat unnecessary parent collection.

Sccm 2012 Report Software Installed Collections

The following query is a bit more straightforward and can function on its own. Just change the software you are looking for between the ‘%’s in the last line.

Sccm

select
SMS_R_System.ResourceId, SMS_R_System.ResourceType, SMS_R_System.Name, SMS_R_System.SMSUniqueIdentifier, SMS_R_System.ResourceDomainORWorkgroup, SMS_R_System.Client from
SMS_R_System inner join SMS_G_System_COMPUTER_SYSTEM on SMS_G_System_COMPUTER_SYSTEM.ResourceID = SMS_R_System.ResourceId where SMS_G_System_COMPUTER_SYSTEM.Name not in (select SMS_G_System_COMPUTER_SYSTEM.Name from SMS_R_System inner join SMS_G_System_COMPUTER_SYSTEM on SMS_G_System_COMPUTER_SYSTEM.ResourceID = SMS_R_System.ResourceId inner join SMS_G_System_ADD_REMOVE_PROGRAMS on SMS_G_System_ADD_REMOVE_PROGRAMS.ResourceID = SMS_R_System.ResourceId where SMS_G_System_ADD_REMOVE_PROGRAMS.DisplayName like “%.NET Framework 4%”)