Category: Windows

How to Change the Windows Terminal Default Shell Profile

How to Change the Windows Terminal Default Shell Profile

The Windows Terminal is now generally available as version 1.0. I already shared a blog post on how to customize the Windows Terminal and shared my personal settings.json file with a lot of different examples, like the integration of PowerShell Remoting, SSH Remoting, changing the background image and much more. One question I got is, how to change the Windows Terminal default shell or default profile from PowerShell to the Windows Subsystem for Linux (WSL) or the command line (cmd).

By default, the Windows Terminal takes PowerShell 7 (if it is installed) as the primary shell when you open the Windows Terminal. However, if you want to change that you can simply configure the default shell in Windows Terminal, in the settings.json file. On the top, you can find the “defaultProfile” setting with a GUID

    "$schema": "",
    "defaultProfile": "{574e775e-4f2a-5b96-ac1e-a2962a402336}",

The GUID is the GUID of your profile. For example, if you want to change it to cmd, you can use the following GUID “0caa0dad-35be-5f56-a8ff-afceeeaa6101”.

Windows Terminal Default Profile - Default Shell

Windows Terminal settings.json

I hope this blog post gives you a look on how to switch the default shell in Windows Terminal. I recommend that you check out my other blog post where I share even more details on how to customize the Windows Terminal. You can also read the full announcement blog for the version 1.0 here or check out the documentation on Microsoft Docs.

If you have any questions, feel free to leave a comment.

Install WinGet - Windows Package Manager

How to Install WinGet Windows Package Manager

For a long time, people have been asking for a package manager on Windows. Today at Microsoft Build, Microsoft announced the preview of the Windows Package Manager called WinGet. A package manager can help you to save time and quickly install software and tools on to your machine. Developers and IT Pros have wanted a native package manager in Windows for a long time and with WinGet, you will get that.

You can read more about the Windows Package Manager Preview announcement here.

How to install WinGet Windows Package Manager

The Windows Package Manager is currently in preview. To install the preview of Windows Package Manager, you basically have two options. Since WinGet is open source, you can clone, build, run, and test the code from the GitHub repository ( You can also become a Windows Insider an join the Windows Package Manager Insider program by sending your Microsoft Account (MSA) to [email protected] and request to be included in the preview.

App Installer in the Windows Store

App Installer in the Windows Store

After you have joined either Insider program, head over to the Microsoft Store and get the App Installer. The Windows Package manager will be available after you get the update.

How to install software using the Windows Package Manager

Now you can start using winget in the Windows Terminal, Windows command line, or PowerShell. The command line client “winget.exe” is already pre-configured to point to the Microsoft community repository.

winget install Windows Package Manager

winget install Windows Package Manager

Search for available packages

winget search APPLICATION

Display information about the packages

winget show APPLICATION

Install packages

winget install APPLICATION

Manage sources for packages

winget source (add/list/update/remove/reset)

Here is a quick look at some of the packages in the Microsoft Community repository.

winget show

winget show

Contribute and Feedback

Since the Windows Package Manager is open source, you can also contribute by sharing your feedback and suggestions on GitHub.

More information

You can find more information about the WinGet Windows Package Manager check out the Microsoft Docs and the preview announcement blog post. If you have any questions, feel free to leave a comment below.


How to SSH into an Azure VM from Windows Terminal Menu

How to SSH into an Azure VM from Windows Terminal Menu

A couple of days ago, I released a blog post on how you can add a PowerShell remote session in the Windows Terminal menu. In my example, I created a menu item in Windows Terminal to use PowerShell remoting to connect to an Azure virtual machine (VM). In the meantime, I got a lot of questions on how you can add an SSH connection to an Azure VM in the Windows Terminal. That is why I am going to share here, how you can add an SSH connection to an Azure VM in the Windows Terminal menu.

Scott Hanselman wrote a great blog post on how you can add tabs to open an SSH connection, so I highly recommend that you read his blog for all the details.

Surface Pro X with Slim Pen

How to Enable or Disable Hibernate on the Surface Pro X

I am sure you have seen that I am the proud owner of a Surface Pro X. The Surface Pro X is one of the latest Microsoft Surface devices, and instead of coming with an Intel or AMD x86 processor, it comes with a custom Qualcomm ARM CPU, called the Microsoft SQ1. The Surface Surface Pro X also runs Windows 10 on ARM, which allows you to run ARM64 and emulated x86 (32-bit) apps. Since I really like this device and the always-on feature, I just quickly want to share how you can enable or disable hibernate on the Surface Pro X.

The reason why I want to disable hibernate is that I can take advantage of the always-on capabilities for a much longer period of time. To understand the differences between shut down, sleep, or hibernate, you can check out the following Microsoft support article.

Shut down, sleep, or hibernate your PC and the Surface Pro X

There are different ways of handling your PC when you are not using it, you can turn your PC off completely by shutting it down, make it sleep, or you can hibernate your PC.


Sleep uses very little power, your PC starts up faster, and you’re instantly back to where you left off. You don’t have to worry that you’ll lose your work because of your battery draining, because Windows automatically saves all your work and turns off the PC if the battery is too low. Use sleep when you’re going to be away from your PC for just a little while—like when you’re taking a coffee break.


This option was designed for laptops and might not be available for all PCs. Hibernate uses less power than sleep and when you start up the PC again, you’re back to where you left off (though not as fast as sleep). Use hibernation when you know that you won’t use your laptop or tablet for an extended period and won’t have an opportunity to charge the battery during that time. First check to see if this option is available on your PC and if it is, turn it on.

(Source Microsoft Support)

Enable or Disable Hibernate on the Surface Pro X

To enable or disable hibernate you can use the following options by using PowerShell or the Command Prompt as administrator.

Disable Hibernate run:

powercfg.exe /hibernate off

Enable Hibernate run:

powercfg.exe /hibernate on

You can also find out more about the battery behavior of your Windows 10 devices by using powercfg, so you can see how much battery power your devices uses in sleep or hibernation or while using it. I wrote a blog post called Troubleshoot Windows 10 Battery Life and Modern Standby.

Windows 10 SleepStudy Report

Windows 10 SleepStudy Report

I hope this post helps a couple of people dealing with the power management of Windows 10 and how to enable or disable hibernate on the Surface Pro X. If you have any questions, feel free to leave a comment.

PowerShell Remoting over SSH in PowerShell 7

Enable PowerShell SSH Remoting in PowerShell 7

In this blog post, we will have a look at how you can enable and set up PowerShell SSH Remoting or PowerShell Remoting over SSh with PowerShell 7. With PowerShell Core 6, Microsoft introduced PowerShell 7 Remoting over SSH, which allows true multiplatform PowerShell remoting between Linux, macOS, and Windows. PowerShell SSH Remoting creates a PowerShell host process on the target machine as an SSH subsystem. Normally, Windows PowerShell remoting uses WinRM for connection negotiation and data transport. However, WinRM is only available on Windows-based machines.

There are also some downsides to it. SSH-based remoting doesn’t currently support remote endpoint configuration and JEA (Just Enough Administration). It is also important to understand that this is not just another PowerShell SSH client.

Use SSH Transport with PowerShell Remoting

To use PowerShell 7 remoting with SSH on Windows, Linux, and macOS machines, you can use the same cmdlets you are already familiar from Windows PowerShell remoting with WinRM.

  • New-PSSession
  • Enter-PSSession
  • Invoke-Command

There are three new parameters for these cmdlets if you are using PowerShell SSH remoting.

  • -HostName (Instead of -Computername, you define the SSH target)
  • -UserName (Instead of -Credentials you use the -UserName parameter)
  • -KeyFilePath (If you are using SSH key authentication you can use the -KeyFilePath parameter to point to the key file)
New-PSSession -HostName -UserName thomas

Customize Windows Terminal

My Customized Windows Terminal Settings.json

This is just a very quick blog post to share my customized Windows Terminal settings.json, and it should give you an idea of how you can customize the Windows Terminal for your needs. The new Windows Terminal for Windows 10 which is open-source and you currently can get it from the Windows Store. The new Windows Terminal lets you run different shells like Windows PowerShell, PowerShell 7, Command Prompt, WSL, and also WSL 2. It provides a couple of improvements like; multiple tabs support, GPU accelerated DirectWrite/DirectX-based text rendering engine, and much more. For me, one of the biggest advantages are the advanced customizing and configuration options, which allow you to configure the Windows Terminal settings using a profiles.json file.

Windows Terminal 1.0 was released on May 19, you can find more documentation here on Microsoft Docs.

I already shared a couple of blog posts on how you can customize your Windows Terminal experience:

Customized Windows Terminal Settings profiles json

Customized Windows Terminal Settings settings json

Azure Unblogged - Microsoft Feedback and Customer engagement programs

Azure Unblogged – Microsoft Feedback and Customer engagement programs

You might have seen that I started a video series called Azure Unblogged, in which I talk to people in Microsoft and the Microsoft community about different products, services, stories, and much more. This week I am releasing a video on Azure Unblogged in which I had the chance to talk to Holly Lehman (Program Manager in the Azure CxP Team) about Microsoft feedback and customer engagement programs. In this video, we talked about how vital feedback for Microsoft is and how the different teams are managing and capturing feedback.

You can watch the video on Microsoft Channel 9.

If you want to know more about the different insider programs at Microsoft, Check out the Microsoft Insider page for an overview of some of the programs that Microsoft offers for our customers to join!

You can also watch other episodes of Azure Unblogged on Microsoft Channel 9 and check out my blog at

Let me know if you enjoyed the Azure Unblogged – Microsoft Feedback and Customer engagement programs video and if you have any questions, feel free to leave a comment. You can also subscribe to my YouTube channel here.