Quantcast
Channel: SSRS Report – All about Microsoft Endpoint Manager
Viewing all 29 articles
Browse latest View live

SCCM Configmgr 2012 SSRS Report:Status of Distribution Points with its Package Compliance%

$
0
0

Simple and useful report for troubleshooting package issues:

Package compliance Status report to know what is the success rate of the Applications/Packages/Driver/SUP on the Distribution Points:

SELECT distinct SUBSTRING(CDR.DPNALPath,13,CHARINDEX(‘.’, CDR.DPNALPath) -13) AS [Server Name],
CDR.PkgCount [Targetted],CDR.NumberInstalled [Installed],CDR.PkgCount-CDR.NumberInstalled [Not Installed],
PSd.SiteCode [Reporting Site],
ROUND((100 * CDR.NumberInstalled/CDR.pkgcount),2) as ‘Compliance %’
from v_ContentDistributionReport_DP CDR,v_PackageStatusDistPointsSumm PSd
where CDR.DPNALPath=PSD.ServerNALPath
order by 6

SSRS report looks like:

Status SCCM Configmgr 2012 SSRS Report:Status of Distribution Points with its Package Compliance%

To know list of failed packages on the specific Server,create report and link it to above report for ease of troubleshooting.

SCCM Configmgr 2012 SSRS Report:Status of Distribution Points with its Package Compliance% is a post from: Eswar Koneti's Blog


SCCM Configmgr 2012 :How to deploy / Manage reports to specific Folder in report Manager

$
0
0

By Default,Configuration Manager 2012 will create publish the reports to Configmgr_SiteCode (Ex:Configmgr_P01) Folder in Report Manager if you have not changed the default path name while installing Configuration Manager.

image3 thumb SCCM Configmgr 2012 :How to deploy / Manage reports to specific Folder in report Manager

How do i Deploy the Custom reports to my Own Folder in Configmgr 2012 ?

In this blog post,I will show you how to create Custom Folders and publish reports to them.

For this post, I have created 2 folders one is custom reports\Eswar under Configmgr_P01 and other is Custom.

image15 thumb SCCM Configmgr 2012 :How to deploy / Manage reports to specific Folder in report Manager

Note: Reports what you create and publish to Default path(Configmgr_sitecode) can be seen from the SCCM console,other reports which are outside of this default path(Configmgr_sitecode) can not be seen from Console.You should move them later to Configmgr_Sitecode folder if at all you need them.

In this blog post,I will be using tool called BI for Visual Studio to create SSRS reports and publish them to report server.You can also upload the RDL which is created using the the BI tool into report server.

While publishing reports using the tools to report manager ,you basically need to have 2 elements 1) Targetreportfolder  2)TargetServerURL

I have created report called Status of All Packages using Visual Studio 2010.

image9 thumb SCCM Configmgr 2012 :How to deploy / Manage reports to specific Folder in report Manager

How to Deploy /Publish :

Note:This is One time Activity for each project to deploy reports.If you think,these reports should be published to other folders,try to edit it again.If you are creating reports under the same project name,no need to edit every time .

Right click on report project what you have created and select properties.

If you are not able to see the project,go to View—>Solution Explorer

image21 thumb SCCM Configmgr 2012 :How to deploy / Manage reports to specific Folder in report Manager

Right Click on the project (Shared DS):

image12 thumb SCCM Configmgr 2012 :How to deploy / Manage reports to specific Folder in report Manager

image18 thumb SCCM Configmgr 2012 :How to deploy / Manage reports to specific Folder in report Manager

TargetDataSourceFolder: If you are using SharedDataSource then you need to have the folder name to publish it otherwise you can leave it as Default . I prefer not to use Shared Datasource.

TargetreportFolder:This is where your reports can be seen from the Target manager.give the path as Configmgr_PRI\custom reports\Eswar .If you want to publish to Custom Folder,Use Custom name.

TargetserverURL: http://SCCMServername/reportserver

After you are done with it,go back to the solution Explorer,right click on the report you want to publish–>Deploy

image24 thumb SCCM Configmgr 2012 :How to deploy / Manage reports to specific Folder in report Manager

you can see the status of this report,whether it is deployed or not using output window.

image27 thumb SCCM Configmgr 2012 :How to deploy / Manage reports to specific Folder in report Manager

go back to your report manager ,check if the reports are published or not ?

 

image30 thumb SCCM Configmgr 2012 :How to deploy / Manage reports to specific Folder in report Manager

 

How to create Custom Category folder in SCCM Configmgr 2012 console http://eskonr.com/2013/01/how-to-create-new-category-folder-in-sccm-configmgr-2012-reports/

How to change the SSRS DataSource:  http://be.enhansoft.com/post/2010/08/26/How-to-Change-the-SSRS-Datasource.aspx

SCCM Configmgr 2012 :How to deploy / Manage reports to specific Folder in report Manager is a post from: Eswar Koneti's Blog

SCCM Configmgr SSRS Report: Count of PC’s By Role

$
0
0

With the default report,you can get Count or list of PC’s from domain Eg: Computers in a specific workgroup or domain.

If you want to know the count of PC’s with specific role like standalone workstation a.k.a Workgroup computers,member workstation,member server,standalone server etc,use the below report .

I use property called DomainRole0 from V_GS_Computer_system view with case statement.

select "Role"=
case domainrole0
when 0 then ‘Standalone Workstation’
when 1 then ‘Member Workstation’
when 2 then ‘Standalone Server’
when 3 then ‘Member Server’
when 4 then ‘Backup Domain Controller’
when 5 then ‘Primary Domain Controller’
else ‘No’
end,
Count(*) [Total] from v_GS_COMPUTER_SYSTEM
group by DomainRole0

Here is the referral link which you can get information about domainrole and its values. http://msdn.microsoft.com/en-us/library/aa394102(v=vs.85).aspx

SCCM Configmgr SSRS Report: Count of PC’s By Role is a post from: Eswar Koneti's Blog

SCCM Configmgr 2012 SSRS Report:Count of Client Versions

$
0
0

With the recent Cumulative Update releases CU1,CU2 and now CU3 for Configuration Manager 2012 SP1,as Configmgr admin,you will have make sure to get the Configmgr clients on to the latest version.

Each cumulative update will have its new Version with its previous Cumulative Update. so if you are upgrading from previous CU’s to Newly Released Cumulative Update,you may have to look at the client versions in your environment if they are all on same boat or not.

Use this below SQL query to count the Client Versions from Configmgr environment.You can create list of PC’s with the specific client version to drill down.

select "Client Version"=
case sys.Client_Version0
when ’5.00.0000.0000′ then ‘RTM (5.00.0000.0000)’
when ’5.00.7804.1000′ then ‘SP1 (5.00.7804.1000)’
when ’5.00.7804.1202′ then ‘SP1 CU1 (5.00.7804.1202)’
when ’5.00.7804.1300′ then ‘SP1 CU2 (5.00.7804.1300)’
when ’5.00.7804.1400′ then ‘SP1 CU3 (5.00.7804.1400)’
when ’5.00.7958.1000′ then ‘R2 (5.00.7958.1000)’
else ‘Others(non-Clients)’
End,count(*) [Total]
from v_R_System sys
where sys.Name0 not like ‘unknown’
group by sys.Client_Version0
order by 2 desc

SSRS Report:

 

image thumb7 SCCM Configmgr 2012 SSRS Report:Count of Client Versions

SCCM Configmgr 2012 SSRS Report:Count of Client Versions is a post from: Eswar Koneti's Blog

Sccm Configmgr 2012 :Patch Compliance Summary Report Month Wise

$
0
0

If you search on the web for patch compliance report in configmgr,you get various reports of which you can customize it if you still need the way you want.I don’t see any standard report that tell the compliant % for each month in one line ?

How do you monitor the overall progress of the current month and its previous months ? let say,for the current month,compliant machines are 500(which have got all approved patches) and noncompliance and its % in one line ?

image thumb Sccm Configmgr 2012 :Patch Compliance Summary Report Month Wise

How about something like this ?

Not sure how many of you already seen post from Alexsemi who has developed report by month wise since from beginning(based on the patch date posted).

Criteria’s used in the query:

1. Category: Security patches

2. Products: All

3. Severity: Critical and Important

4. One missing patch brings entire computer to noncompliance.

If you are into configuration manager 2007 and using classic report feature,you can use the below SQL code which is also available here to download .

if you are into Configuration manager 2012 ,you will have to create SSRS report ,for which i have uploaded the .RDL file here ,so download and upload it to your SSRS reports.

SELECT D.MonthPosted , Compliant , Incompliant [Non-Compliant],Compliant + Incompliant [Total], cast(Compliant / ( (Compliant + Incompliant) /100.0) as decimal(5,2) ) as [Compliant %],
cast(Incompliant / ( (Compliant + Incompliant) /100.0) as decimal(5,2) ) as [Non-Compliant %]
FROM
(
Select MonthPosted, Count(1) as Compliant FROM
(
SELECT MonthPosted, ResourceID
FROM (SELECT TOP (100) PERCENT v_UpdateComplianceStatus.ResourceID, v_UpdateComplianceStatus.Status, CAST(DATEPART(yyyy,
v_UpdateInfo.DatePosted) AS varchar(255)) + ‘-’ + RIGHT(’0′ + CAST(DATEPART(mm, v_UpdateInfo.DatePosted) AS VARCHAR(255)), 2)
AS MonthPosted, COUNT(1) AS Count
FROM v_UpdateComplianceStatus INNER JOIN
v_UpdateInfo ON v_UpdateComplianceStatus.CI_ID = v_UpdateInfo.CI_ID INNER JOIN
v_R_System ON v_UpdateComplianceStatus.ResourceID = v_R_System.ResourceID
WHERE (v_R_System.Obsolete0 = 0 AND v_R_System.Client0 = 1 AND v_R_System.Active0 = 1) AND (v_UpdateInfo.Severity IN (8, 10)) AND (v_UpdateInfo.IsSuperseded = 0) AND (v_UpdateInfo.IsEnabled = 1)
GROUP BY v_UpdateComplianceStatus.ResourceID, v_UpdateComplianceStatus.Status, CAST(DATEPART(yyyy,
v_UpdateInfo.DatePosted) AS varchar(255)) + ‘-’ + RIGHT(’0′ + CAST(DATEPART(mm, v_UpdateInfo.DatePosted) AS VARCHAR(255)), 2)) A
where Status =3
AND not exists
(
SELECT B.MonthPosted, B.ResourceID
FROM (SELECT TOP (100) PERCENT v_UpdateComplianceStatus.ResourceID, v_UpdateComplianceStatus.Status, CAST(DATEPART(yyyy,
v_UpdateInfo.DatePosted) AS varchar(255)) + ‘-’ + RIGHT(’0′ + CAST(DATEPART(mm, v_UpdateInfo.DatePosted) AS VARCHAR(255)), 2)
AS MonthPosted, COUNT(1) AS Count
FROM v_UpdateComplianceStatus INNER JOIN
v_UpdateInfo ON v_UpdateComplianceStatus.CI_ID = v_UpdateInfo.CI_ID INNER JOIN
v_R_System ON v_UpdateComplianceStatus.ResourceID = v_R_System.ResourceID
WHERE (v_R_System.Obsolete0 = 0 AND v_R_System.Client0 = 1 AND v_R_System.Active0 = 1) AND (v_UpdateInfo.Severity IN (8, 10)) AND (v_UpdateInfo.IsSuperseded = 0) AND (v_UpdateInfo.IsEnabled = 1)
GROUP BY v_UpdateComplianceStatus.ResourceID, v_UpdateComplianceStatus.Status, CAST(DATEPART(yyyy,
v_UpdateInfo.DatePosted) AS varchar(255)) + ‘-’ + RIGHT(’0′ + CAST(DATEPART(mm, v_UpdateInfo.DatePosted) AS VARCHAR(255)), 2)) B
where Status =2
and B.MonthPosted = A.MonthPosted and B.ResourceID = A.ResourceID
Group By MonthPosted, ResourceID
)
Group By MonthPosted, ResourceID
) C
Group By MonthPosted
) D,
( SELECT MonthPosted, Count(1) as Incompliant
FROM (SELECT TOP (100) PERCENT v_UpdateComplianceStatus.ResourceID, v_UpdateComplianceStatus.Status, CAST(DATEPART(yyyy,
v_UpdateInfo.DatePosted) AS varchar(255)) + ‘-’ + RIGHT(’0′ + CAST(DATEPART(mm, v_UpdateInfo.DatePosted) AS VARCHAR(255)), 2)
AS MonthPosted, COUNT(1) AS Count
FROM v_UpdateComplianceStatus INNER JOIN
v_UpdateInfo ON v_UpdateComplianceStatus.CI_ID = v_UpdateInfo.CI_ID INNER JOIN
v_R_System ON v_UpdateComplianceStatus.ResourceID = v_R_System.ResourceID
WHERE (v_R_System.Obsolete0 = 0) AND (v_UpdateInfo.Severity IN (8, 10)) AND (v_UpdateInfo.IsSuperseded = 0) AND (v_UpdateInfo.IsEnabled = 1)
GROUP BY v_UpdateComplianceStatus.ResourceID, v_UpdateComplianceStatus.Status, CAST(DATEPART(yyyy,
v_UpdateInfo.DatePosted) AS varchar(255)) + ‘-’ + RIGHT(’0′ + CAST(DATEPART(mm, v_UpdateInfo.DatePosted) AS VARCHAR(255)), 2)) F
where Status =2
Group By MonthPosted ) E
where D.MonthPosted = E.MonthPosted
order by MonthPosted Desc

Sccm Configmgr 2012 :Patch Compliance Summary Report Month Wise is a post from: Eswar Koneti's Blog

SCCM 2012 SSRS report: Site Servers and its assigned boundary information

$
0
0

Quick post on the Boundaries and its assigned Site Servers which are nothing but Distribution Points.Simply creating boundaries does not make clients to get connected to DP and download the content.

you will have create assign these boundaries to boundary group and boundary group to Site+Content location.

Here is report to list all Boundaries and its connected Distribution Points.

image thumb SCCM 2012 SSRS report: Site Servers and its assigned boundary information

Note: Boundary Name is nothing but Description what you gave.

I have uploaded the .RDL ile onto TechNet gallery.Download it from here.

SCCM 2012 SSRS report: Site Servers and its assigned boundary information is a post from: Eswar Koneti's Blog

Configmgr 2012 SSRS Report:Know how many clients your Secondary Site is Supporting

$
0
0

Some information about proxy MP before we jump into the subject. Proxy Management Point(On Secondary Site) used mainly to avoid the excessive bandwidth usage over Slow Network links between clients located in the boundaries of a secondary site

By Default,Proxy management Point and Distribution Point role will be enabled and installed with secondary site. More information about Proxy Management Point,read Technet and msdn blog

The concept of Boundaries are changed in SCCM 2012 comparing with its previous version SCCM 2007.You should configure the Boundaries and Boundary group correctly .To know more ,refer Jason Blog explaining about Secondary Site and boundary Groups

Recently ,I come across request asking for ,how many clients,specific secondary site is supporting /responsible for.

Did you ever come across ,knowing the Client secondary Site Proxy management or Resident Management point ? How to get the Secondary Site code for clients residing in its boundaries into Database ?

As you know,you can not create report or collection based on the Secondary site Code because the site code for clients residing in boundaries of secondary always show as  Primary Site Code(PRI) .

If you look at the Configuration manager applet of client which is residing in the secondary site boundary, you can see proxy Management ,Resident Management Point and its Assigned Management Point information.

image thumb Configmgr 2012 SSRS Report:Know how many clients your Secondary Site is Supporting

Updated: This blog is updated to apply this for Configmgr 2007 with MOF Code (if you do no have client status reporting tool installed) and also a simple way to get the clients assigned* to Management Point.

For Configmgr 2012:

If you remember in SCCM 2007,v_CH_ClientSummary View handles information about client status like reporting,health etc.This view will be created if you had installed client status reporting tool.

In Configmgr 2012, Client status and client activity information is integrated ,you don’t need to install status reporting tool as you do in Configmgr 2007.

So ,you don’t need to follow the below procedure to know the count of clients assigned to which Management Point ?

Just use the below SQL query to create SSRS Report or use in in SQL management Studio:

select UPPER(SUBSTRING(lastmpservername, 1, CHARINDEX(‘.’, lastmpservername) -1 )) as ‘Management Point’,
    count(lastmpservername) as ‘Total Clients’
    from v_CH_ClientSummary
    group by lastmpservername
    order by lastmpservername desc
 

How simple isn’t it ?

If you want to know the proxy MP or Resident MP etc,then you should consider reading below information.

From the above screen,we are sure that,this information is pulling from wmi isn’t it ? .we need to find out the Namespace and classes.

Client properties information is stored in root\ccm namespace.You will find interesting information from this name space about client like its client ID,Client ID Change Date, Installed Components, User Logon events etc, which is not available by default in Configmgr Database.To know more about available classes,you can run wbemtest and connect to \\root\ccm name space,click enum classes,recursive and explore the existing classes like SMS_LOCALMP and SMS_MPProxyInformation.

 

image thumb1 Configmgr 2012 SSRS Report:Know how many clients your Secondary Site is Supporting

How do we get this information into SCCM Database ?as usual,through MOF file ? Nope ,now we are in 2012 not in 2007.SCCM 2012 made it very easy to enable custom inventory classes.

Go to your primary Site console,administration node—>Client settings—>Click on the properties of Default client settings.(You can not import any custom inventory classes to custom Client agent settings,you should always enable them in default Client agents),click on set Classes from hardware inventory

image thumb2 Configmgr 2012 SSRS Report:Know how many clients your Secondary Site is Supporting

Click on Add

image thumb3 Configmgr 2012 SSRS Report:Know how many clients your Secondary Site is Supporting

Click on connect,you can connect to wmi of any SCCM Client computer to get the required WMI classes

image thumb4 Configmgr 2012 SSRS Report:Know how many clients your Secondary Site is Supporting

connecting to the computer which has sccm client installed.

image thumb5 Configmgr 2012 SSRS Report:Know how many clients your Secondary Site is Supporting

image thumb6 Configmgr 2012 SSRS Report:Know how many clients your Secondary Site is Supporting

if you are interested in other classes,you can select them as well.Click ok,ok

image thumb7 Configmgr 2012 SSRS Report:Know how many clients your Secondary Site is Supporting

Before you confirm the changes,make sure what information do you really required.Click ok and ok on the Default Client agent settings.

These changes are tracked by dataldr.log(F:\sccm\logs) for the creation of views in Database.You see something like this.

image thumb8 Configmgr 2012 SSRS Report:Know how many clients your Secondary Site is Supporting

It takes a while to load the policy to the client machines(based on machine policy interval) ,send client inventory information to site server to process into Database.

If you need quick results,trigger machine policy and hardware inventory policy on the local server,wait for results to come up in the Database.

The two SQL views created are: V_GS_LOCALMP and V_GS_SMS_MPPROXYINFORMATION
Below is SQL Query to know the count of computers under the Secondary Sites.

select LM.name0 [Secondary Site],LM.sitecode0 [Site Code],LM.mastersitecode0[Master Site],
Count(*) [Total Clients] from v_gs_sms_localmp  LM,v_R_System sys
where sys.ResourceID=lm.resourceid
and sys.Active0=1 and lm.index0=1
group by lm.name0,lm.sitecode0,LM.mastersitecode0

image thumb9 Configmgr 2012 SSRS Report:Know how many clients your Secondary Site is Supporting

For Configmgr 2007:

If you are running on SCCM 2007 and want to know count of clients how they are assigned ,add the below lines to the bottom of your sms_def.mof file on the central Site(changes will flow down to its child sites).

//——————————-Management Point Info—————//////////////

[ SMS_Report (TRUE),
  SMS_Group_Name ("SMS_LocalMP"),
  SMS_Class_ID ("MICROSOFT|SMS_LOCALMP|1.0"),
  Namespace ("root\\\\ccm") ]
class SMS_LocalMP : SMS_Class_Template
{
    [ SMS_Report (TRUE) ]
    String     Capabilities;
    [ SMS_Report (TRUE) ]
    UInt32     Index;
    [ SMS_Report (TRUE) ]
    String     MasterSiteCode;
    [ SMS_Report (TRUE) ]
    String     Name;
    [ SMS_Report (TRUE) ]
    String     Protocol;
    [ SMS_Report (TRUE) ]
    String     SiteCode;
    [ SMS_Report (TRUE) ]
    UInt32     Version;
};

//————————–End here———————//

Note: make sure you replace the quotes (“)with original as blog convert them to fancy otherwise you will get into trouble wlEmoticon smile Configmgr 2012 SSRS Report:Know how many clients your Secondary Site is Supporting.

After you save the file,monitor the logs for any errors as said above,wait for sometime and you are ready to create report. You can Use above SQL query .

Configmgr 2012 SSRS Report:Know how many clients your Secondary Site is Supporting is a post from: Eswar Koneti's Blog

Configmgr SSRS Report : Patch Compliance Statistics Last 30 days

$
0
0

Year ago,I created CM07 report to know the patch compliance stats for active patches last 30 days.More info can be found from here.But this report was for configuration manager 2007 which will not work with Configmgr 2012 due to the changes in storing the information in SQL tables/Views.

I have created similar report for configuration manager 2012.This report will list down all active patches which are deployed during last 30 days .I have used the criteria to filter the days using patch released date(DateCreated).

image thumb11 Configmgr SSRS Report : Patch Compliance Statistics Last 30 days

SQL Code Used in SSRS Report:

select UI.Title, UI.BulletinID,CS.NumPresent as Installed,CS.NumMissing as Missing,CS.NumFailed [Failed],
CS.NumNotApplicable as NotApplicable,CS.NumUnknown as Unknown,
CONVERT(decimal(5,2),(100.00*(Cs.NumPresent+cs.NumNotApplicable)/Cs.NumTotal)) [Compliant %],
case UI.IsSuperseded
when 1 then ‘Yes’
Else ‘No’ End as [Superseded],
case UI.Isexpired
when 1 then ‘Yes’
Else ‘No’ End as [Expired],
case UI.IsDeployed
when 1 then ‘Yes’
Else ‘No’ End as [Deployed],
ui.dateposted [Date Posted],UI.DateCreated,
Deadline=cdl.Deadline,
UCS.CI_ID,
UI.InfoURL
         from v_UpdateComplianceStatus UCS
         inner join v_UpdateInfo UI On UI.CI_ID=UCS.CI_ID
         inner join v_Update_ComplianceSummary CS on CS.CI_ID=ucs.CI_ID
         inner join v_R_System Sys on sys.ResourceID=UCS.ResourceID
        inner join v_CICategoryInfo CI On CI.CI_ID=UCS.CI_ID
        outer apply (
          select min(a.EnforcementDeadline) as [Deadline]
          from V_CIAssignment  a
         join v_CIAssignmentToCI  atc on atc.AssignmentID=a.AssignmentID and atc.CI_ID=UCS.CI_ID
           ) cdl
            where (DATEDIFF(Day,UI.DateCreated, GETDATE())) <=30
         group by UI.BulletinID,UI.Title,cdl.Deadline,UI.InfoURL,IsExpired,IsSuperseded,dateposted,IsDeployed,UCS.CI_ID,UI.DateCreated,
         CS.NumPresent,CS.NumMissing,cs.NumNotApplicable,CS.NumUnknown ,CS.NumTotal,Cs.NumFailed

 

Looking for RDL file ? Download it from here,uploaded to your SSRS Report folder and Run wlEmoticon smile Configmgr SSRS Report : Patch Compliance Statistics Last 30 days

To know more about software update management and how does system become compliant in Configmgr refer http://blogs.technet.com/b/system_center_in_action/archive/2011/05/02/test.aspx

Configmgr SSRS Report : Patch Compliance Statistics Last 30 days is a post from: Eswar Koneti's Blog


Configmgr 2012 Report Applications packages assigned to specific collection

$
0
0

A question asked in the forum recently about,way to get list of applications ,packages assigned to specific collection.I looked at the default reports if there is any or similar which can be customized but cannot find.

It is hard to see always what apps/packages assigned to collection using manual method.Here is the SSRS /SQL query to get list of apps assigned.

This contains 2 queries 1) apps assigned and 2) packages assigned both excluding the software updates and endpoint protection updates.

I always use Configmgr 2012 R2 SQL views excel spreadsheet to find the correct view for what you need.For this report,application name is available from v_ApplicationAssignment and package name(legacy) from v_advertisement.

 

image thumb5 Configmgr 2012 Report Applications packages assigned to specific collection

Applications Assigned:

select CA.ApplicationName,
case when NotifyUser=1 then ‘Yes’ Else ‘No’ End as ‘Notify User’,
case when  UserUIExperience=1 then ‘Yes’ Else ‘No’ End as ‘UserUIExperience’,
case when AssignmentAction=2 then ‘Install’ Else ‘Uninstall’ End as ‘Action’,
CA.CreationTime,CA.LastModificationTime,CA.LastModifiedBy from v_ApplicationAssignment CA,v_Collection coll
where ca.CollectionID=coll.CollectionID and
coll.CollectionID=@collection and (CA.AssignmentName not like ‘%Software Update%’ and CA.AssignmentName not like ‘%Endpoint Protection%’)

Package Assigned:

select SUBSTRING(adv.AdvertisementName, 1, CHARINDEX(‘_’, adv.AdvertisementName) – 1) aS [Advertisement Name],
adv.ProgramName,adv.ExpirationTime from v_Advertisement adv,v_Collection coll
where adv.CollectionID=coll.CollectionID
and coll.CollectionID = @Collection

Prompt:

select CollectionID,name from v_Collection
order by name

Download the RDL file from Technet Gallary:

Some information about Notify User and UserUIExpeirnce from Phil .

Application Deployments which are marked as Available will have two options:

Display in Software Center and show all notifications
Display in Software Center, and only show notifications for computer restarts

Deployments marked as Required also have a third option to “Hide in Software Center and all notifications”

The NotifyUser value determines whether the user sees notifications for new applications in the system tray, and the UserUIExperience determines whether the user sees anything at all related to the application.  Thus an available deployment set to show all notifications would have a value of 1 for both, an Available or Required deployment set to only show notifications for reboots would have NotifyUser set to 0 and UserUIExperience set to 1, and a Required deployment set to hide everything would have both set to 0

Configmgr 2012 Report Applications packages assigned to specific collection is a post from: Eswar Koneti's Blog

Configmgr 2012 SSRS Report Count of Client Versions

$
0
0

With the recent Cumulative Update releases CU1,CU2 and now CU3 for Configuration Manager 2012 SP1,as Configmgr admin,you will have make sure to get the Configmgr clients are running on the Version of your Primary Site.

Each cumulative update will have its new Version with its previous Cumulative Update. so if you are upgrading from previous CU’s to Newly Released Cumulative Update,you may have to look at the client versions in your environment if they are all on same boat or not.

Update: Configmgr 2012 R2 CU1 version also added to the Report.

Use this below SQL query to count the Client Versions from Configmgr environment.You can create list of PC’s with the specific client version to drill down.

select "Client Version"=
case sys.Client_Version0
when ’5.00.0000.0000′ then ‘RTM (5.00.0000.0000)’
when ’5.00.7804.1000′ then ‘SP1 (5.00.7804.1000)’
when ’5.00.7804.1202′ then ‘SP1 CU1 (5.00.7804.1202)’
when ’5.00.7804.1300′ then ‘SP1 CU2 (5.00.7804.1300)’
when ’5.00.7804.1400′ then ‘SP1 CU3 (5.00.7804.1400)’
when ’5.00.7958.1000′ then ‘R2 (5.00.7958.1000)’

when ’5.00.7958.1203′ then ‘R2 CU1 (5.00.7958.1203)’

else ‘Others(non-Clients)’
End,count(*) [Total]
from v_R_System sys
where sys.Name0 not like ‘unknown’
group by sys.Client_Version0
order by 2
desc

Note:If you have configmgr 2007 clients appearing in CM12,you can add them too here using simple case statement. List of Client versions available on Wikipedia

SSRS Report:

 

image thumb Configmgr 2012 SSRS Report Count of Client Versions

Configmgr 2012 SSRS Report Count of Client Versions is a post from: Eswar Koneti's Blog

SCCM Configmgr 2012 SSRS Dashboard Client Health Summary Report

$
0
0

Another Configmgr 2012 SSRS Report that brings Client Health Summary.This time,it will be a dashboard instead normal SSRS report.Dashboard is nice way to display multiple reports into one report.Dashboard reports are very helpful if you want to monitor the information about client health (mainly the Count),client hardware/software,operating system,IE versions etc.You can also link all these individual reports to get list of computers with its hardware information.

I created Dashboard report to get client health summary into one Page instead browsing to multiple reports when required.

This report consists of several individual reports listed below:

1.Total Computers

2.Client Installed Vs Active Vs Missing

3.Client Health Based on CCMEVAL

4.Clients Assignment Per Management Point

5.Computers Discovered During last 30 Days

6.Computers Not Discovered During Last 30 Days

7.Clients Vs Non-Clients By Domain

8.Inventory (HW/SW) during last 30 days

9.Computers by Chassis Type

10.IE Versions

11.Computers by Architecture

12.Computers By Operating System

Note:Client health report is being filtered with lastlogon timestamp (<30 Days) attribute which is updated by AD system Discovery .

The Count in Crimson color indicates linked report to show list of computers which are not uploaded for now as there are many in this Dashboard.I will collate all of them during next update.

image thumb3 SCCM Configmgr 2012 SSRS Dashboard Client Health Summary Report

Download the RDL file from TechNet Gallery and uploaded to your SSRS report.

Don’t forget to change the Data source after you upload it.To know more about how to upload the .RDL file and change Data source,follow http://be.enhansoft.com/post/2010/08/26/How-to-Change-the-SSRS-Datasource.aspx

SCCM Configmgr 2012 SSRS Dashboard Client Health Summary Report is a post from: Eswar Koneti's Blog

SCCM Configmgr 2012 SSRS Report List Applications and its Dependencies

$
0
0

I think ,this post is going to be one of my Favorite on Configmgr 2012 SSRS report so far i created .Question from smsforum list asking,about if there is any pre-existing report that list all applications and its dependencies.There is none from the default reports(out of 400+) and not sure why Microsoft did not include this kind of report as part of default reports.

If you want to know all dependencies for specific application,you can directly get this from Configmgr 2012 console by right click on the application and choose view relationships——dependency  but how to get list of applications that dependent on specific application.

For Ex: Get list of all applications who dependent on  Microsoft .net Framework 4.5 or Microsoft Visual C++ 2008 etc.

image thumb2 SCCM Configmgr 2012 SSRS Report List Applications and its Dependencies 

Before you jump into creation of reports,i would recommend you to read deep technical drive on Application Model and its Internal how they stored in Database by Steve Rachui.

I would like to thank Todd for the original SQL Query that helped me to write this blog post.

So this blog post brings you ,3 different SSRS Reports named 1 ) List all applications and its count of Dependencies and 2) linked report to list Dependencies for Specific Application 3) List all applications that Dependent on specific application

1 )List all applications and its count of Dependencies:

image thumb3 SCCM Configmgr 2012 SSRS Report List Applications and its Dependencies

2) List Dependencies for Specific Application

Click on any application that has dependencies ,it will show give you apps list.

For Ex; Interactive 6.2: You can see the parent application folder name where it resides,dependencies and its folders where do they sit.

image thumb4 SCCM Configmgr 2012 SSRS Report List Applications and its Dependencies

3) List all applications that Dependent on specific application:

image thumb5 SCCM Configmgr 2012 SSRS Report List Applications and its Dependencies

Download these 3 reports .RDL files from TechNet Gallery and Uploaded to yours SSRS report folder. Don’t forget to change the Data Source ,to know How refer Garth blog.

you can also use powershell script to change the Data source for multiple reports at one go instead one by one refer blog post.

Note: When you upload these .rdl files ,make sure 1st and 2nd reports should be in same folder as they both are linked each other.

Hope it Helps!

SCCM Configmgr 2012 SSRS Report List Applications and its Dependencies is a post from: Eswar Koneti's Blog

SCCM Configmgr 2012 How to check Status of applications Assigned to Computer or User

$
0
0

Its always painful to check via reports for specific application if an assigned application successfully installed for Computer or User ,especially for GSD/helpdesk guys as they are the first point of contact for basic troubleshooting and they cannot always browse to default reports for such information and there is no straight report to give this information.

I have created 2 Reports 1 ) List all applications with status for specific Computer 2) List applications with status for Specific User.

These 2 reports will help you to get quick information about specific application whether it is installed /requirements not met /error what ever the reason before you jump into troubleshoot it.

While running report for User,you will have specify Username which is NTUser name which is used to log into domain for Ex:eskonr\eswar ,specify only eswar,domain name is not required.

1.List all applications with status for specific Computer

image thumb6 SCCM Configmgr 2012 How to check Status of applications Assigned to Computer or User

2.List applications with status for Specific User:

 image thumb7 SCCM Configmgr 2012 How to check Status of applications Assigned to Computer or User

you can download there 2 reports from TechNet Gallery .

As usual,Download the reports,uploaded to SSRS report folder .

Don’t forget to change the Data Source ,to know How ,refer Garth blog.

you can also use powershell script to change the Data source for multiple reports at one go instead one by one refer blog post.

SCCM Configmgr 2012 How to check Status of applications Assigned to Computer or User is a post from: Eswar Koneti's Blog

SCCM Configmgr 2012 way to find Who Created modified Deleted the collection using SSRS Reports

$
0
0

Quick Post: There was a question on TechNet forum asking,about who created the collection ,More read http://social.technet.microsoft.com/Forums/en-US/e5ea645e-84ec-49ce-82f5-e5d92b0f49a5/details-on-sccm-collection-creation?forum=configmanagergeneral

I have seen few cases in Configmgr 2007 and less in Configmgr 2012 due to RBA ,that Configmgr guys will try to do something on collection but it ends at something that causes the resources to disappear from Configmgr database and later you know the consequences from top management. The easiest way to get the resources into Configmgr is,to run the discovery.

Recently peter posted a blog about Who created that deployment and who deleted that deployment but these posts mainly focus on the deployment part using Reports.

Through this post,i will provide you the information about collections like who created,who Modified ,who deleted and who deleted resources from the collection etc using Reports.

Unlike Configmgr 2007 ,Configmgr 2012 also have few ways to get the information about this 1) using Status messages queries 2 ) Default reports 3) Using SQL queries

I always prefer to use the Default report in Configmgr called ‘All messages for a specific message ID’ under status messages folder from your Configmgr SSRS reports folder to know who created ,deleted as other 2 methods are little complicated to search for the required information(compared to reports) and to write SQL queries.

So coming to the subject,you can run the default report but you need to know the description of the status message ID what you are looking for.

You can use below status message ID’s to know who did what on collections.

 

Message ID

                                                             Description

30015

User "<>" created a collection named "Coll Name" (CollID)

300016

User "<>" modified the Collection Properties for a collection named "Coll Name" (CollID)

300017

User "<>" deleted a collection named "Coll Name" (CollID)

300067

User "<>" deleted all of the resources that belong to collection "Coll Name" (CollID)

30104

User "<>" requested that the membership be refreshed for collection "Coll Name" (CollID)

30107

User "<>" requested that the CCRs be generated for collection "Coll Name" (CollID)

30066

User "<>" deleted a discovered resource named "ComputerName" ResourceID

 

Report Results for Who deleted what Collections ?

image thumb4 SCCM Configmgr 2012 way to find Who Created modified Deleted the collection using SSRS Reports

If you are looking for information about Configmgr 2007,refer this post http://blogs.technet.com/b/configurationmgr/archive/2013/10/01/how-to-determine-who-deleted-what-objects-in-the-configuration-manager-console.aspx

Hope it helps.

SCCM Configmgr 2012 way to find Who Created modified Deleted the collection using SSRS Reports is a post from: Eswar Koneti's Blog

SCCM Configmgr 2012 Report Get the Status of Software Update Scan results

$
0
0

In this blog post,I will show you ,how to know /monitor the clients with software update scan status results .

For patch management,all Configmgr Managed clients should do successful software update scan else,client will not be able to get updates from SCCM and thus ,SUP compliance go down the SLA.

I looked at the default reports to check if there is any such report to get count of clients that performed successful scan ,not successful scan and how many do not even report anything about scan.

I come up with nice SSRS Report gives you count of clients with success SU Scan,Failed and client that do not report anything.

All the counts in the report have linked report means,you can get list of clients for troubleshooting why they failed.

Software update scan results stored in v_updatescanstatus ,with LastErrorCode='0' considered as success and rest are considered as failed.

Download the RDL files from TechNet Gallary,uploaded all the reports to your SSRS Folder (make sure you uploaded all these files into same folder as they are linked) and change the data source before you run them.

Note:All these reports filtered with criteria DATEDIFF(dd,sys.Last_Logon_Timestamp0,GetDate()) <30 (computers did not logged into domain during last 30 days will not be reflected in this report ,I feel that ,no point looking at these computers since they are not on the network) and no other filters added like OU limitation /Server limitation etc. If at all you want,you can customize the RDL File.

Uploaded to your folder:

image thumb4 SCCM Configmgr 2012 Report Get the Status of Software Update Scan results

Software Update Scan Results:

image thumb8 SCCM Configmgr 2012 Report Get the Status of Software Update Scan results

Linked report- List of client SUScan Failed:

image thumb6 SCCM Configmgr 2012 Report Get the Status of Software Update Scan results

List of Client NoSUScan:

This report includes clients with no sccm client and you are required to get the client install on all computers with client=No.

image thumb7 SCCM Configmgr 2012 Report Get the Status of Software Update Scan results

Hope this report will help you to get some idea how the client are doing with respect to Soft update Scan  ,from this point,you can start troubleshooting the failed clients.

Feel Free to share your feedback via comments section .

SCCM Configmgr 2012 Report Get the Status of Software Update Scan results is a post from: Eswar Koneti's Blog


SCCM Configmgr 2012 SSRS Report Count MS Office Versions

$
0
0

 

Recently , I worked on MS Office upgrade project to 2013 and before I take any action on this,I need to identify /get count of all MS Office Versions installed on the computers that are managed by Configuration manager 2012.

There is no default Configmgr report that provide you this information ,so you must create custom SSRS Report .I started working on Custom SSRS Report to get count of office versions .During my search results ,found a blog post from TechNet that provide you the count of MS Office Versions only but not what specific edition in each version (standard,professional).

In this this blog post ,I will show you how to get the summary report for MS Office Version ,also get what editions in each version with its count. So to get this,I need to create 2 reports 1) summary count 2) Sub section to display the editions for each version.

So, If you run the SQL query/SSRS report from the TechNet blog ,you get results something like below :

 

image

 

From the above report,you see MS office 20xx installed on X many clients but it doesn’t tell you what editions/versions they are installed .To see that, need to create another report and link to the above summary report.

The 2nd report 2) Sub section to display the editions for each version looks something like this if you click on the blue numbers.

image

These 2 reports are linked each other .By chance ,if you change the name of the file,you have to edit the link also in the SSRS Design else ,will fail to run the reports.

Note: Server OS is excluded from this report. The count you see above is only for workstations with client=Yes

You can edit these RDL Files to customize the SQL Query.

Download the RDL Files available from TechNet Gallary.

Upload the RDL files into same folder into your SSRS Reports ,change the Data Source ,run the reports.

SCCM 2012 SSRS Report Content Summary With distribution Status

$
0
0

 

This week SSRS report is about knowing the count of applications,packages,driver packages,SUP packages,boot images,OS images,Virtual packages etc into Nice Pie Chart also know about the Distribution status of each package .

This report has 2 queries inside SSRS 1) for Pie Chart and 2)list the Distribution Status for each package with sorting order.

Its always nice to know the figure on the content ,content success status.

image

Download the SSRS Report(.RDL) from TechNet Gallary,Upload to your SSRS Report,change the Database source.

SCCM Configmgr 2012 SSRS Report How to check content is used in what task sequences before cleanup using Cascading Parameters

$
0
0

Recently I was doing some content cleanup (mainly for images) in Configmgr 2012 R2 .I have found lot a images for each OS (windows 7,Windows 8 and Windows 8.1) with different versions ,especially for windows 10 .Before I delete ,I was looking for some default report to check if any of these old versions are used in any of the production or non production task sequences (there are many) ,but I could not find any such report to check. If I have one or two tasks sequences, I can go to the task sequence and look at reference tab to check if the image is used in the task sequence . So I thought of creating SSRS report to check particular image (this report can be used to check for any package,application,OSD,driver package etc) is used in what task sequences/or no task sequences, so that I can take a decision if the images can be deleted or not.

This report can be used to check any reference package used in what task sequence and then you can send email to the team with this information to check and revert back before you take any action .

When you run the SSRS Report,it will prompt to select the package type (application,Package,boot image,OS Image, OS Install package and driver package) followed by package name based on your selection of package type. This SSRS Report uses cascading parameters which means,prompt parameter depends on another prompt parameter that you choose.

Here is the SQL Query if you want to run from SQL Management studio:

select TP.name [TS Name],TP.packageID [TS ID],TP.Description,TP.sourcesite From v_TaskSequenceReferencesInfo TSR
inner join v_TaskSequencePackage TP on TP.PackageID=TSR.PackageID
inner join v_Package pkg on pkg.packageid=tsr.packageid
where referencepackageid='P0100144'
order by 1

Change the package ID to your respective content ID.

if you wanted to get list of applications,packages with package ID,Package Name,use the following SQL Query:

select
pkg.Name as [Package Name],
Case pkg.PackageType
When 0 Then 'Software Distribution Package'
When 3 Then 'Driver Package'
When 4 Then 'Task Sequence Package'
When 5 Then 'software Update Package'
When 6 Then 'Device Settings Package'
When 8 Then 'Application'
When 7 Then 'Virtual Package'
When 257 Then 'Image Package'
When 258 Then 'Boot Image Package'
When 259 Then 'OS Install Package'
Else ' '
END AS 'Package Type',
pkg.PackageID
from v_Package pkg
order by 2

SSRS Report:

image

Prompt:

image

Download the SSRS Report from Technet Gallery ,uploaded to your Configmgr reports folder ,change the Data source ,run the Report.

SSRS Report Cascading reference :https://msdn.microsoft.com/en-us/library/dd255197.aspx

SCCM Configmgr 2012 SSRS Report client policy request or Days Since Last Communication older for specific collection

$
0
0

 

Being as SCCM Configmgr administrator,your primary aspect is to maintain health of your sccm clients for application deployment,software updates,inventory etc. Questions often come up in forums ,email list asking for ,list of computers not contacted the server since X days (25) or how do I know the clients who’s policy request is old or days since last communication is more than X days older.

From the Configmgr Console,we can see the client activity like policy request,heartbeat DDR,hardware scan ,Management point etc as shown in below picture.

image

How do I present this information into SSRS report for further troubleshooting ? Creating report ,exporting results and working /troubleshooting clients who’s communication is older than x days would be easier.

The client activity information is stored in view called vWorkstationStatus in SQL DB.So I use this view to join with collection views to get desired results.

I have SQL Query to retrieve this information but not in SSRS Report. I usually run the SQL Query in SQL Management studio but I thought of creating SSRS report to get this information against specific collection.

Below is SQL query ,if you want to create powershell grid view. (This query is filtered to get clients if LastPolicyRequest request is more than 25 days and collection).

SELECT ws.Name, ws.UserName,ws.LastMPServerName,
CONVERT ( varchar (26) , ws.CreationDate , 100) CreationDate,
CONVERT ( varchar (26) , ws.LastDDR , 100) LastDDR,
CONVERT ( varchar (26) , ws.LastPolicyRequest,100) LastPolicyRequest,
CONVERT ( varchar (26) , ws.LastHardwareScan,100) LastHardwareScan,
ws.SystemRole,
DATEDIFF ( DAY , ws.LastPolicyRequest , getdate() ) 'Days Since Last Communication'
FROM  vWorkstationStatus ws
JOIN dbo.v_FullCollectionMembership vfcm ON vfcm.ResourceID = ws.ResourceID
JOIN dbo.v_Collection vc ON vc.CollectionID = vfcm.CollectionID
WHERE vc.Name=’Your collection Name'
GROUP BY ws.Name, ws.UserName,ws.CreationDate,ws.LastMPServerName,ws.LastDDR,
ws.LastPolicyRequest,ws.LastHardwareScan,ws.SystemRole
HAVING (datediff(dd,max(ws.LastPolicyRequest),getdate()-25) >0)

In SSRS Report, I have made 2 parameters as prompts 1) Collection Name and 2) Number of days .

Below is SSRS report how it looks like?

image

Download the RDL File from TechNet here ,upload report to your SSRS Reports folder ,change the Data source and runt the report.

Questions appeared on https://social.technet.microsoft.com/Forums/en-US/b9940352-7382-462d-8ef9-8c7a1483a29f/sccm-client-last-communication-report?forum=configmanagerdeployment

https://social.technet.microsoft.com/Forums/office/en-US/5b21299a-d91a-43bd-bae7-dc02c09a8694/how-to-create-a-collection-based-on-days-since-last-communications?forum=configmanagerapps

https://www.reddit.com/r/SCCM/comments/3l67e8/help_with_custom_report/

SCCM Configmgr SQL Query How to get list of patches required by specific Computer

$
0
0

 

There are instances (you might want to get list of required patches by server ,so can download and install in DMZ who do not have internet or for patch compliance checking for specific computer and many) , where you might be searching for list patches of required by specific computer/computers and generally ,we look at default reports if there is any report which can give me the required information.

If you look at default reports,there is no exact report give you the list of patches required by specific computer with targeted,required,when was it released and other information.

You can use below SQL Query to run  from SQL SERVER MANAGEMENT STUDIO or use this in your SSRS Reports with parameter for computer name.

This query has been customized to present the Month posted,Title of the patch,Targeted to the client,Required ,KB URL,Date posted and deadline if there is any.

Note: This Query is filtered with Severity (Security and critical)  from view v_UpdateInfo.

SQL Code:

select CAST(DATEPART(yyyy,ui.DatePosted) AS varchar(255)) + '-' + RIGHT('0' + CAST(DATEPART(mm, ui.DatePosted) AS VARCHAR(255)), 2) AS MonthPosted,
ui.bulletinid [BulletinID],ui.articleid [ArticleID], ui.Title,
    Targeted=(case when ctm.ResourceID is not null then '*' else '' end),
    IsRequired=(case when css.Status=2 then '*' else '' end),
    ui.InfoURL as InformationURL,
    ui.dateposted [Date Posted] ,
    Deadline=cdl.Deadline
    from V_UpdateComplianceStatus  css
    join v_UpdateInfo ui on ui.CI_ID=css.CI_ID
    left join v_CITargetedMachines  ctm on ctm.CI_ID=css.CI_ID and ctm.ResourceID = css.ResourceID
    INNER join v_CICategories_All catall2 on catall2.CI_ID=css.CI_ID
    INNER  join v_CategoryInfo catinfo2 on catall2.CategoryInstance_UniqueID = catinfo2.CategoryInstance_UniqueID
    and catinfo2.CategoryTypeName='UpdateClassification'
    JOIN dbo.v_R_System AS vrs ON vrs.ResourceID = css.ResourceID
       outer apply (
       select Deadline=min(a.EnforcementDeadline)
       from v_CIAssignment  a
       join v_CIAssignmentToCI atc on atc.AssignmentID=a.AssignmentID and atc.CI_ID=css.CI_ID
       ) cdl
   WHERE vrs.Name0='Win7X64-001' and
   ui.Severity IN (8, 10) --this is for security and critical updates
  AND css.Status=2  --for required
ORDER BY 1

I posted the same query on TechNet forums ,more info https://social.technet.microsoft.com/Forums/en-US/8fe96532-d9ef-48f2-a356-6e1195d9273e/report-of-what-updates-are-needed-by-server?forum=configmanagergeneral#7185a84e-afab-47d2-82bd-7418e02dd75f

Viewing all 29 articles
Browse latest View live