Showing posts with label SCCM. Show all posts
Showing posts with label SCCM. Show all posts

Sunday, December 27, 2009

If Active Directory System Discovery does not work

If you are using Microsoft System Center Configuration Manager and Active Directory System Discovery does not show new computers added to your Active Directory then following will resolve the issue.

There is a bug in SCCM SP2 that does not resolve the LDAP query for newly added computer objects. To make it work:

  • Go to Site Management > Site Name > Site Settings > Discovery Methods
  • Go to the properties of Active Directory System Discovery
  • In the General Tab, Click on the new button to and chose Custom LDAP or GC query query should be based on the following. (remember to check Recursive and Include Groups if needed)

    LDAP://SERVERNAME:PORT/DC=CONTOSO,DC=COM

  • To put the above in context: Lets say your domain name is contoso.com and the name of the LDAP server is dc01.contoso.com then the query will look like the following.  (389 is the default LDAP port)

    LDAP://DC01:389/DC=CONTOSO,DC=COM

  • If the same was to be done for an OU named Workstations in the above domain, following query can be used.

    LDAP://DC01:389/OU=WORKSTATIONS,DC=CONTOSO,DC=COM

Friday, December 11, 2009

Organization wide RAM usage Inventory using Configuration Manager - SCCM

You are asked to give a comprehensive hardware inventory of all computers in your organization, specially how many DIMM are in use of which computer and how much RAM each computer has. And if you are one of those people like me who have no concept of saying NO, then following will help you greatly!!!
If you have System Center Configuration Manager then this task becomes easy.
  1. First copy the following text to (on the SCCM server)C:\Program Files (x86)\Microsoft Configuration Manager\inboxes\clifiles.src\hinv\sms_def.mof
    (end of the file is a good place)
    [SMS_Report (TRUE),SMS_Group_Name ("Physical Memory"),
    SMS_Class_ID   ("Microsoft|Physical_Memory|1.0") ]
    class Win32_PhysicalMemory : SMS_Class_Template
    {
    [SMS_Report (TRUE)] string BankLabel;
    [SMS_Report (TRUE), SMS_Units("Megabytes")]  uint64 Capacity;
    [SMS_Report (TRUE)] string Caption;
    [SMS_Report (TRUE)] string DeviceLocator[];
    [SMS_Report (TRUE)] uint16 FormFactor;
    [SMS_Report (TRUE)] string Manufacturer;
    [SMS_Report (TRUE)] uint16 MemoryType;
    [SMS_Report (TRUE)] uint32 PositionInRow;
    [SMS_Report (TRUE)] uint32 Speed;
    [SMS_Report (TRUE)] string Model;
    [SMS_Report (TRUE)] string Name;
    [SMS_Report (TRUE)] string OtherIdentifyingInfo;
    [SMS_Report (TRUE)] string PartNumber;
    [SMS_Report (TRUE),Key] string    Tag;
    [SMS_Report (TRUE),Key] string    CreationClassName;
    };



  2. If you do not have a deadline for submitting the inventory you can let SCCM run the hardware inventory on its on schedule, but if it is urgent that you get this done as soon as possible then you can force a hardware inventory.

  3. Still I suggest you run this overnight and the next day create a query with the following attributes.


    image

    Or use the following in Query Language


    select SMS_R_System.Name, SMS_R_System.IPAddresses, SMS_R_System.MACAddresses, SMS_R_System.LastLogonUserName, SMS_G_System_PHYSICAL_MEMORY.* from  SMS_R_System inner join SMS_G_System_PHYSICAL_MEMORY on SMS_G_System_PHYSICAL_MEMORY.ResourceID = SMS_R_System.ResourceId

  4. Now you can export the list, open it in excel and make a presentable report by using pivot table.