Skip to content

Software Deployment - Implementing a Logging System for Software Inventory

Tool designed for easing Software Inventory Logger Server deployment: Software Inventory Logger gathers Microsoft software inventory data on an individual server basis and transmits these data to a central Software Inventory Aggregator. The utility can be installed via SCCM and establishes a...

Software Dispensation: Implementing the Software Inventory Logging System
Software Dispensation: Implementing the Software Inventory Logging System

Software Deployment - Implementing a Logging System for Software Inventory

In a bid to streamline the deployment process of Software Inventory Logger Servers, a utility has been developed that leverages PowerShell scripting and System Center Configuration Manager (SCCM) for secure and scalable deployment. Here's a step-by-step guide on how to implement this approach.

Prepare the Software Inventory Logger Server Package

  1. Create installation files for the Software Inventory Logger Server, including the script or executable that will handle inventory logging.
  2. Include a PowerShell script that will:
  3. Generate an AES encryption key for secure data handling.
  4. Generate and securely store password pair files.
  5. Configure logging to a file that can be read by CMTrace.exe (SCCM's log viewer).

PowerShell Script Essentials

Your deployment PowerShell script should:

  • Generate an AES symmetric key and save it securely on the server or in an encrypted store.
  • Generate password pair files, typically securely written as encrypted text files or using Windows Credential Manager for secure storage.
  • Configure the application or service to use these keys and passwords at runtime.
  • Enable logging to a file in a path accessible for troubleshooting (e.g., ).
  • Ensure the log format is compatible with CMTrace.exe, which reads plain text logs with timestamps.

Create an SCCM Application and Deployment

  1. In the SCCM console, create a new application/package that includes your installation files and PowerShell deployment script.
  2. Configure detection methods and user experience settings for automatic silent installation.
  3. Deploy the application to the target collection of servers where you want the logger installed.
  4. Use the option to run the PowerShell script as part of the deployment, in the system context for proper permissions.

Use Log Files with CMTrace.exe

During and after deployment, SCCM client logs and your software’s logs can be monitored using CMTrace.exe for real-time troubleshooting. Ensure your script or software writes detailed status and error messages to the logs.

Optional: Automate with SCCM Task Sequence or Remediation Scripts

If you want to automate repair or redeployment, incorporate your PowerShell script within an SCCM remediation script or a custom task sequence step. This ensures automatic remediation if inventory logger becomes non-functional.

Security Considerations

  • Protect AES keys and password files with encryption and restricted ACLs so only the service account can read them.
  • Avoid storing plaintext keys or passwords on disk.

By following this approach, you can automate the deployment of Software Inventory Logger Servers using PowerShell and SCCM, ensuring secure and scalable management of your inventory data. For more information or sample script snippets, feel free to ask.

Data-and-cloud-computing plays a crucial role in this approach, as the technology utilized includes PowerShell scripting and System Center Configuration Manager (SCCM), making the deployment of Software Inventory Logger Servers more efficient and secure.

The technology employed in this solution also facilitates secure data handling by generating AES encryption keys, password pair files, and configuring logging to files for troubleshooting purposes, all within a secure environment.

Read also:

    Latest