Visual Studio Code – How to run PowerShell or AutoIT

July 25, 2018

What is Visual Studio Code (VSCode) ?

Visual Studio Code is a cross platform source code editor for Windows, Linux and macOS, that support a multitude of programming and scripting languages.




And more using extension …


More then 1700 extensions available, only for Code language alone …


Install VSCode :


VSCode Architecture ?

VS Code is fully decoupled from the specific debugger and this architecture allows VS Code to debug anything, as long as there’s a Debug Adapter available, as illustrated here:



Why using VSCode ?

If you don’t want to use the full blown Visual Studio, which is a ton of software on you computer !

But still want to have the syntax highlighting, code intellisense, and more then VSCode is the real deal for you.

Big community and training videos


Extensions ?

There are many extensions available that gives VSCode extra functionality…

On of them is running code inside VSCode, like PowerShell and AutoIT, and hundreds of many more !

So you don’t need to use the PowerShell ISE or SciTE anymore, keeping all different code development & debugging in 1 tool Smile


Solution :

1. install the PS Code extension:


2. Restart VS Code


3. Test a PS Script

Open a PS1 script and press F5.


See here for more info :


The same goes for AutoIT Smile

1. Install the extension

2. Restart VSCode

3. Test a au3 Script

Keyboard Shortcuts :

  • Run Script: F5
  • AutoIt Check: Ctrl+F5
  • Compile Script: Ctrl+F7
  • Build Script: F7
  • Run AutoIt Help: Ctrl+F1
  • Run Au3Info: Ctrl+F6
  • Debug to MsgBox: Ctrl+Shift+D
  • Debug to Console: Alt+D
  • Run Koda: Alt+M



More info on how to Configure VSCode :




Windows Core IoT – Stop Cortana process

July 21, 2018

When running the latest version of Windows IoT, it will install the Cortana service as well …

Which can take quite some unnecessary memory and CPU from your little RPI3 Sad smile

This way you can find out how to stop it manually, because there is no way you can do it at boot time ?

When starting Windows IoT you can see the Cortana process is running :


If you select STOP you notice it doesn’t stop from the first time ?

You need to repeat it multiple times….

Uninstalling did not work, IoT crashed afterwards and stopped working.

Let’s see if we can find a different way ?

We will make use of some command line tools, see here :

First lets list all processes using TLIST.EXE


You will notice you won’t find anything related to Cortana at first sight…

Let’s run TLIST.EXE –v


Just like to the full Windows 10 you find out that SearchUI.exe is hosting the Cortana process.

Let’s try to kill it now using the KILL.EXE command :


Using the Process ID or the Process Name …

Indeed the process stopped immediately.


I noticed that after a while the process starts again automatically ?

So now we can quickly kill it again when needed.

Enjoy !

PowerShell Core – Installation on Windows 10 – Ubuntu WSL

July 4, 2018

Here you can find the correct installation instructions for Ubuntu 16 (and many more like Raspbian, …)

1. Open Bash on Windows 10


2. Install PowerShell Core

These are the commands needed to get it installed.

# Import the public repository GPG keys
curl | sudo apt-key add -

# Register the Microsoft Ubuntu repository
sudo curl -o /etc/apt/sources.list.d/microsoft.list

# Update the list of products
sudo apt-get update

# Install PowerShell
sudo apt-get install -y powershell

# Start PowerShell

3. Installation process

It looks like this on Windows 10 – Bash


4. Test PowerShell


5. Let’s connect to O365 – Exchange Online




Other Commands

Make sense work fine … Get-Service doesn’t work because it is a Windows Command Winking smile


All seems OK Smile

Enjoy !

PowerShell Core – Connecting to O365 Exchange Online

July 3, 2018

Now that we have PowerShell running on Windows 10… let’s see if we can get use it to get access to O365 Exchange Online.


First you need to load the MSOnline Windows PowerShell  Modules in PowerShell Core.

This is done using these 3 Lines :

Install-Module WindowsPSModulePath -Force -Scope CurrentUser 

Import-Module MsOnline



If you don’t use the first 2 lines you will get an error. Because PS Core doesn’t have the MSOline Module available.

So we grab it from the Windows PowerShell.


let’s set the credentials

$UserCredential = Get-Credential


Next create the remote session to load the module


$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri -Credential $UserCredential -Authentication Basic -AllowRedirection

Import-PSSession $Session



Test it using some commands





For Mac see here :

For the other O365 Services see here :

Enjoy !

PowerShell Core – Running on Windows IoT using a RPI3

July 2, 2018

As mentioned on this post

I was planning to test PowerShell Core on Windows IoT running on an ARM platform using RPI3….

PS Core Version 6.x claims to be a cross platform Smile

It is still experimental as mentioned here :

So let’s take a look :

1. Download the correct ZIP

Windows IoT running on RPI3 is a 32bit version (if you are using the free version)


2. Open the ZIP

This contains all the modules needed to run on your RPI3


Extract and copy all files over to your destination RPI3 folder.



For example c:\pscore


3. Setup Remoting on RPI3

Run this command and see PS notes :

You’ll get an error message and will be disconnected from the device because it has to restart WinRM




# Be sure to use the -PowerShellHome parameter otherwise it'll try to create a new
# endpoint with Windows PowerShell 5.1
.\Install-PowerShellRemoting.ps1 -PowerShellHome .
# You'll get an error message and will be disconnected from the device because it has to restart WinRM


4. Connect to the PS Core on your RPI3

# Be sure to use the -Configuration parameter.  If you omit it, you will connect to Windows PowerShell 5.1
Enter-PSSession -ComputerName <deviceIp> -Credential Administrator -Configuration powershell.6.0.2



5. How to run Windows PowerShell modules in PowerShell Core

Run these 2 commands to get access to the Windows PS modules


Install-Module WindowsPSModulePath -Force -Scope CurrentUser 




Or this way for a custom module

Import-Module "C:\Program Files (x86)\AutoIt3\AutoItX\AutoItX.psd1"
Get-Command *au3*




6. Test PS Core on your RPI3


All runs as expected Smile


But keep in mind that not all functions are supported (yet)



Even if it says so see help Sad smile



Running PowerShell Core on Linux or Mac see here to get started :

Enjoy !

PowerShell Core – Installing and Testing

July 2, 2018

PowerShell Core has reached version 6.1xxx at this moment …


Why do you need PS Core v6.1.x


How to install

Since PS Core is a cross platform distribution, just pick the one you need Smile


Download and run for a Windows 10 SxS installation




Select Open PS Core

or start is manually



In order to run PS Core you need to use the pwsh.exe commandline and not powershell.exe !

Check the PS Core version :

run pswh.exe –v


Or the famous command




PowerShell core does not have all the modules of the full blown version available.

But it has already a lot… run


it will list about 425 commands



If you need more :

Windows PowerShell Compatibility Pack

With the announcement of the Windows Compatibility Pack for .NET Core for .NET Core, PowerShell Core will regain some APIs that had been dropped in the transition to .NET Core.  This means we can re-enable some cmdlets that weren’t part of the PowerShell Core 6.0 release: WMI, EventLog, and PerfCounters.  In addition, some highly requested APIs will be available which means that some existing Windows PowerShell modules might just work in PowerShell Core 6.0.  This module will replace the WindowsPSModulePath module to add the Windows PowerShell $env:PSModulePath to PowerShell Core 6.0.  Finally, we can use this module to optionally add back some aliases that we removed from PowerShell Core 6.0 that exist in Windows PowerShell.

Example it allows you to run encrypted commands as well out of the box… Smile



For a full list of command line options run pwsh.exe /? (or –h or –help or …. Winking smile )

Most relevant are :

pwsh -NoExit -Command Get-Date



Some of the commands you need to run using Administrator privileges or you get this error :


pwsh -Command {Get-WinEvent -LogName security} or pwsh -command “& {Get-WinEvent -LogName security}”



You can run Windows PowerShell modules in PowerShell Core on Windows


Install-Module WindowsPSModulePath -Force -Scope CurrentUser 



Next episode I will test it the PS Core on an RPI3 running Windows IoT, see here


Powershell Error connecting to SharePoint Online using CSOM Assemblies

April 27, 2018

When using a Powershell Script to connect to SharePoint Online I got this error…

msoidcliL.dll : System.IO.FileNotFoundException – SharePointOnlineCredentials


Solution :

Update your SP client side Assemblies, which does not rely anymore on Msoidclil.dll



Once updated the error was gone Smile

Enjoy !