I run PowerShell on Android and so can you !!
Tags: powershell, android, linux, powershellonlinux
Published: 2019-09-03 20:51:44

#### Welcome PowerShell Enthusiasts, Android tinkerers and fellow Geeks!
This is a step by step guide on how I managed to run PowerShell on my Android device.

Quick disclaimer:
>All information and files — both in source and compiled form — are provided on an as is basis. No guarantees or warranties are given or implied. The user assumes all risks of any damages that may occur, including but not limited to loss of data, damages to hardware, or loss of business profits. Please use at your own risk. Note that unless explicitly allowed by the warranty covering your device, it should be assumed that any warranty accompanying your device will be voided if you tamper with either the system software or the hardware.

In this guide I've used the following Device and Android Version:
> Oneplus 5 - Android Pie 9.0

OK, Lets get to it !
1. Download UserLAnd from the play store [Link](https://play.google.com/store/apps/details?id=tech.ula&hl=en)
2. Run UserLAnd
when opening the app for the first time you will need to select a distribution pick Arch (I picked arch over Ubuntu because I had many stability issues with Ubuntu it caused my phone to lag and freeze).
<img src='https://thepracticaldev.s3.amazonaws.com/i/93fqbv481zeym4hss6q8.jpg' width=400>
3. After picking the distribution you will need to enter a username, password and a VNC password and press continue.
<img src='https://thepracticaldev.s3.amazonaws.com/i/xrxca2zjrbb7yjcsm5yx.jpg' width=400>
4. Pick SSH on the connection type screen and press continue.
<img src='https://thepracticaldev.s3.amazonaws.com/i/ybswy987iszlb7quntwj.jpg' width=400>
5. UserLAnd will fetch the arch distribution and set it up for you once the setup is complete go to sessions and pick arch from the list
<img src='https://thepracticaldev.s3.amazonaws.com/i/o0rvh1f8nwlqr8yl3zuk.jpg' width=400>
6. Enter the password you picked in step 3
<img src='https://thepracticaldev.s3.amazonaws.com/i/qdwdoiogzkx76u53du9i.jpg' width=400>
7. Once we are logged into the arch we will need to preform a few steps lets start by updating all the packages by running the following code 
     ```
sudo pacman -Syu
     ```
     when you see a list of packages and are prompted to proceed with the installation press y 
     This process will take a bit of time depending on your internet connection speed and the processor of your device, you might see some errors during the update process its normal and can be ignored 
<img src='https://thepracticaldev.s3.amazonaws.com/i/6zp9q0r6xdt9mt8h6q3z.jpg' width=400>
8. Once the upgrade completed we need to install wget and libuv 
     ```
sudo pacman -S wget libuv 
```
9. Lets make a folder for PowerShell and download the PowerShell 7 preview 3 to it
     ```
mkdir powershell
cd powershell

    #If your android device has an arm64 CPU download the arm64 package by running the below line
wget https://github.com/PowerShell/PowerShell/releases/download/v7.0.0-preview.3/powershell-7.0.0-preview.3-linux-arm64.tar.gz

    #If your android device has an arm32 CPU download the arm32 package by running the below line
https://github.com/PowerShell/PowerShell/releases/download/v7.0.0-preview.3/powershell-7.0.0-preview.3-linux-arm32.tar.gz
```
      <img src='https://thepracticaldev.s3.amazonaws.com/i/2h5d07yvbt1mqkh7cdw8.jpg' width=400>

10. Once the powershell tar.gz file downloads we need to extract it
     ```
tar xzvf powershell*.tar.gz
```
      <img src='https://thepracticaldev.s3.amazonaws.com/i/86ms6mvewhbed0y2qkzs.jpg' width=400>

11. Lets run PowerShell !!!
     ```
     ./pwsh
```
      <img src='https://thepracticaldev.s3.amazonaws.com/i/xhuiga6p6c7yp3vvuem4.jpg' width=400>

There we have it folks we have PowerShell running on Android.

Now for the fun of it lets install the UniversalDashboard.Community by Adam Driscoll from [IronmanSoftware](https://ironmansoftware.com/universal-dashboard-2-4-release/) Module and run it.
```
Find-Module UniversalDashboard.Community | Install-Module -AcceptLicence
Import-Module UniversalDashboard.Community
Start-UDDashboard -Port 10001
```
It's running the UniversalDashboard locally on the phone rendering pages, graphs and everything else you can think of on PowerShell.
<img src='https://thepracticaldev.s3.amazonaws.com/i/jatd7r2gtq88ht41gsml.jpg' width=400>

<img src='https://thepracticaldev.s3.amazonaws.com/i/nm6zobxz0a3n4im4t98c.jpg' width=400>

<img src='https://thepracticaldev.s3.amazonaws.com/i/gtkvswqb28qoez5pgrc3.jpg' width=400>


Thank you for reading my guide !
Feel free to comment and ask questions.
You can find more of me on twitter [PowershellOnLinux](https://www.twitter.com/@Posh4Linux)
Also you can join the [PowerShellOnLinux Telegram Group](https://t.me/PowershellOnLinux)

-TheMentor