Tuesday, March 24, 2015

Add custom column to SCCM console using SCCM Console Builder

Editing SCCM console views are quit limited, there is no way to add column to collection that doesn't exist in the list available classes:




In order to add custom column (in this example, an IP Address column) we need to create a new custom node using Console Builder tool.

Console Builder will edit the console and it doesn't have any Save or Back options, so before editing the console using the Console Builder make sure to backup ConsoleRoot folder under the following path:
C:\Program Files (x86)\Microsoft Configuration Manager\AdminConsole\XmlStorage\ConsoleRoot

Close any open SCCM console and run the tool from the following path in any computer with SCCM 2012 console:
C:\Program Files (x86)\Microsoft Configuration Manager\AdminConsole\bin


Go to File - Open - ConnectedConsole


Once connected, SCCM console nodes will appear on the bottom left corner:


Pressing the relevant node (in this case Assets and Compliance) will reveal all available options above:


Right click any place under the root and click New:


Name the new node:


Under General tab Change the Instance Name to what ever make sense, and add Search Folder ID so search option will be available.
Last, add a Display name:


Under Resource assembly detail, add the following values,
Assembly: AdminUI.UIResources.dll
Type:
Microsoft.ConfigurationManagement.AdminConsole.UIResources.Properties.Resources.resources


Under View tab, add new view with the following values and configure it,
Assembly: AdminUI.ConsoleView.dll
Type: Microsoft.ConfigurationManagement.AdminConsole.ConsoleView.ViewDescription



Under Property display items, change Class Name (in this case SMS_R_System), add the desired Class Properties and Misc Settings:


Under Images tab, add the following values to images,
Assembly: AdminUI.UIResources.dll
Type:
Microsoft.ConfigurationManagement.AdminConsole.UIResources.Properties.Resources.resources
On resource Name, browse and choose the relevant icon to show for this node


Under Queries tab, right click Root and add the following new query:
SELECT *  FROM  SMS_R_System WHERE SMS_R_System.IPAddresses like '%'
Change the Query Language to WQL and mark the Enable use of COUNT (*)


Close Console Builder, open SCCM console and browse to the new node you just created:

22 comments:

  1. I really liked your tutorial, it worked great! I'm wondering how to add 'Description' from Active Directory. I'm already collecting it during AD Discovery, I just can't figure out how to add it as a column to an SCCM node.

    ReplyDelete
    Replies
    1. User description is a custom active directory object attribute you add to user discovery.
      From my research, there is no way to add those custom attributes with console builder.
      My suggestion is to create a query (under monitoring node) with the following query statement: select * from SMS_R_User where SMS_R_User.description like "%"
      From the result of that query you can see among other many options, user description (called User Resource.description).

      Delete
  2. Great tutorial just wondering is there a way to use this to show in a collection the status of a deployment that is deployed to that collection? For example a column showing success/in progress/error from the deployment applied to the collection for the PC's in there

    ReplyDelete
  3. Not sure its possible, and if so, its quit complicated (because of different values for each deployment).
    My personal opinion is to use report for getting that kind of information.
    You can use build-in report: Management 4 - Deployment that target a collection

    ReplyDelete
  4. Hi Idan,
    Great tutorial indeed, i didn't know this was possible. I really wanted to get security group info for servers into console.
    I have a question though. I did not necessarily needed a node which basically gives me results for all resources.
    I was looking to populate Security groups as an option to pick from available columns. Currently that option is available only for "Security Groups" node i created. How do i make this available for a collection column picker? Any insights on this?

    ReplyDelete
  5. It is not possible to add column to the default view.
    In order to add your own custom column, you have to create custom node.

    Glad it was helpful for you.

    ReplyDelete
  6. Excellent! Your blog actually was more helpful than all the MS PDFs. LOL. Os.

    ReplyDelete
  7. Excellent! Very easy to follow, nice work.

    ReplyDelete
  8. Thx a lot. And some info if you want Right click menu you must add instances into the Queries > Root section
    You can copy this instances from other tabs.

    ReplyDelete
  9. Just wanted to say thanks, I inherited an SCCM platform and have not read about this trick before.

    Many thanks!

    ReplyDelete
  10. Idan, great tutorial. I was wondering if you could help me be able to add a custom column to the list under device collection, so I can easily see lastuserloggedin. Right now I have to right click and check out primary users. Any help would be great. Thanks.

    ReplyDelete
    Replies
    1. No option to do that.
      You have to create new node and add your desire columns.

      Delete
  11. Hi Idan

    I'm creating a new node for device details, also using SMS_R_System, however in the node query I want to do an inner join and add some inventory data to the available columns, do you know how to do this?

    ReplyDelete
    Replies
    1. More information needed.
      What kind of device node are you creating and what kind of inventory data you like to add?

      Delete
  12. Thanks Idan. Nice info, i have do all things properly except – Deframentation, after read your articles i will do it and hoping all will go better. Such a basic and nice information. Keep it Up dear. Thanks again.

    ReplyDelete
  13. Just an FYI we found a way to migrate these setting to other techs machines. Override the AssetManagementNode.xml and ConnectedConsole.xml from the working machine to the new machine. Path for files is "C:\Program Files (x86)\Microsoft Configuration Manager\Console\XmlStorage\ConsoleRoot"

    ReplyDelete
    Replies
    1. This is great information. Thank you so much.

      Delete