Getting to Know the Three Key Pillars of PowerShell for Windows Administration – Cmdlets, Objects, and Pipelines

Benefits of Objects for Administrative Task Automation

The use of objects in PowerShell has many advantages for the automation of administrative tasks:

  1. With objects, administrators can easily access and modify data without having to perform complex text processing. This speeds up information management and improves accuracy.
  2. Objects make PowerShell scripts clearer and easier to understand. Administrators can directly use the properties of objects in the script to perform specific actions.
  3. PowerShell allows users to connect cmdlets through pipelines, where the output of one cmdlet can be used as input to other cmdlets. This makes it easier to process data sequentially and efficiently.
  4. Because PowerShell is built on .NET, every object in PowerShell is a .NET object. It provides access to a rich range of methods and properties, expanding the system’s management capabilities.

Benefits of Objects for Administrative Task Automation

The use of objects in PowerShell has many advantages for the automation of administrative tasks:

1. Ease of Data Manipulation

You can filter, sort, or modify the data easily. For example:

Get-Process | Where-Object {$_.CPU -gt 5}

This command will only show processes with more than 5% CPU usage.

2. Integration with Other Cmdlets

Objects can be passed to other cmdlets through the pipeline, allowing for the creation of complex scripts. Example:

Get-Process | Sort-Object CPU -Descending | Select-Object -First 5

This command displays the 5 processes with the highest CPU usage.

3. Script Efficiency

With objects, you can create more accurate and efficient scripts, reducing the risk of frequent errors in raw text parsing.

Using Pipelines for Automation

Pipeline is a great feature in PowerShell that allows you to stream results from one cmdlet to another. This concept uses the symbol | (pipe) to connect cmdlets, so you can create a more efficient and flexible automation process.

In PowerShell, pipelines serve to flow objects from one cmdlet to another. Symbol | Separate cmdlets and allow the results from the first cmdlet to be passed to the second cmdlet without storing temporary data.

A simple example:

Get-Process | Sort-Object CPU -Descending

The result is a list of processes that have been sorted by CPU usage.

Grouping processes based on virtual memory usage

For example, let’s say you want to know which apps use Virtual Memory (VM) the most and group processes by the company that created them. Here are the steps:

  1. Use Get-Process to get all the processes running.
  2. Sort processes by VM usage.
  3. Take a specific number of processes, such as the top 10.
  4. Group processes by Company properties.

The full code:

Get-Process |
Sort-Object VM -Descending |
Select-Object -First 10 |
Group-Object Company
  • Sort-Object VM -Descending: Sorts processes based on usage Virtual Memory from highest.
  • Select-Object -First 10: Select the top 10 processes with the highest VM usage.
  • Group-Object Company: Group processes by the name of the company that created them.

The output will show the highest Company mana yang memiliki proses dengan penggunaan Virtual Memory.

Latest Articles