10 Powerful Ways to Use PowerShell Across Windows, Linux, and macOS

10 Powerful Ways to Use PowerShell Across Windows, Linux, and macOS

10 Powerful Ways to Use PowerShell Across Windows, Linux, and macOS

Image: KostiantynVoitenko (Envato)

PowerShell can do far more than most users realize. Explore 10 hidden capabilities that save time, improve reporting, and supercharge your workflow.

Verfasst von
Kezia Jungco
Kezia Jungco
Feb 26, 2026

If you spend any time working with systems, chances are PowerShell has crossed your screen. You might use it to check a service, gather system details, or automate a tedious task.

Over time, using PowerShell becomes less about remembering exact syntax and more about understanding what the shell can help you accomplish.

PowerShell runs on Windows, Linux, and macOS, and its core capabilities remain consistent across platforms. While it is widely known for automation and administration, PowerShell also lets you customize your environment, run interactive scripts, and create simple tools that many users never explore.

Here are 10 things you may not realize you can do with PowerShell.

1. Customize your PowerShell startup environment

You can create a PowerShell profile to automatically configure your environment every time a session starts. A profile is a script that runs at startup and can include commands, aliases, functions, variables, modules, or custom PowerShell drives so they are available without being reimported.

Microsoft Learn explained that PowerShell supports several profile types for different users and host programs, though it doesn’t create them by default. The built-in $PROFILE variable shows the path where your profile script can be created or edited. This means you could preload cloud modules for Azure work, add a prompt that shows whether you’re in a production or test environment, and even apply a color theme for quick visual cues.

2. Build a monitoring dashboard with PowerShell

PowerShell isn’t limited to one-off commands. In System Center Operations Manager (SCOM) 2019 or later, Microsoft supports using PowerShell within the HTML5 web console to power dashboard widgets.

For example, a team could create a dashboard that lists unhealthy servers, active alerts, or systems in maintenance mode. Microsoft Learn noted that when returning data in the HTML5 widget, you must avoid using $dataObject as the variable name and instead use a custom name such as $results, or the console will return an error.

3. Use PowerShell as a web API client

PowerShell can also act as a client for enterprise web APIs. Microsoft provided a PowerShell 7.4 sample that demonstrates calling bound and unbound functions and actions using the Microsoft Dataverse Web API. The sample shows how scripts can authenticate, retrieve user and organization details, initialize records, and execute custom actions.

In practice, that means administrators can automate tasks that would otherwise require navigating different applications. Instead of clicking through dashboards, you can pull record counts, check user roles, or grant access.

Advertisement

4. Verify file integrity with built-in hashing tools

PowerShell includes a built-in way to check whether a file has been altered. According to Microsoft, the Get-FileHash cmdlet computes a cryptographic hash based on a file’s contents and not its name or extension. That hash acts like a fingerprint, and a change in a single character in the file changes the fingerprint.

This is especially useful when downloading software from the internet or distributing internal tools across teams. If a vendor publishes a SHA256 hash for an installer, you can run Get-FileHash locally and confirm the values match before deploying it. PowerShell uses SHA256 by default, which offers a secure way to verify that what you download is exactly what was intended.

5. Turn command output into structured reports

PowerShell can quickly turn command results into spreadsheet-ready files. The Export-Csv cmdlet creates a CSV file in which each object becomes a row and each property becomes a column. Microsoft emphasized that this command makes it easy to share system data with teams who prefer working in Excel or other reporting tools.

For example, you might export a list of running services, user accounts, or installed software and send it to a compliance or security team. One important detail: don’t format objects before sending them to Export-Csv. If you pipe formatted output into the cmdlet, the file will contain formatting data rather than the actual object properties. If you only need certain fields, use Select-Object first to control exactly what gets exported.

Advertisement

More Microsoft news

6. Create interactive scripts that guide users

Microsoft said that PowerShell includes the Read-Host cmdlet, which reads a line of input from the console and allows a script to prompt users directly. The input can also be stored as a secure string, making it suitable for collecting sensitive information such as passwords without displaying them in plain text.

This capability makes the script more flexible. Instead of editing code for each task, you could run a script that asks which server to check or which account to review. In other cases, the script might securely prompt for credentials before connecting to a system. As a result, the automation adapts to user input rather than relying on hardcoded values.

7. Add real-time progress indicators to scripts

PowerShell includes the Write-Progress cmdlet, which displays a progress bar in the command window to show the status of a running command or script. Microsoft mentioned that you can control what the progress bar shows, as well as the text that appears above and below it, making long-running tasks easier to track.

In PowerShell 7.2 and later, the $PSStyle automatic variable adds more control over how progress bars are rendered using ANSI escape sequences. The $PSStyle.Progress member allows you to adjust the display style, maximum width, and even switch between Classic and Minimal views.

8. Generate secure passwords or test credentials

According to Microsoft, PowerShell’s Get-Random cmdlet returns a random number or selects a random item from a collection. When combined with character arrays or word lists, it can generate random passwords or passphrases for testing environments. Because Get-Random works with integers, strings, and other objects, it provides flexibility when building simple credential generators.

Using the Get-Random cmdlet can be useful in lab setups, test environments, or automated account creation. For example, an administrator can generate a random password when creating an account, then store or send it securely.

Advertisement

9. Run background jobs without blocking your session

PowerShell includes the Start-Job cmdlet, which starts a background job on the local computer. Microsoft states that a background job runs a command without interacting with the current session, so you can continue working while the task processes. When you start a job, PowerShell immediately returns a job object, even if the command takes a long time to finish.

The job object includes information about the task, but not the results. After the job finishes, you can retrieve the output using Receive-Job. PowerShell also supports starting jobs remotely with the -AsJob parameter or Invoke-Command, and in newer versions, you can use the ampersand (&) operator to run jobs in the background.

10. Automate consistently across platforms

PowerShell extends beyond local systems into Microsoft’s broader ecosystem. Microsoft provides cmdlet libraries for services like Microsoft 365, Azure, Power Apps, and Dynamics 365, allowing administrators to automate tasks without navigating multiple platforms.

PowerShell allows you to chain commands so that the output of one feeds into the next, letting you bundle routine admin tasks into a script instead of running them one by one. For example, administrators can automate Microsoft 365 license assignments and reporting using dedicated PowerShell modules, and PowerShell can connect with broader cloud services to script tasks across environments.

Learn more about the essential PowerShell commands IT professionals rely on in 2026.

Kezia Jungco

Kezia Jungco is a staff writer with five years of hands-on experience testing and analyzing generative AI platforms, chatbots, and NLP tools. She writes in-depth coverage for both enterprise and consumer audiences, focusing on artificial intelligence, data analytics, CRM solutions, cloud infrastructure, cybersecurity, and emerging tech trends. Her work appears in TechRepublic, eWEEK, Datamation, TechnologyAdvice, and Selling Signals.