Quantcast
Channel: ConfigMgr (SCCM) – All about Microsoft Endpoint Manager
Viewing all 252 articles
Browse latest View live

SCCM Configmgr 2012 Powershell script How to delete multiple packages applications Driver packages what else ?

$
0
0

Long Ago,wrote a powershell script to add packages,applications,driver packages,Boot Images etc to selected Distribution Points,more information http://eskonr.com/2014/02/configmgr-2012-updated-powershell-script-add-packages-applications-drivers-to-distribution-point/

As Configmgr admin,we will be doing some maintenance cleanup activities monthly or quarterly for applications,packages,drivers ,collection etc.I will write another post  on ,how to identify the packages which are not used from longer period by Configmgr clients.

Removing single package from console is straight forward .Right click on package and click delete.This process takes few steps asking to go through the prompt to answer or delete directly.

I have collected several packages with different package types like applications,driver packages,SUP packages etc using the SQL quires based on the usage and i decided to delete all of them. How do delete all ?

Search each package where do they reside in console and delete one by one manually ? If you have no better job than this,then yes,you can of course go with manual method to identify where they reside in Console and delete it .

Powershell gives so much flexible to perform most of the configmgr jobs with single command line.

I wrote a powershell script-looks like very lengthy since the commands for package,application type,SUP,image are different and i have used several if conditions to check if the package really deleted from console or not not before it write the result to output file .

This script basically take the information from the txt file , what you supplied and based on the package type (like switch case here),it will jump to the specific category and perform the deletion.

What is required before you run the script  ?

1.Enough permissions to delete the content from Configmgr console

2. Get list of all package names (script is written based on its Name instead of Package ID) either from Console or SQL database along with its package Type.

3. create excel or notepad with format shown below:

packages1 SCCM Configmgr 2012 Powershell script How to delete multiple packages applications Driver packages what else ?

 

do some excel work to replace the space with comma(,) and save it .

output of CSV should look like this :

packages2 SCCM Configmgr 2012 Powershell script How to delete multiple packages applications Driver packages what else ?

 

You don’t require Excel to be installed on the computer to run the script .Notepad is enough to read for Powershell.

Powershell Script :

#######################################################################
#Name: Remove multiple packages ,applications,drivers,Images etc from Configmgr 2012
#Author: Eswar Koneti
#Date Created:23-July-2014
#Avilable At:www.eskonr.com

#######################################################################

#Import Module
$CMModulepath=$Env:SMS_ADMIN_UI_PATH.ToString().Substring(0,$Env:SMS_ADMIN_UI_PATH.Length -  5)+"\ConfigurationManager.psd1"
import-module $CMModulepath -force
#Change the site Code
CD PRI:
#Change output File Location to store the results
$Outputpath='C:\Users\eswar\Desktop\Removed-packages.txt'
#Change the input filename ,make sure you supply the information in correct format

Import-Csv C:\Users\eswar\Desktop\Remove-packages.csv |`
ForEach-Object {
$PackageType = $_.PackageType
$PackageName = $_.PackageName
# For Packages

            If($PackageType -eq "Package")
{
#Check if the supplied package exist in CM12
if ( Get-CMPackage -Name "$PackageName")
{
Remove-CMPackage -Name  "$PackageName" -Force
#Check if the supplied package deleted or not from CM12
if (!( Get-CMPackage -Name "$PackageName"))
{
"Package " +  $PackageName + " "+ "Deleted " | Out-File -FilePath $Outputpath -Append
}
else
{
"Package " +  $PackageName + " "+ "Not Deleted ,Fix the problem and delete manually " | Out-File -FilePath $Outputpath -Append
}
}
}

#For Applications

            If($PackageType -eq "Application")
{
#Check if the supplied Application exist in CM12
if ( Get-CMApplication -Name "$PackageName")
{
Remove-CMApplication -Name  "$PackageName" -Force
#Check if the supplied Application deleted or not from CM12
if (!( Get-CMApplication -Name "$PackageName"))
{
"Application " +  $PackageName + " "+ "Deleted " | Out-File -FilePath $Outputpath -Append
}
else
{
"Application " +  $PackageName + " "+ "not Deleted ,Fix the problem and delete Manually " | Out-File -FilePath $Outputpath -Append
}
}

                }

#For Driver Packages
If($PackageType -eq "Driver")
{
#Check if the supplied Driver Package exist in CM12
if ( Get-CMDriverPackage -Name "$PackageName")
{
Remove-CMDriverPackage -Name  "$PackageName" -Force
#Check if the supplied Driver Package deleted or not from CM12
if (!( Get-CMDriverPackage -Name "$PackageName"))
{
"Driver " +  $PackageName + " "+ "Deleted " | Out-File -FilePath $Outputpath -Append
}
else
{
"Driver " +  $PackageName + " "+ "not Deleted ,Fix the problem and delete Manually " | Out-File -FilePath $Outputpath -Append
}

                    }
}

#For BootImages

            If($PackageType -eq "BootImage")
{
#Check if the supplied Boot Image exist in CM12
if ( Get-CMBootImage -Name "$PackageName")
{
Remove-CMBootImage -Name  "$packagename" -Force
#Check if the supplied Boot Image deleted or not from CM12
if (!( Get-CMDriverPackage -Name "$PackageName"))
{
"BootImage " +  $PackageName + " "+ "Deleted " | Out-File -FilePath $Outputpath -Append
}
else
{
"BootImage " +  $PackageName + " "+ "not Deleted ,Fix the problem and delete Manually " | Out-File -FilePath $Outputpath -Append
}
}
}

#For OSImage
If($PackageType -eq "OSImage")
{
#Check if the supplied OS Image exist in CM12
if ( Get-CMOperatingSystemImage -Name "$PackageName")
{
Remove-CMOperatingSystemImage -Name "$packagename" -Force
#Check if the supplied OS Image deleted or not from CM12
if (!( Get-CMOperatingSystemImage -Name "$PackageName"))
{
"OSImage " +  $PackageName + " "+ "Deleted " | Out-File -FilePath $Outputpath -Append
}
else
{
"OSImage " +  $PackageName + " "+ "not Deleted ,Fix the problem and delete Manually " | Out-File -FilePath $Outputpath -Append
}

                   }
}

#For SUPPackages
If($PackageType -eq "SUP")
{
#Check if the supplied SUP Package exist in CM12
if ( Get-CMSoftwareUpdateDeploymentPackage -Name "$PackageName")
{
Remove-CMSoftwareUpdateDeploymentPackage -Name  "$packagename" -Force
#Check if the supplied SUP Package exist in CM12
if (!( Get-CMSoftwareUpdateDeploymentPackage -Name "$PackageName"))
{
"SUP " +  $PackageName + " "+ "Deleted " | Out-File -FilePath $Outputpath -Append
}
else
{
"SUP  " +  $PackageName + " "+ "not Deleted ,Fix the problem and delete Manually " | Out-File -FilePath $Outputpath -Append
}
}
}

}

 

 

To know more about Configmgr Powershell cmd-lets,refer http://technet.microsoft.com/en-us/library/jj821831(v=sc.20).aspx

If you have any difficulties with above script,download it via TechNet Gallery: http://gallery.technet.microsoft.com/SCCM-Configmgr-2012-dfbe62e6

SCCM Configmgr 2012 Powershell script How to delete multiple packages applications Driver packages what else ? is a post from: Eswar Koneti's Blog


SCCM Configmgr 2012 SSRS Report Content Status with Compliance – Console View

$
0
0

This post is an extension to my previous article to view the content status for the applications,packages,driver packages,software updates,windows images using SSRS report instead of Console.

Few people contacted me ,if there is way to get the status /Report of all packages on all Distribution points with its compliance % and other information what is available in SCCM console, when you look at monitoring-Distribution Status—>content Status and the reason for this is, performance of the console for this node is little slower .

To know the distribution status of specific application,we generally refer to monitoring node—content Status. By default this node display only 1000 rows and if you have more than 100 applications, you will have to click on ‘Click here to view a maximum of 100000 results and then search for specific application which is bit slow what i have observed.

If you have not noticed any slow performance with content status ,still its worth to take a look at the report with some extra information added like Installed,Not installed and drill down the report to Not Installed Servers etc.

reports1 SCCM Configmgr 2012 SSRS Report Content Status with Compliance – Console View

This SSRS report gives you the same columns what you see from the content status node in addition with Installed, Not Installed and Hyperlink to Not installed DP servers.

reports2 SCCM Configmgr 2012 SSRS Report Content Status with Compliance – Console View

 

Red color indicates hyperlink to failed servers.

Click on the numbers indicating in Red color (Not installed) to view the Distribution points on which, the package is failed to install .Happy troubleshooting icon smile SCCM Configmgr 2012 SSRS Report Content Status with Compliance – Console View

reports3 SCCM Configmgr 2012 SSRS Report Content Status with Compliance – Console View

Download the RDL file from TechNet library ,upload to your SSRS Folder .

Note: don't forget to change the Data Source after you upload. How to change the DataSource refer http://be.enhansoft.com/post/2010/08/26/How-to-Change-the-SSRS-Datasource.aspx

SCCM Configmgr 2012 SSRS Report Content Status with Compliance – Console View is a post from: Eswar Koneti's Blog

SCCM Configmgr 2012 Powershell script cleanup duplicate obsolete and outdated computers Via Task Scheduler

$
0
0

This post is continuation to my previous post on how to clean outdated computers from configmgr Database. More info refer , http://eskonr.com/2014/03/sccm-configmgr-2012-delete-duplicate-obsolete-records-etc-using-collections/

Through this post,i will show you to create schedule task to delete the computers from specific collections to maintain configmgr database healthy.

In my previous blog,we have seen how to create collections for duplicate,obsolete,computers not contacted to domain during X days with hardware inventory older than 30 days etc.

Note: if you are imaging the computers frequently ,you may see many duplicate/obsolete computers are you are required to cleanup those entries at regular intervals.

Creating collections is nice but how frequent do you clean these entries ? keep checking once in week or once in month to delete the entries from database to have healthy environment and high success ratio on client health when your boss ask for client health statistics?

There are configmgr Maintenance tasks that does the cleanup job for you like delete inactive,aged inventory data etc based on what task you enable. More about Maintenance tasks,refer http://eskonr.com/2012/01/configmgr-sccm-2012-site-maintenance-tasks/ and default settings for maintenance tasks http://support.microsoft.com/kb/2897050

Through this post,i will show how to create powershell script to do the removal of computer records from specific collections (you can have many collections that contains out dated computers with different criteria) and empty the collection on scheduled basis.

 

I have captured few lines of code from David blog http://www.david-obrien.net/ to get site code,site server name etc instead of providing them manually.

Download the script from TechNet Gallery http://gallery.technet.microsoft.com/SCCM-Configmgr-2012-1446ec07

Script function: It takes the collectionIDs as input parameter what you supply while running the script,check if the collection Exist ,check if the collection is not empty  and then perform removal of computer Objects.

Before removal of computer objects ,script will write computer objects to txt file for reference incase you need check later.

After you download the script,put it in either share folder or on local server.

PS:You don't have to make any changes to the script ,just get the collection's which you want to cleanup.

Create Task scheduler with recurring weekly or monthly at your convenience,get help from http://windows.microsoft.com/en-sg/windows/schedule-task#1TC=windows-7 .

After you create Task scheduler,open the properties of Task and go to Action Tab,select the Actions ,click on Edit.

image thumb SCCM Configmgr 2012 Powershell script cleanup duplicate obsolete and outdated computers Via Task Scheduler

For program,/Script: type PowerShell.exe ,and for Arguments (Optional): type -command "& 'G:\SCCM Tools\delete-resources-from-collection.ps1' 'PRI0001E' ,'PRI00020'

where 'G:\SCCM Tools\delete-resources-from-collection.ps1: is powershell script what we created earlier and PRI0001E,PRI00020 are the collections that i have to cleanup. If you have more collections ,just append the existing command like with ,’collectionID’.

Actions Tab:

image thumb1 SCCM Configmgr 2012 Powershell script cleanup duplicate obsolete and outdated computers Via Task Scheduler

Make sure you run the task with right permissions on the database .you can change the account name to run the task from General Tab:

image thumb2 SCCM Configmgr 2012 Powershell script cleanup duplicate obsolete and outdated computers Via Task Scheduler

run the task,wait until it finishes. Go back your script location,you will see .txt file created with script ran date:

image thumb3 SCCM Configmgr 2012 Powershell script cleanup duplicate obsolete and outdated computers Via Task Scheduler

The txt file contains list of computers which are removed from the specific collection.

Hope if helps for someone who wants to keep database active without outdated Clients ;).

If you want to know what causes the client become Inactive ,refer http://www.david-obrien.net/2014/04/12/configure-client-activity-settings-configmgr/

SCCM Configmgr 2012 Powershell script cleanup duplicate obsolete and outdated computers Via Task Scheduler 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

Configmgr 2012 summary of Patch Compliance status Report month wise for specific Collection SSRS report

$
0
0

Last year i wrote blog post on summary of patch compliance status report --month wise and am sure ,it would helped many of Configmgr guys who are responsible for patching and to let security /management know whether they met the company SLA for each month or not.

I have received couple of comments for my previous blog post ,asking for ,is there way to limit this report to specific collection instead of all active clients .My previous report get the compliance status for all active clients in Configmgr irrespective of ,whether you manage the patching for all clients or not.

There are cases ,where in,you are not supposed to patch some of the clients (workstations\servers) for different reasons and you are requested to get the patch compliances only for specific clients.

This blog post is about,how to limit the report to specific collection.

 

image thumb2 Configmgr 2012 summary of Patch Compliance status Report month wise for specific Collection SSRS report

Download the RDL file from TechNet gallery ,upload to your SSRS report folder.

Don't forget to change the Data Source after you upload. If you want to know How to change the DataSource, refer http://be.enhansoft.com/post/2010/08/26/How-to-Change-the-SSRS-Datasource.aspx

Configmgr 2012 summary of Patch Compliance status Report month wise for specific Collection SSRS report is a post from: Eswar Koneti's Blog

SCCM Configmgr 2012 R2 Cumulative Update 3 – KB2994331 Available for Download

$
0
0

Microsoft Released 3rd Cumulative Update CU3 yesterday for System Center Configuration Manager 2012 R2 with lot of fixes,powershell changes and some of them have been modified/new stuff added.

With this update,you can set a client to use a specific management point(s) by setting a registry value ,which is kind of Location Aware icon wink SCCM Configmgr 2012 R2 Cumulative Update 3 – KB2994331 Available for Download ,More info ,read Justin Chalfant's  blog

This update replaces Cumulative Update 2 for System Center 2012 R2 Configuration Manager.If you have not applied CU1 or CU2 yet on your Configuration manager 2012 R2,you can directly go with CU3.

Download the Cumulative Update 3 (ConfigMgr_2012_R2_CU3_KB2994331_ENU – 96.8MB) from http://support.microsoft.com/kb/2994331 

Description of Windows PowerShell changes in CU3 http://support.microsoft.com/kb/2999304

About Cumulative Update documentation,creation of collection ,refer http://technet.microsoft.com/en-us/library/jj553405.aspx

Restart information:

You do not have to restart the computer after you apply this update.

Note :  It is recommend to close the Configuration Manager Administrator Console before you install this update.

This update is applicable to:

Central Administrative site (CAS)

Primary Site(Stand Alone)

Primary Site(Hierarchy)

Secondary Site

SMS Provider

Configuration manager console

Client

Version Changes:

Admin Console Version :5.00.7958.1401

Configmgr Client Version:5.00.7958.1401

No Version change to Site System(you still have R2 Version on the Site properties) :5.00.7958.1000

So what are issues that are fixed and functionality that is updated in Cumulative Update 3 (CU3) ?

  1. Software Distribution and application management
  2. Wake On LAN
  3. Migration
  4. Company Portal
  5. Admin Console
  6. Mobile Devices
  7. Operating System Deployment
  8. Client
  9. Site servers and systems
  10. Windows Powershell
  11. Management point communications
  12. Operating Systems other than windows
  13. Software Updates

How to determine the installation status of this cumulative update:

This cumulative update changes the following Configuration Manager version numbers and installation properties.
The CULevel value is located under the following registry subkey:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SMS\Setup 
The CULevel value is set to 3 for Cumulative Update 3.

image thumb3 SCCM Configmgr 2012 R2 Cumulative Update 3 – KB2994331 Available for Download

Admin Console Version :5.00.7958.1401

image thumb4 SCCM Configmgr 2012 R2 Cumulative Update 3 – KB2994331 Available for Download

 

Client Version:5.00.7958.1401

image thumb5 SCCM Configmgr 2012 R2 Cumulative Update 3 – KB2994331 Available for Download

 

In Next post,i will show you how to install this update and upgrade clients with CU3.

SCCM Configmgr 2012 R2 Cumulative Update 3 – KB2994331 Available for Download is a post from: Eswar Koneti's Blog

How to Install and upgrade clients to Configmgr 2012 R2 Cumulative Update 3 (CU3)

$
0
0

In this post, i will discuss about how to install CU3 update and  How to Upgrade clients to CU3 with query based collections.

Installation of CU3 is not so difficult ,it is straight forward .If you need step by step with screenshots ,you can refer my previous post http://eskonr.com/2014/03/how-to-install-configmgr-2012-r2-cu1-part-1/ 

So,as i discussed in my previous post about the CU3 update : it contains many bug fixes with respect to Powershell and other Site server and client functionalities including 3 important new changes to this update.

1) you can now assign the clients to Specific Management point (kind of restrict the client to always choose specific MP but incase of MP failure,client will be Unmanaged ,there is no fallback). Justin had explained in nice way ,more info about Management point affinity http://blogs.technet.com/b/jchalfant/archive/2014/09/22/management-point-affinity-added-in-configmgr-2012-r2-cu3.aspx

2) Child sites may perform partial WSUS synchronization when the primary is under heavy load. This partial synchronization occurs when the WSUS Synchronization Manager component on a primary site begins synchronization before WSUS has completed processing all updates metadata.

3) The following operating systems are added to the list of supported platforms for software distribution:

  • Debian 7 (x86)
  • Debian 7 (x64)
  • Red Hat Enterprise Linux 7 (x64)
  • CentOS 7 (x64)
  • Oracle 7 (x64)

So before we start,try downloading the CU3 update from http://support.microsoft.com/kb/2994331 and extract it.

After you have the file,try to run with file with administrative permissions.

 

image thumb6 How to Install and upgrade clients to Configmgr 2012 R2 Cumulative Update 3 (CU3)

As you can see from above screen,you can install CU3 on CAS,Primary,Secondary,SMS Provider and Console.

The Installation procedure is straight forward , but make sure you don't have any reboot pending while installing this CU ,also close any administrative consoles open which are connected to the SMS provider.

after you click next,next next,you see summary window:

image thumb7 How to Install and upgrade clients to Configmgr 2012 R2 Cumulative Update 3 (CU3)

Log will be created under C:\windows\temp\cm12-r2cu3-kb2994331-x64-enu.log with CU3 installation progress.

image thumb8 How to Install and upgrade clients to Configmgr 2012 R2 Cumulative Update 3 (CU3)

after a while,you see success

image thumb9 How to Install and upgrade clients to Configmgr 2012 R2 Cumulative Update 3 (CU3)

Check your Console if it is updated to Right version or not.

image thumb10 How to Install and upgrade clients to Configmgr 2012 R2 Cumulative Update 3 (CU3)

From Registry : HKLM\software\Microsoft\SMS\setup: CULevel =3

image thumb11 How to Install and upgrade clients to Configmgr 2012 R2 Cumulative Update 3 (CU3)

After you are done with the installation of CU3, you are need to distribute the CU3 packages (Console,Server,X86 and X64) to Distribution points .

image thumb12 How to Install and upgrade clients to Configmgr 2012 R2 Cumulative Update 3 (CU3)

and next ,create collections to upgrade the clients which are lower version < CU3 version but >=R2 to CU3.

I did not discuss about installation of CU3 on secondary site servers on this blog .If you are having multiple secondary sites,you can create collection by referring to my old blog post or you can install CU3 patch called : R2 CU3 – Server Update package manually.

Note: you can install this Update only on clients which are running on CM12 R2 + any Cumulative update but not on any other versions.

Now we need to upgrade clients to CU3 version from Configmgr 2012 R2 + CU1 or CU2

lets try creating collections for X86,x64 and Console :

Collection for R2 CU3-Console Update:

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_ADD_REMOVE_PROGRAMS on SMS_G_System_ADD_REMOVE_PROGRAMS.ResourceID = SMS_R_System.ResourceId where SMS_G_System_ADD_REMOVE_PROGRAMS.DisplayName = "System Center 2012 R2 Configuration Manager Console"

Collection for R2 CU3 Client x86:

This will list all configmgr Clients with criteria : should include X86,Client=1,Client <CU3 (5.00.7958.1401) and client version >= R2( 5.00.7958.1000).

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 inner join SMS_G_System_SMS_ADVANCED_CLIENT_STATE on SMS_G_System_SMS_ADVANCED_CLIENT_STATE.ResourceID = SMS_R_System.ResourceId where SMS_G_System_COMPUTER_SYSTEM.SystemType = "x86-based PC" and SMS_G_System_SMS_ADVANCED_CLIENT_STATE.DisplayName = "CCM Framework" and SMS_G_System_SMS_ADVANCED_CLIENT_STATE.Version >= "5.00.7958.1000" and SMS_G_System_SMS_ADVANCED_CLIENT_STATE.Version < "5.00.7958.1401"

Collection for R2 CU3 Client X64:

This will list all configmgr Clients with criteria : should include X64,Client=1,Client <CU3 (5.00.7958.1401) and client version >= R2( 5.00.7958.1000).

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 inner join SMS_G_System_SMS_ADVANCED_CLIENT_STATE on SMS_G_System_SMS_ADVANCED_CLIENT_STATE.ResourceID = SMS_R_System.ResourceId where SMS_G_System_COMPUTER_SYSTEM.SystemType = "x64-based PC" and SMS_G_System_SMS_ADVANCED_CLIENT_STATE.DisplayName = "CCM Framework" and SMS_G_System_SMS_ADVANCED_CLIENT_STATE.Version >= "5.00.7958.1000" and SMS_G_System_SMS_ADVANCED_CLIENT_STATE.Version < "5.00.7958.1401"

 

image thumb13 How to Install and upgrade clients to Configmgr 2012 R2 Cumulative Update 3 (CU3)

Now you have  packages and  collections ready for deployment .Deploy the CU3 package to respective Collection to upgrade the clients to CU3 level.

Monitor the report for the the Deployment status .

Happy Upgrade icon smile How to Install and upgrade clients to Configmgr 2012 R2 Cumulative Update 3 (CU3) ---

How to Install and upgrade clients to Configmgr 2012 R2 Cumulative Update 3 (CU3) is a post from: Eswar Koneti's Blog

SCCM Configmgr 2012 Software Update Scan error Group policy settings were overwritten by a higher authority Error Code 0x87d00692

$
0
0

Started working with New Customer since few weeks ago ,running Configmgr 2012 R2 CU1 ,yet to upgrade to Latest CU . since few days,I have been running lot of SQL Queries ,reports checking the SCCM client health and analyzing the existing setup for some improvements. For everything what ever you do in SCCM,the first and foremost is ,client health,otherwise ,there is nothing for you to manage  wlEmoticon winkingsmile SCCM Configmgr 2012 Software Update Scan error Group policy settings were overwritten by a higher authority Error Code 0x87d00692.

Using reports/ collections, cleanup lot of old records ,fix SCCM client issues using scripts and clients are now at good success rate (>95%).

Even though, client health success rate is >95% ,for some reason,Software update scan is lower than 80% and that causes the SUP compliance failed to meet the SLA.

I started running the following SQL Query on SSMS (SQL Server Management Studio) to see how many computers are succeeded with software update scan and how many are not.

There is table called v_UpdateScanStatus,  that stores the information about last scan state,lastscanpackagelocation ,WUAgent etc.

By running the following query, you get count of clients for each lasterrorcode that reported to CM12.

select uss.LastErrorCode,count(*) [Total] from v_UpdateScanStatus uss
group by uss.LastErrorCode

I have got lot many computers with error code –2016409966 .Straightaway went to CMtrace log and find what this error means.

using CTRL+L from the log viewer, it tells me ‘Group policy conflict’ which means,there is something wrong applying the GPO .

image thumb SCCM Configmgr 2012 Software Update Scan error Group policy settings were overwritten by a higher authority Error Code 0x87d00692

Ran below SQL Query to pick one computer with above error code(–2016409966 ):

select sys.name0 from v_r_system sys,v_updatescanstatus uss
where sys.resourceid=uss.resourceid
and uss.LastErrorCode='-2016409966'

connect to computer ccm\logs and check WUAHandler.log.  Below is snippet from the log.

image thumb1 SCCM Configmgr 2012 Software Update Scan error Group policy settings were overwritten by a higher authority Error Code 0x87d00692

The above errors leads to me to think about GPO if there is any such configured but after checking with Server Team ,there is no such group policy configured.

Some additional information that refers to above problem talking about GPO. http://technet.microsoft.com/en-us/library/bb735866.aspx and http://blogs.technet.com/b/smsandmom/archive/2008/12/02/configmgr-2007-wuahandler-log-failed-to-add-update-source-for-wuagent-error-0x80040692.aspx

I then ran RSOP /GPresult on the problem computer to see if there is any such GPO configured but there is nothing via AD Except local group policy configured with WSU entries.

Nothing solves my problem.

What next ?  there is no GPO exist that configures the WSUS Settings and Configmgr suppose to configure these WSUS Settings on the client but that’s not happening.

Recently I come across article that solves the software update sync by deleting the registry.pol file from C:\Windows\System32\GroupPolicy\Machine,even though, the article talks about different software update scan error.

I then thought of giving a try ,by deleting the registry.pol file from C:\Windows\System32\GroupPolicy\Machine as described in the article and initiate software update scan cycle /Software update deployment evaluation cycle action.

review the log if that succeeded or not ,Still the error persists.What next ?

I then restarted the SMS Agent host on the client to download all the policies ,wait a minute and then initiate software update scan cycle /Software update deployment evaluation cycle action.

during the initiation of software update scan cycle,Registry.pol file will be recreated with WSUS settings.

image thumb2 SCCM Configmgr 2012 Software Update Scan error Group policy settings were overwritten by a higher authority Error Code 0x87d00692

Tried the above solution on 2 more computers to see if it works or not, sync succeeded.

Summary:

1.Delete Registry.pol from C:\Windows\System32\GroupPolicy\Machine .

2. Restart SMS agent host service from services.msc to download the policies again.

Fix can be automated by creating script that does the deletion of file ,restart SMS agent host and initiate the software update scan and deployment evaluation cycle.

I would not say,the above solution will work on all scenarios with above error code but you need to check all the possible solutions to solve the problem.

Hope it helps!

SCCM Configmgr 2012 Software Update Scan error Group policy settings were overwritten by a higher authority Error Code 0x87d00692 is a post from: Eswar Koneti's Blog


SCCM Configmgr 2012 How to Create Collection to get list of computers from Users OU using UDA

$
0
0

I had a requirement to deploy patches (part of patch testing) to Department (group of user around 200+) who resides in one OU in Active Directory .The computers used by them are different due to their work nature and they keep moving with different computers (with different apps). I need to get list of computers used by these 200+ users from specific Organizational unit in Active Directory.

With CM12,feature called User Device Affinity --associating a user with one or more specified devices and it eliminates the need to know the names of a user’s devices .More info about UDA ,refer http://technet.microsoft.com/en-us/library/gg699365.aspx

How to do I use this feature (UDA) to get computers that are associated with users from specific OU ?

Long ago ,I posted Collection query to get list of computers with primary user (UDA) is NULL means http://eskonr.com/2014/03/sccm-configmgr-2012-collection-for-computers-with-primary-user-uda-is-null/

I use instance called SMS_UserMachineRelationship to get the User machine relationship.

Create a device collection ,limit to whatever collection you want and then add query rule ,paste the below query and click ok.

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   JOIN SMS_UserMachineRelationship ON SMS_R_System.ResourceID=SMS_UserMachineRelationship.MachineResourceID   JOIN SMS_R_User ON SMS_UserMachineRelationship.UniqueUserName = SMS_R_User.UniqueUserName
WHERE   SMS_UserMachineRelationship.RelationActive=1 AND   SMS_R_User.UserOUName = "ESKONR.COM/BLG/WF/GIM"

Change the bold letters to the required OU.

ESKONR.COM/BLG/WF/GIMContains list of users and we are retrieving the computers which are associated with UDA.

Hope it helps!

SCCM Configmgr 2012 How to Create Collection to get list of computers from Users OU using UDA 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 Patch Report – OU based Compliance status per Update Group

$
0
0

Question asked in the forum ,if it is possible to get patch compliance /deployment status report (installed,required,not applicable and unknown) based on OU for specific software update group instead of collection.

Long ago,I posted patch compliance report for specific collection month wise but this report is just overall compliance for each month ,how the patch installation went.

This report will give you count of computers with its compliance/ deployment status (installed,required,not applicable and unknown) from specific OU per Update Group.

It took few hours for me to identify the right views from excel spread sheet that store the information about software update group and its compliance results.

There are various Patch compliance /updates views available in CM12 but you need to identify which are the ones that you require to create report.

For this report, I need to know the view for software update group and its compliance status info.

Software update group info stored in v_AuthListInfo and compliance results stored in v_Update_ComplianceStatusAll

Download the SSRS Report from TechNet Gallery ,upload to your SSRS Folder ,change the Data source and run the report.

Report:

image thumb1 SCCM Configmgr 2012 Patch Report   OU based Compliance status per Update Group

 

You need to look at the unknown status clients since they did not report anything about the software update scan ,could be that software update component not functioning correctly or for different reasons.

In my next report,I will show you how to get the list of clients (Linked report) with status required /unknown.

SCCM Configmgr 2012 Patch Report – OU based Compliance status per Update Group is a post from: Eswar Koneti's Blog

SCCM Configmgr 2012 Software Update Scan failed OnSearchComplete – Failed to end search job. Error = 0xc8000222

$
0
0

Trying to run the patch compliance report based on OU per Software update Group (For October 2014) ,report is available to download from http://eskonr.com/2014/11/sccm-configmgr-2012-patch-report-ou-based-compliance-status-per-update-group/ . Report shows some good success rate but still there are computers with unknown status .Unknown status means,these clients do not report anything to CM DB whether they required patches or not required ,no compliance information at all.

I pick one computer randomly and start looking at Software Update logs on the client side . The software update logs that helps to identify the scan issues are WUAHandler.log (CCM\logs),windowsupdate.log(%Windir%)

WUAHandler.log log shows ,client started to search for windows updates but it failed with error code 0xc8000222.

Error message : OnSearchComplete - Failed to end search job. Error = 0xc8000222.

Scan failed with error = 0xc8000222.

To know the description of this error code,tried error lookup from the CMtrace log ,but that doesn’t give me any clue.

image thumb2 SCCM Configmgr 2012 Software Update Scan failed OnSearchComplete   Failed to end search job. Error = 0xc8000222

The next log to look at is ,Windowsupdate.log  ,to know more about windowsupdate.log and how to read it,please refer https://support.microsoft.com/kb/902093?wa=wsignin1.0 and http://www.updatexp.com/windows-update-log.html

Windowsupdate.log errors out with message : DtaStor    FATAL: Failed to initialize datastore, error = 0xC8000222

It seems to like,the datastore or  other related component from C:\windows\softwaredistribution folders are corrupted.

image thumb3 SCCM Configmgr 2012 Software Update Scan failed OnSearchComplete   Failed to end search job. Error = 0xc8000222

 

Solution :

The solution for this issue ,is to stop windows update service,rename software distribution folder,start windows update service and then run the software update scan action.

1. Open the CMD (run as administrator) ,type net stop wuauserv to stop the windows update service

2.Type rename C:\windows\softwaredistribution softwaredistribution.old to rename

3.Type net start wuauserv to start windows update service

4.Initiate software update scan cycle from Configuration manager applet .

To run action 4,there are various scripts/tools available,like wmic,right click tools,sccm client center etc.

You can also script this solution to perform on bulk clients.

After you run action 4,monitor WUAhandler.log ,should see sync status with success.

image thumb4 SCCM Configmgr 2012 Software Update Scan failed OnSearchComplete   Failed to end search job. Error = 0xc8000222

 

Hope it helps!

SCCM Configmgr 2012 Software Update Scan failed OnSearchComplete – Failed to end search job. Error = 0xc8000222 is a post from: Eswar Koneti's Blog

SCCM Configmgr 2012 SSRS Report Overall Compliance Per Update Group Per Collection will help to troubleshoot the clients

$
0
0

Over the past few weeks,I posted several patch Compliance reports because ,the default report do not meet the requirements what I need thus ,created custom reports that would help the team to analyze the patch Statistics and troubleshooting non compliant machines.

Software update compliance report month Wise: http://eskonr.com/2013/11/sccm-configmgr-2012-patch-compliance-summary-report-month-wise/

Software update Compliance report month Wise for Specific Collection:http://eskonr.com/2014/09/configmgr-2012-summary-of-patch-compliance-status-report-month-wise-for-specific-collection-ssrs-report/

Software update compliance report Per Update Group Per OU: http://eskonr.com/2014/11/sccm-configmgr-2012-patch-report-ou-based-compliance-status-per-update-group/

Software Update Scan Results: http://eskonr.com/2014/10/sccm-configmgr-2012-report-get-the-status-of-software-update-scan-results/

Recently ,while running the Default patch compliance report Compliance 1 - Overall compliance from category called Software Updates - A Compliance ,it gives me the count of clients with  Compliant ,Non-compliant ,Compliance state unknown for selected  Software update group and collection . This report looks good with overall compliance but the linked report for non-compliant and  Compliance state unknown do not give much information to start or analyze before you take any action.

It provides the basic information about the client like  computer name,last logged on user,assigned site and client version ,but this information do not really help you  to start troubleshooting why it is non-complaint .

I feel that, It would be good to have some additional information like last logged on time,OS,last hardware inventory,last software update scan ,client is Yes or No and other important information.

Overall Compliance (Default report):                                            Linked report for Non-Complaint(Default Report):

image thumb5 SCCM Configmgr 2012 SSRS Report Overall Compliance Per Update Group Per Collection will help to troubleshoot the clients                        image thumb6 SCCM Configmgr 2012 SSRS Report Overall Compliance Per Update Group Per Collection will help to troubleshoot the clients

Having this additional information about client in linked reports will help the team to analyze whether SCCM client is having problem or issue with SUP component or offline line since long time ?

I tried modifying the default report but I find some difficulties with functions and other stuff used in the report.

So ,I thought of creating a new report with my requirement and Yes,this report runs faster than the Default report.

Overall Compliance (Custom report):

image thumb7 SCCM Configmgr 2012 SSRS Report Overall Compliance Per Update Group Per Collection will help to troubleshoot the clients

The blue color indicates the Linked report to get list of clients with specific status.

Linked report : list clients with specific Status (Custom Report):

image thumb8 SCCM Configmgr 2012 SSRS Report Overall Compliance Per Update Group Per Collection will help to troubleshoot the clients

Download the RDL files from TechNet Gallary ,uploaded to your SSRS Folder (both reports should be in same folder) ,change the Data Source ,run the report.

Enjoy!

SCCM Configmgr 2012 SSRS Report Overall Compliance Per Update Group Per Collection will help to troubleshoot the clients is a post from: Eswar Koneti's Blog

SCCM Configmgr How to Import Export Migrate upload reports to CM12 easy way using ReportSync Tool

$
0
0

Did you ever had difficulties importing, exporting or migrating the reports from Configuration manager 2007  (SSRS ) to Configuration manager 2012 ? If so,how do you migrate reports to Configmgr 2012 ?

To get the SSRS Reports from Configmgr 2007 to Configmgr 2012,you will have to download each report (.RDL) manually and upload it your Configmgr 2012 SSRS Folder. If you have bunch of reports ,what do you do ? Doing this task manually is tedious and involves lot of time.

This blog post discuss about how to migrate reports ,download,upload your custom reports to Configmgr SSRS folder.

During my Search ,I found a tool called ReportSync that does the following activities .

  • Sync reports between two SSRS servers.
  • Download RDL Files from SSRS  to local PC.
  • Upload RDL files to a SSRS server
  • Attach datasources automatically on upload(Data source name given in the report must exist on server)

I use this tool oftenly while working with SSRS Reports since it gives me the flexibility to upload multiple reports to specific folder in SSRS. (Default via SSRS browser allows only one at a time).

Download the tool from https://code.google.com/p/reportsync/

Run the Tool

image thumb9 SCCM Configmgr How to Import Export Migrate upload reports to CM12 easy way using ReportSync Tool

This tool contains 2 fields 1) Source SSRS Web service and 2 ) Destination SSRS Web service.

As I said before,you can use this tool download SSRS Reports to local Drive,migrate reports between the SSRS Servers,upload the reports from Drive.

If you want to download the Reports (.RDL) files from your SSRS server (Configmgr 2007 or 2012 ),enter the source URL ,User hat has permissions to connect to SSRS,Password in Source URL Web Service and click on Load.

How to get the right SSRS URL that has been configured in your environment ?

From your Configmgr server or SQL Server,Launch Reporting services Configuration manager tool and look for Web service URL

image thumb10 SCCM Configmgr How to Import Export Migrate upload reports to CM12 easy way using ReportSync Tool

After you run the tool ,It takes few seconds or minute to load the reports from your SSRS Folder .

image thumb11 SCCM Configmgr How to Import Export Migrate upload reports to CM12 easy way using ReportSync Tool

Select the report that you want ,provide the local path to store these reports (.RDL files) and click on Download.

Each category what you see in this tool will be created as Folder in yours local Path.

Reports folder look like this :

image thumb12 SCCM Configmgr How to Import Export Migrate upload reports to CM12 easy way using ReportSync Tool

You can also try to upload your customized reports to Destination server ,sync and do other functions with this tool.

Hope it helps!

SCCM Configmgr How to Import Export Migrate upload reports to CM12 easy way using ReportSync Tool is a post from: Eswar Koneti's Blog

SCCM Configmgr 2012 How to get list of VMs running on each Hyper-V server in your environment?

$
0
0

I got a request asking for “is there a way to find out the VM’s that are configured on each Hyper-V server ,if so ,how to I generate a report with its Base/Host Name and its VMS running on it with its possible VM setting info “.

hmm..Getting VM’s that are running on Hyper-V and its VM properties ?  okay,if the VMs are running on hyper-V ,then these should be registered in WMI Name space .

I then Started digging to find some information about Hyper-V and its stored location in WMI .

Couple of blogs that I come across during my search.

http://blogs.msdn.com/b/virtual_pc_guy/archive/2012/05/30/the-v2-wmi-namespace-in-hyper-v-on-windows-8.aspx

and http://msdn.microsoft.com/en-us/library/hh850319(v=vs.85)

https://blueprints.launchpad.net/neutron/+spec/hyper-v-wmi-v2

From the above blogs,I captured some important information which will be be helpful:

if you are running VMS on Windows 8 or server 2012,the name space for the VM’s located is  called V2 Name Space (root\virtualization\v2),to know more about why V2,read this blog .

If you are running VMs on server 2003 or server 2008, the Name Space for the VM’s located is called V1 (root\virtualization).

In short: OS <= 2008 R2: V1 (root\virtualization) , OS >= 2012: V2 ( ).

This request can be achieved using Configuration manager 2012 and I think its not that difficult for someone who already experienced with importing /Adding Custom MOF properties into Hardware inventory settings.

Before I jump into the configuration part ,I need to get/verify what information is stored in WMI name space for the VM’s. Refer this blog to know attribute values from Msvm_ComputerSystem class.

From the existing values,I choose to get important values like Elementname,Caption,Enabledstate,Installdate,Enabledefault,TimeOfLastStateChange,TimeOfLastConfigurationChange.

Run the below powershell query ,to see its values for each VM:

gwmi -namespace "root\virtualization\v2" MSVM_ComputerSystem |select elementname,caption,
enabledstate,installdate,enabledefault,TimeOfLastStateChange,TimeOfLastConfigurationChange |Out-GridView

I get something like below on my windows 8.1 machine:

image22 thumb SCCM Configmgr 2012 How to get list of VMs running on each Hyper V server in your environment?

we have now identified what values we want to be present in SQL/SSRS Report.

Having this information in place,one would think ,we can get this information by enabling the custom inventory class from root\virtualization\v2  Msvm_ComputerSystem but if you configure this way ,client will fail to retrieve the information from WMI and you end up with following error from inventoryagent.log

error msg: Unknown error encountered processing an instance of class Msvm_ComputerSystem: 80041001

image thumb SCCM Configmgr 2012 How to get list of VMs running on each Hyper V server in your environment?

As per the configurations from client device settings,it is trying to run query SELECT __CLASS, __PATH, __RELPATH, CreationClassName, Name, ElementName, EnabledState, InstallDate, TimeOfLastConfigurationChange, TimeOfLastStateChange FROM Msvm_ComputerSystem against namespace root\virtualization\v2 and is failing to do so.

image thumb1 SCCM Configmgr 2012 How to get list of VMs running on each Hyper V server in your environment?

Thanks to Mof Moster (Sherry Kissinger) for providing the solution to make this working.

Solution :

In order to get the VM info Into CM Database,we need to create custom name space in WMI (cm_msvmcomputersystem) ,Pipe the vm info from  Msvm_ComputerSystem and then try import that info CM DB using MOF file.

This setup requires you to create Configuration Items ,import the MOF file into Client Device Settings and Run report.

Note :This solution will work for hyper-V running server 2008/R2,windows 8/8.1,server 2012/R2 with namespace root\virtualization or root\virtualization\v2.

If you have any other namespace that store the VM’s ,you may need to edit the Powershell Script in CI,also the MOF file.

Download the Attached CI Cab file,MOF file and SQL Report with instructions from here

on your client ,refresh the machine policy,you would see ,the CI as compliant.

image thumb2 SCCM Configmgr 2012 How to get list of VMs running on each Hyper V server in your environment?

check if the namespace (cm_msvmcomputersystem) created in WMI or not ?

image thumb3 SCCM Configmgr 2012 How to get list of VMs running on each Hyper V server in your environment?

Run the Inventory action ,should see something like below :

image thumb4 SCCM Configmgr 2012 How to get list of VMs running on each Hyper V server in your environment?

wait for a while before site server process this information.

SQL Report:

image thumb5 SCCM Configmgr 2012 How to get list of VMs running on each Hyper V server in your environment?

Hope It Helps!

SCCM Configmgr 2012 How to get list of VMs running on each Hyper-V server in your environment? is a post from: Eswar Koneti's Blog


Configmgr 2012 query how to get list of applications that requires approval

$
0
0

This is quick post on how to get list of Applications that are deployed to users requires approval . more Details ,refer https://social.technet.microsoft.com/Forums/en-US/644ff540-4eb0-49b6-97f4-094cada74c6a/viewing-deployments-that-require-approval?forum=configmanagerapps

Run the following SQL query to know apps that require Approval.

select app.displayname [Application Name],app.manufacturer [Manufacturer],app.numberofdeviceswithapp [No of Devices with this App],app.numberofuserswithrequest [No of Requests] from fn_ListApplicationCIs(1033) app,
v_UserTargetedApps uta
where uta.ci_id=app.ci_id
and uta.requireapproval=1
order by app.displayname

fn_ListApplicationCIs(1033) contains other important information ,so you can add all of them here if you need. To know what info ,fn_ListApplicationCIs(1033) has ,just run select top 5 * From fn_ListApplicationCIs(1033) ,gives you the first 5 rows .

Reference: http://myitforum.com/myitforumwp/2013/01/11/query-configmgr-database-for-applications-that-require-admin-approval/

Configmgr 2012 SQL Views http://eskonr.com/2013/10/download-sccm-configmgr-2012-r2-sql-views/

Configmgr 2012 query how to get list of applications that requires approval is a post from: Eswar Koneti's Blog

How to Uninstall Microsoft Office Security Updates using Configuration manager 2012

$
0
0

There are multiple posts online, discuss about how to uninstall Windows updates if something goes wrong with deployed patches, but I did not find anything related to Office security updates.

In this post,I will discuss about, how to remove the Microsoft Office Updates using Configmgr /Configuration manager 2012.

Background: With the release of December 2014 patches, A Bulletin ID (MS14-082- KB2726958 )related to Microsoft Office 2013  caused the macros in Excel 2010 spreadsheets stop working /breaks the macros to work.

More information about this issue was discussed on the TechNet forum https://social.technet.microsoft.com/Forums/en-US/17254fab-9ecd-49e7-bab7-f76906167d4a/office-2013-update-kb-2726958-problem?forum=officeitpro

When user tries to execute the Excel that has Macros/VBA ,it give's error code ‘Run Time Error ‘438’’  Object doesn’t no support this property or method.

image

Uninstalling the update Security Update for Microsoft Office 2013 (KB2726958) 32-Bit Edition from add and remove programs returns the Excel to normal and all works good.

image

Microsoft had also released the fix for this problem ,can be found here ,it basically remove the files with extension ".exd" from %temp% and other folders ,but for some reason,this fix did not work for all users .

I decided to remove this patch from all the installed computers to avoid further tickets to service desk.

Since this is MS Office security updates ,you cannot use the wusa.exe to uninstall. wusa.exe is used for Windows security updates.

What other methods to try ,that will remove the specific patche on windows computers ?

Here is the command line to uninstall Microsoft Office security updates .

msiexec /package {ProductID} /uninstall {PatchID} /qn /quiet /norestart

ProductID—>Product ID of the Windows update component for Ex: Microsoft Office ,Microsoft Visio,Microsoft Lync etc.

PatchID—> PatchID is self explanatory

How do I find the Product ID and PatchID before I run the command line using Configuration manager or other methods?

If you are running configuration manager 2012, simply go to devices,find the computer and do resource explorer for that computer.

image

Right click on the Lync product ID row and click copy the Product ID information.

Update for Microsoft Office 2013 (KB2817626) 32-Bit Edition    {90150000-012C-0000-0000-0000000FF1CE}_Office15.LYNC_{BC369230-B0E0-4BB0-82D6-E93196060BFA}        Microsoft

So from above,you have got both product ID and Patch ID for Lync update (KB2817626).

To uninstall this Update ,replace the Product ID and Patch ID in the command line:

Uninstallation command line syntax:

msiexec /package {90150000-012C-0000-0000-0000000FF1CE} /uninstall {BC369230-B0E0-4BB0-82D6-E93196060BFA} /qn /quiet /norestart

If you have multiple patches causing trouble,create a batch file and supply the command line in each row.

Create a standard package using the batch file and deploy this to all workstations (irrespective of whether this update installed or  not) .if the update did not install on any of the computer,it will simply ignore it.

Monitor Client log execmgr.log if the command successfully executed or not.

 

image

 

How to find the product ID and Patch ID instead of using Configuration manager 2012 ? (if the patch inventory not reported to CM Site successfully) ?

You can get these values from Registry on the computer that have these patches installed.

Go to registry and drill down to HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\ (if 64bit) else HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall

and use find option to search for patch with display name Security Update for Microsoft Office 2013 (KB2726958) 32-Bit Edition (you see from add and remove programs or from SCCM Console)

image

Look for the uninstalstring ,you can see the product ID and patch ID information.

you may wonder,why cant I use the uninstall string from registry  .You can use ,but this command line varies based on the OS architecture .I Prefer to use the msiexec method works on all platforms.

Hope it helps!

Download SCCM Configmgr 2012 R2 CU3 Status messages documentation

$
0
0

Status messages generated by Configmgr Components report its activity and problems when occurs .These status messages are primarily used to indicate the health of Configmgr 2012 Components .

While ago, John Nelson posted blog about ,Status Messages Documentation for Configmgr 2007 SP2 available here but after that ,haven't found any status message documentation for Configuration manager 2012.

There was a discussion recently on the Configmgr forum email list  about status message document  for CM12 R2 CU3 and Sherry Kissinger share the documentation to the group which am posting it here for rest of the world.

Saud from Microsoft posted PowerShell script that will help you to extract these status messages out of box using Configmgr 2012 SDK ,read the post on http://blogs.technet.com/b/saudm/archive/2015/01/20/enumerating-status-message-strings-in-powershell.aspx

This will help you to troubleshoot CM12 R2 CU3 Site Components and understand how Configmgr 2012 works .

image

Download the spreadsheet from TechNet Gallary.

SCCM Configmgr 2012 SSRS Patch Compliance Report Per Collection Per Update Group

$
0
0

In order to check the Patch compliance/Deployment status,there are some default reports ,one of the widely used report to know the compliance status for specific Update group on specific collection is –>Compliance 1-Overall Compliance.

But the sub report /drill down/Linked report to view the list of non complaint computers do not provide you the required information for troubleshooting clients like its last hardware inventory, os, last logged on user, last loggedon timestamp etc.For this reason,I created custom SSRS Report that will help me to get some nice statistics and extra client information .

Last month I did post about Software update Patch Compliance report Per OU Per Update Group to get the patch compliance status based on OU.

This time ,I would like to share another Software Update Compliance report per Collection Per Update Group with linked report to list non-compliant computers.

Here is the first report to know compliance % per collection.

image

Drill down report to list the non-Compliant computers (Required/UnKnown):

image

 

Download the RDL Files available from TechNet Gallary ,upload to your SSRS Reports,change the Data source .

Happy troubleshooting .

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.

Viewing all 252 articles
Browse latest View live