# Get Started

## Install PowerShell Universal

You'll need to install the PowerShell Universal server. [There are a lot of ways to do so,](https://docs.powershelluniversal.com/getting-started) but you can use the command line below to get started quickly:

{% tabs %}
{% tab title="Windows" %}
You can install PowerShell Universal as a service. Ensure that PowerShell is running as administrator, or the service won't install correctly.

```powershell
Install-Module Devolutions.PowerShellUniversal
Install-PSUServer
```

{% endtab %}

{% tab title="Linux" %}
You can install PowerShell Universal using the following shell script:

```powershell
Install-Module Devolutions.PowerShellUniversal
Install-PSUServer
```

{% endtab %}

{% tab title="Mac OS X" %}
You can install PowerShell Universal using the Universal PowerShell module:

```powershell
Install-Module Devolutions.PowerShellUniversal
Install-PSUServer -AddToPath
Start-PSUServer -Port 5000
```

{% endtab %}

{% tab title="Raspberry PI OS" %}

```
wget https://imsreleases.blob.core.windows.net/universal/production/2.4.0/Universal.linux-arm.2.4.0.zip
unzip Universal.linux-arm.2.3.2.zip -d ./PSU
chmod +x ./PSU/Universal.Server
./PSU/Universal.Server

```

{% endtab %}
{% endtabs %}

## Open PowerShell Universal

By default, PowerShell Universal runs on port 5000 of localhost. Open a web browser and navigate to `http://localhost:5000`.

### Login with a Devolutions Account

The first time you navigate to PowerShell Universal, you can login with a [Devolutions account](https://docs.devolutions.net/portal/profile/create-devolutions-account/) in order to receive a free developer license. This license will enable all features and is intended for non-production workflows.

### First Run Wizard

Optionally, you can select to run the First Run wizard setup instead of logging in with a Devolutions account and provide a license key.

## Create an API

APIs allow you to call PowerShell scripts over HTTP. To create an API, click API \ Endpoints and click Create New Endpoint. Specify a URL. Disable authentication for this endpoint.

Next, click details on your new API and enter the following command into the editor:

```powershell
Get-ComputerInfo
```

Save the script and then click the Execute button to test it out.

You can also execute the API via `Invoke-RestMethod`.

```powershell
PS C:\Users\adamr> Invoke-RestMethod http://localhost:5000/hello-world

WindowsBuildLabEx                                       : 22000.1.amd64fre.co_release.210604-1628
WindowsCurrentVersion                                   : 6.3
WindowsEditionId                                        : Professional
WindowsInstallationType                                 : Client
WindowsInstallDateFromRegistry                          : 8/6/2021 4:05:12 PM
WindowsProductId                                        : 00330-52452-93139-AAOEM
WindowsProductName                                      : Windows 10 Pro
WindowsRegisteredOrganization                           :
```

## Create a Script

To create a script, click Automation \ Scripts and then click Create New Script.

Enter the following script into the editor and save:

```powershell
Read-Host "What should I say?"

1..100 | ForEach-Object {
    Write-Progress -PercentComplete $_ -Activity "Processing..."
}

Get-Service
```

Once the script is saved, click Run.

## Create an App

To create a new PowerShell-based user interface (app), you can click User Interfaces \ Apps and then Create New App.

After clicking Ok, click the Details button to edit the PowerShell script. Add the following script to the editor:

```powershell
New-UDApp -Title "Hello, World!" -Content {
    New-UDButton -Text "Click Me" -OnClick {
        Show-UDToast -Message 'Success!!'
    }
}
```

Save the app, click the Restart button and then click the View button. Click the Click Me button.

Learn more about the various features of PowerShell Universal:

* [APIs](https://docs.powershelluniversal.com/api/about)
* [Automation](https://docs.powershelluniversal.com/automation/about)
* [Apps](https://docs.powershelluniversal.com/apps/building-dashboards)
