background image

prajwaldesai.com

http://prajwaldesai.com/managing-linux-computers-using-system-center-2012-r2-configuration-manager/

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.

Supported

Not Supported

Collections, queries, and maintenance windows

Client push installation

Hardware inventory

Operating system deployment

Software deployment

Application deployment

Monitoring

Software inventory

Reporting

Software updates

Deploy custom client settings

Compliance settings

Deploy software by using packages and programs.  Remote control

Power management

Client status client check and remediation

Internet-based client management

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.

background image

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.

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.

background image

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.

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.

Log Files

background image

/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.

Commands

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

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.

Log Levels

background image

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.

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.

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.

background image

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.”

background image

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

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

background image

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

background image

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

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

background image

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
.

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

background image

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

background image

You can also generate the report for the linux machine.

background image

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. 

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

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

background image