Skip to content

Computer Program Compiles Information on Computers, Organized in a Structured Manner

Single Data Aggregation App for SCCM, DHCP, and Active Directory Metrics

Computing Information Collector Organized in Branches
Computing Information Collector Organized in Branches

Computer Program Compiles Information on Computers, Organized in a Structured Manner

In the realm of system administration, efficiency and responsiveness are key. That's where the Threaded Computer Details application comes into play, leveraging the power of PowerShell's threading capabilities to streamline tasks and improve overall performance.

Importing and Exporting Data with PowerShell

The application supports .CSV import and export through switches and . You can have a .CSV ready with a column header Name (for computers) or PredeterminedUser (for users) and the respective data beneath.

PowerShell's Threading Features

PowerShell Universal, a platform for running PowerShell scripts as APIs, jobs, or dashboards, supports multithreading concepts via job parallelism and queue management. It allows configuring a number of worker threads (HangfireWorkerCount, default 100), enabling multiple jobs to run simultaneously on a node.

PowerShell jobs can be run in non-integrated environments, providing isolation and improving system stability by preventing one job's failure from affecting others. Moreover, PowerShell supports threading implicitly through jobs and runspaces, which allow asynchronous execution of scripts and commands.

Use Cases of Threaded PowerShell Applications

The application is particularly useful in automating system administration tasks, such as running backup, restore, or maintenance tasks concurrently to improve throughput and reduce wait times. It can also start many worker threads to process jobs like data collection, reporting, or asynchronous task execution without blocking the server’s main services.

Isolating complex PowerShell modules in separate processes (non-integrated mode) helps manage modules that maintain state or connections, preventing resource leaks and ensuring reliability. Additionally, parallel processing in scripts can download files while updating UI or compute results simultaneously with user input handling, improving responsiveness and efficiency of custom PowerShell tools.

Additional Details

PowerShell Universal’s settings help configure job execution behavior and thread management to optimize performance and troubleshooting. Threading in PowerShell leverages the .NET framework’s parallel programming models, allowing use of runspaces and workflows to create multi-threaded scripts efficiently.

Certain SharePoint PowerShell cmdlets also mention using multiple threads for operations, indicating parallelism to speed up large or complex administrative tasks.

The Threaded Computer Details Application

The Threaded Computer Details application is designed for data aggregation of common SCCM, DHCP, and Active Directory metrics. It needs to run on a machine within the corporate network with access to all computers in the environment for ping, RDP, and c$ checks, as well as DHCP scope reading from the domain controller, and SCCM console installation for gathering specific data.

The application can be initiated either through a user interface or via pipeline input without user interaction. If launched directly, it provides several main search options, including searching for a single computer name, wildcard computer name, user name, operating system, or description.

The application attempts to find and return various details about computers or user accounts, including but not limited to: name, pingable status, IP address, AD status, RDP status, c$ status, virtual CNO status, SCCM client installation status, primary user, user source, company title, department, email, other users via user device affinity, operating system, manufacturer, model, serial number, BIOS version, architecture, MAC addresses, AD description, DHCP scope location, AD creation date, AD canonical name, last time online, last time offline, and predetermined user.

For instance, you can use the wrapper function to pipe the SCCM "All Systems" collection as the input for the application, building a comprehensive details list of all equipment in the environment.

In summary, the threaded capabilities in PowerShell applications like PowerShell Universal enable concurrent execution of scripts and jobs, leading to enhanced performance, better resource utilization, and improved system responsiveness in automation and administrative tasks. This is achieved via configuration of worker threads, use of separate processes for isolation, and support for parallel programming constructs within PowerShell scripting. The Threaded Computer Details application is a prime example of this power at work.

The efficient streamlining of tasks in system administration can be achieved by utilizing PowerShell's threading features, which enable the simultaneous execution of jobs in PowerShell Universal, such as data collection, reporting, and asynchronous task execution. This improves system performance and responsiveness, particularly when automating system administration tasks.

Moreover, the Threaded Computer Details application, designed for data aggregation of common SCCM, DHCP, and Active Directory metrics, leverages these threaded capabilities to enhance its efficiency, allowing for concurrent checks and improving overall system administration lifestyle by reducing wait times and improving performance.

Read also:

    Latest