Managing Linux Computers Using System Center 2012 R2 Configuration Manager

20255

Managing Linux Computers Using System Center 2012 R2 Configuration Manager

In this post we will take a look at steps for managing linux computers using System Center 2012 R2 Configuration manager (SCCM 2012 R2). If I look back at my post on Installing SCCM 2012 SP1 client agents on linux computers it was just about the installation of SCCM client agents on the linux machine. In this post we will not only install the SCCM 2012 R2 client on linux machine but we will learn more on managing the linux computers using SCCM 2012 R2. We will install the client agent, create a collection for linux based computers, create and deploy the custom client device settings enabling hardware inventory settings, we will see examples of hardware inventory reports and lastly we will see how to uninstall the sccm client out of the linux machines. The System Center 2012 R2 Configuration manager clients for UNIX and Linux extends the scope of your Configuration Manager environment to collect inventory, deploy software, and run reports about UNIX and Linux servers in your enterprise. The client operates as a workgroup client that is managed by Configuration Manager.

When we install SCCM 2012 R2 client agents on linux machine, you can use some of the management capabilities on Linux and UNIX computers while some of them cannot be used.

[table]

SupportedNot Supported
Collections, queries, and maintenance windowsClient push installation
Hardware inventoryOperating system deployment
Software deploymentApplication deployment
MonitoringSoftware inventory
ReportingSoftware updates, Compliance settings
Deploy custom client settingsInternet-based client management
Deploy software by using packages and programsRemote control, Power management
Client status client check and remediation

[/table]

 

Now we will download the SCCM 2012 R2 client agents for linux based computers. You can download the client agent for linux computers by clicking on below button.The following UNIX and Linux versions are supported.

  1.     AIX Version 7.1, 6.1, 5.3
  2.     Solaris Version 11, 10, 9
  3.     HP-UX Version 11iv2 , 11iv3
  4.     RHEL Version 6 , 5, 4
  5.     SLES Version 11, 10, 9
  6.     CentOS Version 6, 5
  7.     Debian Version 6, 5
  8.     Ubuntu Version 12.4 LTS, 10.4 LTS
  9.     Oracle Linux 6, 5

SCCM 2012 R2 Clients for Additional Operating Systems

Download the ConfigMgr Clients for Linux.exe and click Next.

Managing Linux Computers Using System Center 2012 R2 Configuration Manager

Once you have downloaded the ConfigMgr clients for linux, extract it to a folder and copy the folder to your Linux machine, copy the files to a directory /opt/client (client is a new folder that has been created under /opt) . In this example I am using RedHat 6.2 server on which the SCCM 2012 R2 client agent will be installed.

Managing Linux Computers Using System Center 2012 R2 Configuration Manager

Before you proceed and install the client agent on linux machine make sure that your linux machine is properly communicating with SCCM server. Use Ping to check the connectivity to the SCCM server. To resolve the hostname, open the terminal on linux machine and type the command vi /etc/resolv.conf. Set the IP address for nameserver (set to DNS Server IP), provide the domain name and search name and save the file.

Managing Linux Computers Using System Center 2012 R2 Configuration Manager

On the linux computer, use root credentials to run the following command to enable the script to run as a program, chmod +x install.

execute the command  ./install –mp sccm.prajwal.local -sitecode IND ccm-UniversalX64.1.0.0.4580.tar

The syntax of the command is ./install -mp <Management point server FQDN> -sitecode <code> ccm-Universal-x64.<build>.tar

Additionally, Configuration Manager client for Linux and UNIX supports the use of fallback status points. You can specify the FSP by adding -fsp <FSP server FQDN> to the command.

Managing Linux Computers Using System Center 2012 R2 Configuration Manager

From the below screenshot we see that the client agent has been installed successfully on the linux machine. If you are looking for a log file to validate the install process you can check /var/opt/microsoft/scxcm.log. In case you change the hostname of linux machine after the installation of client agent, then you must reboot the linux machine once.

/var/opt/microsoft/scxcm.log – This log file contains information about the installation and ongoing operations of ccmexec.bin. If you are looking for troubleshooting UNIX/Linux client operations then you must use this log file.

/opt/microsoft/omi/scxcmprovider.log – This is the CIM service log file which captures the CIM service operations.The CIM server installs as part of the client for Linux and UNIX. If you are using SCCM 2012 SP1 (without CU1) you will see that the client used nanowbem as its CIM server.

I would recommend to restart the linux machine once the client agent has been installed on it. If you don’t not want to restart the server you can stop and start the ccmexecd process.

To STOP the ccmexecd you can use the command                   /etc/init.d/ccmexecd stop
To START the ccmexecd you can use the command                  /etc/init.d/ccmexecd start

 

Managing Linux Computers Using System Center 2012 R2 Configuration Manager

As mentioned earlier scxcm.log file records both installation and operational information. This log file is useful when you want to troubleshoot client operations. There might be a situation where you are troubleshooting the client installation issues and you want verbose information to be logged in scxcm.log. There are four different log levels each one having a unique setting.

1) ERROR: Indicates problems that require attention.
2) WARNING: Indicates possible problems for the client operations.
3) INFO: More detailed logging that indicates the status of various events on the client.
4) TRACE: Verbose logging that is typically used to diagnose problems.

Managing Linux Computers Using System Center 2012 R2 Configuration Manager

To change the log level, edit /opt/microsoft/configmgr/etc/scxcm.conf and change each instance of the tag MODULE to the desired log level.

Managing Linux Computers Using System Center 2012 R2 Configuration Manager

After the SCCM client has been installed on linux machine, in the Configuration Manager console, under All Systems you will find the linux machine name. Right click on the linux computer and click Approve.

Managing Linux Computers Using System Center 2012 R2 Configuration Manager

Now lets create a collection to group the linux computers. Microsoft recommends to use the Caption value for the Operating System class to identify different Linux and UNIX operating systems in queries and collections. In this example I will be using the Attribute Class as Operating System and Attribute as Manufacturer. You can use the below query to add the redhat machines to collection.

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_OPERATING_SYSTEM on SMS_G_System_OPERATING_SYSTEM.ResourceID = SMS_R_System.ResourceId where SMS_G_System_OPERATING_SYSTEM.Manufacturer = “Red Hat, Inc.”

Managing Linux Computers Using System Center 2012 R2 Configuration Manager

We have now created a collection named RHEL systems and our linux machine has been added to the collection.

Managing Linux Computers Using System Center 2012 R2 Configuration Manager

We will now create a custom client device settings for the RHEL systems collection and enable the Hardware Inventory.

Managing Linux Computers Using System Center 2012 R2 Configuration Manager

The client for Linux and UNIX supports the following hardware inventory classes that are available on Linux and UNIX servers:

  • Win32_BIOS
  • Win32_ComputerSystem
  • Win32_DiskDrive
  • Win32_DiskPartition
  • Win32_NetworkAdapter
  • Win32_NetworkAdapterConfiguration
  • Win32_OperatingSystem
  • Win32_Process
  • Win32_Service
  • Win32Reg_AddRemovePrograms
  • SMS_LogicalDisk
  • SMS_Processor

Managing Linux Computers Using System Center 2012 R2 Configuration Manager

To perform a Machine Policy Refresh action on clients execute the following command :- /opt/microsoft/configmgr/bin/ccmexec -rs policy

Managing Linux Computers Using System Center 2012 R2 Configuration Manager

To trigger an inventory scan from a client run the following command :- /opt/microsoft/configmgr/bin/ccmexec -rs hinv

Managing Linux Computers Using System Center 2012 R2 Configuration Manager

Once you trigger the hardware inventory scan cycle, open the MP_Hinv.log file located on the SCCM server. Look for the line Full report from client linux.prajwal.local, action description = hardware.

Managing Linux Computers Using System Center 2012 R2 Configuration Manager

In the CM console right click the linux machine and click Start > Resource Explorer. Under Hardware, click Services to see the list of services.

Managing Linux Computers Using System Center 2012 R2 Configuration Manager

You can also find the Installed Applications on the linux machine.

Managing Linux Computers Using System Center 2012 R2 Configuration Manager

You can also generate the report for the linux machine.

Managing Linux Computers Using System Center 2012 R2 Configuration Manager

In case of Windows we typically query WMI for inventory data, whereas the UNIX/Linux client stores its inventory data in a series of XML files. You can view the default classes by directory listing /opt/microsoft/configmgr/root/cimv. 

Managing Linux Computers Using System Center 2012 R2 Configuration Manager

Lastly to uninstall the SCCM client agent from the linux machine you can use the command :- /opt/microsoft/configmgr/bin/uninstall

Managing Linux Computers Using System Center 2012 R2 Configuration Manager

To completely uninstall ConfigMgr and OMI press C and hit enter. The client has been uninstalled.

Managing Linux Computers Using System Center 2012 R2 Configuration Manager

  • Steven

    Hi Praj. Could you please make instruction on how to install the SCCM client on a MAC OS?

    • Hi Steven, I shall publish a post on that soon.

      • Steven

        Thank you 🙂

  • Dennis West

    Hi Steven,
    Do you have information on how SCCM 2012 R2 does with Linux/ Unix Audit.log files collecting and parsing the security logs of Linux? Any info would help… Thank you.

  • @Aditya – So far I have not tried installing R2 client agent on AIX machines. Have you checked if the client agent is compatible with AIX machine ?

  • John

    Hi,
    Is it easier to manage Linux with SCCM if the Linux machines are joined to the AD Domain?
    Is it recommended to join Linux systems to the Domain anyways, at least to inventory the hostnames, if AD authentication is going to be used for those Linux systems?

  • Kary Karthi

    Hi Prajwal, I have some basic questions related to software distribution to mac and Linux clients. Does it support Application Catalog via web point. Also what application formats in Linux/unix are supported (eg.. like msi in windows)