Frequently Asked Questions

Frequently Asked Questions2020-01-28T13:52:16+00:00
What’s the difference between Windows PowerShell and PowerShell?2020-05-30T19:21:57+00:00

Windows PowerShell is the Windows-specific version of the PowerShell command-line and scripting language. PowerShell is the cross-platform, open-source version of the command-line and script language. New features are no longer being developed for Windows PowerShell. PowerShell has been designed to manage both Windows systems as well as heterogeneous cloud systems.

What’s new in PowerShell 7?2020-05-31T03:23:14+00:00

PowerShell 7 has better support for Windows PowerShell modules, adds a bunch of language features that make development more productive and increases performance. The Microsoft PowerShell team has put together a great set of videos and resources for learning more about PowerShell 7.

What version of PowerShell do I have?2020-05-31T02:03:33+00:00

You can check the version of PowerShell by starting the PowerShell command line. This can be done with either PowerShell.exe or Pwsh.exe. Once the command line is open type $PSVersionTable and press enter. The version information will be listed.

What is Windows PowerShell?2020-05-30T19:02:33+00:00

Windows PowerShell is a command-line shell and scripting language developed by Microsoft to manage Windows machines.

Windows PowerShell 5.1 is the current version and last version. The PowerShell language, shell, and accompanying tooling have been rewritten using cross-platform technology. Windows PowerShell has reached the end of life and PowerShell continues to advance as a tool to manage heterogeneous systems.

What is the Windows PowerShell ISE?2020-05-31T02:18:41+00:00

The Window PowerShell ISE is a development environment for Windows PowerShell scripts. The ISE supports debugging, syntax highlighting, IntelliSense and a terminal. The ISE is no longer being updated with new features or bug fixes. Microsoft recommends that you use Visual Studio Code for editing PowerShell scripts. There are other editors such as Visual Studio, PowerShell Studio and PSScriptPad.

What is the purpose of PowerShell?2020-05-31T03:41:59+00:00

PowerShell is a command-line tool and scripting language designed for system management and configuration.

PowerShell was originally built for managing Windows systems but is now an open-source, cross-platform language and set of tools managed by Microsoft. It enabled the management of heterogeneous systems on-premises and in the cloud.

What is PowerShell?2020-05-30T18:59:14+00:00

PowerShell is a command-line tool and scripting language designed for system management and configuration.

PowerShell was originally built for managing Windows systems but is now an open-source, cross-platform language and set of tools managed by Microsoft.

What is PowerShell Universal Dashboard?2019-10-22T12:53:03+00:00

PowerShell Universal Dashboard is the most popular web framework for PowerShell. Check out this short video to find out more.

What is an execution policy?2020-05-30T19:45:24+00:00

Execution policies in PowerShell help to ensure that users do not run scripts that are not trusted within their environment. Execution policies should not be considered a security boundary but it does help to validate the source of a script. Execution policies can be assigned at the GPO, machine, process, and user level.  To learn more about execution policies, read the Microsoft documentation.

What is a PowerShell profile?2020-05-31T03:35:33+00:00

A PowerShell profile is a PowerShell script that is loaded every time you start a PowerShell command line or PowerShell host. PowerShell hosts, like the PowerShell ISE or the VS Code editor, can have profiles that are specific to those hosts. You can locate your PowerShell profile by looking at the $Profile variable.

What happened to Universal Dashboard Community Edition?2020-05-29T20:48:12+00:00

The entire Universal Dashboard platform has been moved underneath the PowerShell Universal umbrella. This was done in order to simplify the maintenance of our products and provide a consistent experience for our users. UD Community is no longer being developed.

That said, you can still accomplish everything you could before with PowerShell Universal. You can still create dashboards for free and host them in PSU. You’re existing dashboards should also work if you select the v2 framework. Additionally, many controls that used to be closed source are now available for free and on GitHub.

What forum should I use to ask a PowerShell question?2020-05-30T19:37:54+00:00

There are various active communities you can use to ask a PowerShell question. We recommend the PowerShell.org Forums, the Reddit PowerShell Subreddit or StackOverflow.

What does a premium license get me?2020-05-18T16:24:35+00:00

A premium license of Universal Dashboard provides additional dashboard features within PowerShell Universal. You will be able to enforce authentication and authorization, track dashboard diagnostics, utilize the UD Admin Console and run more than one dashboard per server. Each instance of PowerShell Universal will require a UD license in order to use these additional features.

What does a PowerShell Universal Dashboard enterprise license provide?2020-05-25T15:23:04+00:00

PowerShell Universal Dashboard site licensing is provided for users that require large scale deployments of Universal Dashboard. If you are running more than a hand full of dashboards, you should consider contacting us about pricing for an enterprise license that will allow you to run as many dashboards as you require.

What do I get with a PowerShell Pro Tools license?2019-09-06T03:10:27+00:00

PowerShell Pro Tools provides a Visual Studio, Visual Studio Code and PowerShell solution. The same license key applies to all three. If you choose to build forms in Visual Studio but package scripts in Visual Studio Code, you can use the same license for each. The license is good for one year of upgrades.

What book should I get to learn PowerShell?2020-05-30T19:34:08+00:00

There are several highly recommended books for people getting started with PowerShell.

Learn Windows PowerShell in a Month of Lunches is a great getting started resource that introduces gradually into PowerShell scripting and the PowerShell environment.

Windows PowerShell in Action was authored by one of the language designers from Microsoft. It provides a very deep level look at all the features of PowerShell. Although it’s focused on Windows PowerShell, the topics discussed still apply to PowerShell 7.

Windows PowerShell Cookbook is authored by one of the software developers at Microsoft. It contains around 100 different recipes.

Is Universal Dashboard just for displaying data?2019-09-06T02:37:08+00:00

Nope. Universal Dashboard is a web framework for PowerShell. You can create interactive websites, simple end-user tools or dashboards to display data. You aren’t limited to charts and graphs. Build tools to make your help desk colleagues more productive.

Is PSScriptPad a replacement for VS Code?2020-01-11T23:53:14+00:00

No. PSScriptPad is just an alternative to VS Code. It currently only supports Windows PowerShell and doesn’t have all the features and extensibility you will find in VS Code. That said, it’s much smaller and faster to launch. It’s great for quickly editing and debugging scripts but might not be suitable for working on large projects. That said, it has features that VS Code does not including a Windows Form Designer and script packaging.

Is PowerShell Secure?2020-05-31T03:19:53+00:00

The recent versions of PowerShell have had a serious investment in security. PowerShell employs several technologies to ensure that it is the most secure shell on Windows. Some of these technologies are execution policies, constrained language mode, Just-Enough-Administration, script logging, and Anti-Malware Scanner Interface integration.

That said, PowerShell has an extensive red team community that employs various techniques to take advantage of its integration with .NET and the fact that it is installed on most recent versions of Windows. Check out some of the security modules on our list of the top 50 modules.

How well does Universal Dashboard scale?2019-09-06T02:52:17+00:00

Universal Dashboard is built to service a couple thousand requests a second on good hardware. Don’t expect to use UD to run the next Stack Overflow or Reddit. It works perfectly well for internal tools that tens or hundreds of users are using but isn’t designed to service thousands or tens of thousands of users.

How does Universal Dashboard compare to Windows Forms?2019-10-15T17:01:08+00:00

Universal Dashboard is a web framework for PowerShell. It uses technologies that allow you to develop GUIs using PowerShell in the browser. It has a lot of the same functionality as WinForm development in PowerShell. You can create controls such as buttons, text boxes and charts. You can react to user input and interaction as well as invoke PowerShell scripts and cmdlets from your GUIs. Universal Dashboard also runs on any platform, unlike WinForms.

You can use Universal Dashboard Forge to build desktop applications with Universal Dashboard.

How does Universal Dashboard compare to Grafana?2019-09-06T02:58:31+00:00

Universal Dashboard and Grafana are completely different solutions. While Universal Dashboard can provide the same functionality as Grafana, it requires a working knowledge of PowerShell. Unlike it’s name may suggest, Universal Dashboard is much more than just dashboards. You can build entire tools using UD and PowerShell that accept user input, interact with React components and update dynamically. Grafana is all about reporting. UD is much more about providing a web framework for PowerShell.

How does Universal Automation licensing work?2020-05-25T15:22:14+00:00

Universal Automation licensing is per PowerShell Universal server. You’ll need to license each instance of a server, even if you are running many on the same machine.

How does Universal Automation compare to PowerShell Scheduled Jobs?2020-01-15T15:37:48+00:00

Universal Automation is a cross-platform PowerShell module that is installed from the PowerShell Gallery and works on Windows, Linux and Mac. Schedule jobs are built into PowerShell and integrate with the Windows Task Scheduler.

Universal Automation and Scheduled Jobs can both schedule execution of scripts, retrieve output from the scripts and access the result of scripts.

Universal Automation uses a git repo for configuration that can be stored locally or in a git remote. Schedule jobs uses the local computer system to store files and Task Scheduler tasks to configure jobs.

 

How does Universal Automation compare to Jenkins?2020-01-14T21:56:06+00:00

Universal Automation is PowerShell specific. Unlike Jenkins, it does not require the installation of a separate plugin to execute PowerShell scripts. Universal Automation also integrates with features of PowerShell such as Read-Host and Write-Progress to provide a more native PowerShell experience. Just as with Jenkins, it does collect script output.

Both Jenkins and Universal Automation can execute scripts and schedule scripts to run.

Both Jenkins and Universal Automation allow for users to provide parameters to scripts when running them. Universal Automation doesn’t require any configuration for these parameters as they will be interpreted from the param block of your scripts.

Jenkins has the concept of projects, pipelines, and steps. Universal Automation’s architecture is simpler and doesn’t have the same level of organization. Scripts within UA can trigger other scripts to achieve pipeline-like functionality.

UA and Jenkins both other role-based access. UA provides authentication through its Universal Dashboard website. This requires some configuration of UA.

Jenkins requires the installation of Java as well as the Jenkins server itself. UA is distributed as a PowerShell module and can be downloaded using PowerShellGet.

How does Universal Automation compare to Azure DevOps2020-01-14T20:19:15+00:00

Universal Automation is PowerShell specific. Although Azure DevOps has tasks that integrate with PowerShell, they only collect output from the stdout stream and don’t integrate as tightly with PowerShell.

Azure DevOps requires a connection to the internet to control the execution of scripts on agents that run on-premises. Universal Automation is a stand-alone agent and does not require a connection to a master to drive the execution of scripts.

Both Azure DevOps and Universal Automation can execute scripts and schedule scripts to run.

Both Azure DevOps and Universal Automation allow for users to provide parameters to scripts when running them. Universal Automation doesn’t require any configuration for these parameters as they will be interpreted from the param block of your scripts.

Azure DevOps has the concept of projects, pipelines, tasks, and steps. Universal Automation’s architecture is simpler and doesn’t have the same level of organization. Scripts within UA can trigger other scripts to achieve pipeline-like functionality.

Azure DevOps offers extensive role-based access and access controls. UA provides role-based access controls. UA provides authentication through its Universal Dashboard website. This requires some configuration of UA.

Azure DevOps configuration is handled through the use of YAML scripts within the configured repository. UA uses PowerShell scripts for configure and jobs that are run as PowerShell scripts.

How does PowerShell Pro Tools licensing work?2019-09-06T03:14:56+00:00

PowerShell Pro Tools is licensed per user. Each user will need their own license. That user can use that license on as many machines as they are using but only if they are the sole user.

How does PowerShell Pro Tools compare to Sapien PowerShell Studio?2019-09-06T03:13:55+00:00

PowerShell Pro Tools augments PowerShell Tools for Visual Studio and the Visual Studio Code PowerShell extension. Rather than a dedicated PowerShell scripting environment, PowerShell Pro Tools integrates into existing development environments. PowerShell Pro Tools supports GUI creation via Windows Forms, packaging as executables and services and even creating installers, just like Sapien PowerShell Studio. Because PowerShell Pro Tools is built into Visual Studio and Visual Studio Code, you also benefit from all the features of those environments such as Git integration. PowerShell Pro Tools even offers features, such as code conversion, that PowerShell Studio does not.

How do I use PowerShell Where-Object?2020-05-31T03:31:43+00:00

PowerShell Where-Object is a cmdlet used to filter objects on the pipeline. You can pass a collection of objects to the cmdlet and then provide a filter to select only the objects that you wish to return. There are two common parameter sets for Where-Object. The first takes advantage of the various parameters on Where-Object. The second allows you to use a script block to compose more advanced queries.

Let’s take a look at the first type of filtering. We will filter the processes on the machine based on name.

Get-Process | Where-Object Name -eq 'Notepad'

The above command line will select the processes where the name is Notepad. When deciding how to filter objects returned from a particular cmdlet, you can use Get-Member to see the properties available on the object.

To create more complex queries, you can use a script block. The following will achieve the same result as the previous object.

Get-Process | Where-Object { $_.Name -eq 'notepad' }

The braces denote the beginning and end of a script block. It is similar to a function. This Where-Object script block is called for each process that is returned from Get-Process. The $_ variable is used to denote the current object in the array of objects returned.

How do I update PowerShell?2020-05-31T02:10:31+00:00

Windows PowerShell is updated by installing Windows Updates. To update Windows PowerShell, you should search for the Windows Management Framework. The more recent version of the Windows Management Framework is 5.1.

PowerShell is updated simply by deploying the new version from GitHub. PowerShell versions can live side by side. You can install multiple versions at once.

How do I paste in PowerShell?2020-05-31T02:14:38+00:00

Pasting in PowerShell depends on your environment. If you are using the default PowerShell.exe terminal, you will need to right-click in the command prompt to paste. If you are using a more recent version of PowerShell, you should have PSReadline installed. PSReadline allows you to use the Ctrl+V shortcut to paste.  Finally, if you have the Windows Terminal installed, you will be able to use Ctrl+V.

How do I make a directory in PowerShell?2020-05-31T02:12:23+00:00

You can make a directory in PowerShell by specifying the New-Item cmdlet or by using the mkdir alias. To create a new directory with New-Item, do the following.

New-Item -Path C:\parent -Name child -ItemType Directory

You can also use the mkdir command to create a directory

mkdir child
How do I disable PowerShell?2020-05-31T03:47:33+00:00

While you cannot completely disable PowerShell, you can take several steps to limit the execution of PowerShell. The first step is that you can enforce execution policies to ensure that users cannot run arbitrary scripts. By default, Windows machines run with a Restricted execution policy. This allows users to run commands but not scripts.

Next, PowerShell has only access to the current system that you grant. Users should not be permitted high-level administrative permissions. PowerShell can only do what you allow the user’s account to have access to.

How do I create a foreach loop in PowerShell?2020-05-30T19:13:45+00:00

To create a foreach loop, you will use the foreach keyword, an iterator variable, and enumerable object and a body for the loop. Here is an example of looping over all the processes on a system using PowerShell.

$Processes = Get-Process
foreach($process in $processes)
{
    Write-Host $process.Name
}

In the above example, the $processes variable contains the list of processes on the machine as returned by Get-Process. The foreach loop will iterate over each item in the loop and store the individual object in the $process variable. We then use Write-Host to print out the name.

How do I comment code in PowerShell?2020-05-30T19:18:52+00:00

First, there are a couple of types of comments in PowerShell. There are line comments and block comments. Line comments are denoted with a #. For example, you could include the following comment.

#
#    Hello. This is a comment
#

Everything after the # will not be executed by PowerShell.
The second kind of comment is a block comment. A block comment allows you to comment sections of code with start and end tokens. To start a block token, you should use the <# token. To end the comment, use the #> token. For example, we could create the following comment.

<# 
     Hello. This is a comment.
#>

Everything between the <# and #> will not be executed by PowerShell. You can also use block comments directly in-line with other scripts. For example, you could include a block comment right in a cmdlet call.

Get-Process <# -Id 12 #> -Name 'Notepad'
How do I change the directory in PowerShell?2020-05-31T02:07:58+00:00

You can change the directory in any PowerShell provider using the Set-Location, Push-Location, or Pop-Location cmdlets. You can also use the standard cd command from Windows cmd as it is an alias for Set-Location.

To change the directory to the scripts directory. You could use the following command.

cd C:\scripts

The equivalent of this command is to use the full Set-Location command name.

Set-Location C:\scripts

Finally, you can use Push-Location and Pop-Location to move in and out of directories. Push-Location works just like Set-Location but stores the history of the previous directory.

To move into a directory with Push-Location, just do this.

Push-Location C:\scripts

To move back to the previous directory, use Pop-Location. It doesn’t require any arguments.

Pop-Location

 

How do I a run a PowerShell script?2020-05-31T02:16:13+00:00

The easiest way to run a PowerShell script is to run it with the PowerShell command line. For Windows PowerShell, you can open PowerShell by pressing Windows+R and then typing PowerShell.exe. This will open the Windows PowerShell prompt. from here you should type or paste the script path. For example: C:\scripts\script.ps1. Be careful with scripts that you find on the internet or receive from someone you don’t know. PowerShell can manage a lot of the features of your system.

To run PowerShell, you will need to first install the latest version from the PowerShell repository. After it has been installed, you can follow the same steps are described above. The only difference is you will type pwsh.exe rather than powershell.exe.

You can also run PowerShell scripts by using the -File parameter of PowerShell.exe or Pwsh.exe.

PowerShell.exe -File .\myscript.ps1
How can I find locked files with PowerShell?2020-05-31T16:50:00+00:00

You can use our FindOpenFile module to locate locked files with PowerShell.

Install-Module FindOpenFile
Find-OpenFile -FilePath C:\myFile.txt
Do you process purchase orders?2020-01-28T13:53:04+00:00

Yes. Please contact us directly and we can process a purchase order.

Do I need to know JavaScript, HTML and CSS to use Universal Dashboard?2019-09-06T02:48:16+00:00

Nope. Universal Dashboard is built for PowerShell users. You don’t need to know much about building websites to get UD up and running. A working knowledge of web technologies is nice to understand what you’ll be building and deploying but you don’t need to know anything about JavaScript, React, REST APIs or jQuery to get going. If you do know a thing or two about web development, you’ll find the UD provides a rich ecosystem to flex your webdev potential building custom controls on the UD platform.

Can I get a free trial of PowerShell Pro Tools?2020-03-22T13:05:17+00:00

Yep. PowerShell Pro Tools provides an unlimited trial with limited features. We also offer a free trial of PowerShell Pro Tools for 21 days. You can request one here.

Are there any examples of people using Universal Dashboard?2019-09-06T02:55:26+00:00

Universal Dashboard is used by thousands of people. You can find examples on the Universal Dashboard Marketplace or on the Universal Dashboard Show Off category on the forums. Universal Dashboard is highly customizable, extensible and utilized by companies all around the world. You can build anything from dashboards to employee onboarding to shipment tracking systems with UD.