Tag: remote

Microsoft Teams Video Call

How to host Tech Workshops and Trainings online

I just got asked by one of my blog readers, who is a consultant and trainer, about what tools I use to give online tech workshops and trainings. I thought this would make a good blog post; that’s why I want to share with you how you can provide tech workshops and trainings online. This can obviously also be used in day to day collaboration and meetings.

How to give Workshops and Trainings online

In my previous job, I worked with a lot of customers and provided workshops and trainings. Here are some of the tools I used, and I am still using. I know that there are a lot more applications out there which can give you a great experience. Some of them are optimized for public streaming, others for collaboration. The same is true for my list; depending on the use-case, meeting, workshop, or content you have, maybe one tool is better than the other. So have a look at these tools and decided which one works best for your workshop or training. I also need to point out that you can use them not just as a standalone app, but also in combination with each other.

Microsoft Teams

The first tool which pops in mind and is the one I use the most is Microsoft Teams. Microsoft Teams is a fantastic collaboration tool. It lets you do a couple of things like meetings and video calls with screen sharing and PowerPoint presentations as well as included whiteboard experience. In addition to meetings and chats, you also get a rich collaboration space with teams and channels, which you can also use to share workshops and training material over time. You can provide an excellent experience for your customers and team members even after the workshop or training is done. There are many features in Microsoft Teams. The best thing is to check out the product page to see all the capabilities of Microsoft Teams. You can invite people outside of your organization as guest accounts to have a collaboration space.

Microsoft Teams Video Call

Microsoft Teams Video Call

I want to share two of the live chat and video experiences that you can use in Microsoft Teams for online meetings, trainings, and workshops.

Microsoft Teams Online Meetings – This is the experience most users probably are familiar with. With Microsoft Teams online meetings, you can host audio, video, and web conferences with anyone, and you get features such as scheduling assistance, meeting note-taking, screen sharing, meeting recording, and instant messaging.

Microsoft Teams Live Events – With Microsoft Teams live events you can broadcast video and meeting content to large online audiences. This can be inside and outside of your company. Live Events are meant for one-to-many communications where you are leading the interactions, and audience participation is primarily to view the content shared by you. Live events feature is excellent if you want to organize things like webinars. While the online meetings functionality has a chat, the live events comes with a Q&A feature, which makes it easy to keep track and answer questions.

If you want to learn more about how to present PowerPoint in Microsoft Teams, check out Sarah Lean’s blog post.

Microsoft Whiteboard

Another tool I use a lot is the Microsoft Whiteboard app, and I already wrote a blog post about why IT Pros should use the Microsoft Whiteboard app.

Microsoft Whiteboard

Microsoft Whiteboard

The Whiteboard app is a digital whiteboard that allows you to invite people online to collaborate in real-time. It also integrates into Microsoft Teams as well.

PowerPoint – Present Online and record Presentations

PowerPoint Present Online

PowerPoint Present Online

As mentioned before, you can use Microsoft Teams to share and present your PowerPoints. However, what a lot of people don’t know is that PowerPoint already has an integrated sharing feature. You can share and broadcast your PowerPoint presentation online directly within PowerPoint, without the need for an additional tool.

Present Online in PowerPoint

Present Online in PowerPoint

You can also record PowerPoint presentations and share them online later on.

Record Slide Show

Record Slide Show

 

Visual Studio Code Remote Share

When it comes to code, Visual Studio and Visual Studio Code (VS Code) offer you a feature called Visual Studio Live Share. Live Share allows you to share your code in real-time. You can collaborate and work with multiple people on the same code. New is that you can not only join using VS Code or Visual Studio, but you can now also join by just using a browser.

Invite people with Visual Studio Live Share:

Visual Studio Code Live Share

Visual Studio Code Live Share

Collaborate on the same file:

Sharing code online with VS Code Live Share

Sharing code online with VS Code Live Share

I hope this blog was helpful and gives you a couple of ideas on how you can provide workshops and trainings online as well as collaborating in real-time with people. Let me know if you have any questions in the comments. Thanks to Martin Dimovski, who gave me the idea of this blog post.



Add a PowerShell Remoting Session in the Windows Terminal Menu

Add a PowerShell Remote Session in Windows Terminal

I am sure you have heard about the new Windows Terminal, which is in preview, and you can get it from the Windows Store. In this blog post, I want to share how you can add a PowerShell remote session to the drop-down menu in the Windows Terminal when you open a new tab. The new Windows Terminal is highly customizable and it allows you to run different shells like the classic command prompt, Windows PowerShell, PowerShell 7, and also Windows Subsystem for Linux shells (I am using, for example, Ubuntu with the Windows Subsystem for Linux 2 (WSL 2)).

Scott Hanselman wrote a great blog post on how you can add tabs to open an SSH connection directly, so why not do the same thing with PowerShell? In my example, I will add a tab in Windows Terminal, which opens up a PowerShell remoting session (using WS-Management WSMan) to an Azure virtual machine (VM). However, this would work with every other machine which you can access using PowerShell Remoting.

Add a PowerShell Remote Session in Windows Terminal Tab

To get started, we need to open up the settings of the Windows Terminal. This will open up a profiles.json file, which you can edit in your favorite editor, for example, Visual Studio Code. To add new “menu items,” you will need to add a profile to the profiles array in the JSON file. In my case, I will add two to different menu items, once I am going to do a PowerShell remoting session to an Azure VM using Windows PowerShell and in the other, I am going to use PowerShell 7.

Windows Terminal Settings profiles

Windows Terminal Settings profiles

You can see here the following to profile entries:

Remote Session using Windows PowerShell 5.1

{
"name":  "PS Thomas AzureVM",
"tabTitle": "PS Thomas Maurer AzureVM",
"commandline": "powershell.exe -NoProfile -NoExit -Command Enter-PSSession -ComputerName azurevmps.westeurope.cloudapp.azure.com -Credential thomas",
"icon": "C:/Users/thoma/Downloads/AzureVMIcon32.png"
},

Remote Session using PowerShell 7

{
"name":  "PS Thomas AzureVM",
"tabTitle": "PS Thomas Maurer AzureVM",
"commandline": "pwsh.exe -NoProfile -NoExit -Command Enter-PSSession -ComputerName azurevmps.westeurope.cloudapp.azure.com -Credential thomas",
"icon": "C:/Users/thoma/Downloads/AzureVMIcon32.png"
},

As you can see, we define the profile name and the tab title in for the Windows Terminal entry. We have the command line command here, which starts the PowerShell remoting session. The command opens a PowerShell session to a specific computer or server using the ComputerName parameter and the Credential parameter for the credentials. In my case, I am connecting to an Azure VM with the name azurevmps.westeurope.cloudapp.azure.com (could also be an IP address) and the username Thomas. The last thing I add is a small icon (32×32 pixel) since I am connecting to an Azure VM, I took the Azure VM icon.

In this scenario, I am using PowerShell Remoting over HTTP, you can use the same thing for your connections using PowerShell Remoting over HTTPS or even PowerShell Remoting over SSH which are way more secure, and should be used for your connections.

Now your Windows Terminal drop-down menu will look like this:

Add a PowerShell Remote Session in Windows Terminal Tab

Add a PowerShell Remote Session in Windows Terminal Tab

By selecting one of these profiles, you will automatically open a PowerShell remoting session to a specific computer or server in Windows Terminal.

Windows Terminal - Azure virtual machine VM PS Remote Session

Windows Terminal – Azure virtual machine VM PS Remote Session

I hope this gives you an idea of how you can add a PowerShell remote session in Windows Terminal menu. If you want to know more about the Windows Terminal, check out the following blog, and if you have any questions, please feel free to leave a comment.

If you want to know more about what’s new in PowerShell 7, or if you want to learn more about how to customize the Windows Terminal, check out my blog.



SSH Remote Edit File with Visual Studio Code

Remote Edit Files on Azure Linux VMs using VS Code

There are a lot of different ways to remote manage your Azure virtual machines using various tools and technics. In this blog post, I am going to show you how you can remotely edit files on Azure Linux virtual machines using Visual Studio Code. Visual Studio Code has a new Remote Development Extention which allows you to open any folder in a container, on a remote computer, or in the Windows Subsystem for Linux (WSL) and take advantage of the VS Code feature set. With the Remote – SSH extensions, you can easily browse and edit files on an Azure VM or any other system where you can connect using SSH.

Installation

As mentioned to edit the files on the Azure Linux virtual machine remotely, we are using the light-weight, cross-platform, opensource editor Visual Studio Code. You can download and install VS Code from the official website.

Visual Studio Code Remote Development Extension

In addition to Visual Studio code, we need to install the Remote – SSH extension, which comes with Remote Development Extension Pack. This also includes remote extensions for containers or the Windows Subsystem for Linux (WSL).

If you are running on a Windows 10 machine, you will also need to install the OpenSSH client on your machine. You can do that going through this blog post, or by running this command.

# Install the OpenSSH Client
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0

Azure VM connection using SSH

The Remote – SSH extensions currently only supports connecting to x86_64 Linux-based SSH servers using key-based authentication.

Optional: Create Azure Linux VM with key-based SSH authentication using the Azure CLI

Create Azure Linux VM Azure CLI SSH Keys DNS Name

If you want to try it out, and you haven’t set up a Linux VM SSH and key-based authentication. This Azure CLI command here helps you to create a new Azure virtual machine and sets up ssh keys as well as an optional unique Azure DNS name.

az vm create --resource-group demosshvm --name tomsVM --image UbuntuLTS --admin-username thomas --generate-ssh-keys --public-ip-address-dns-name tomsazurelinuxvm

In this example, you can use the public IP address or the Azure FQDN to connect to the Azure VM. If you have a VPN or Express Route set up, you can also use private IP addresses and DNS names. If you are using public IP addresses in production, make sure you are using a service like Azure Just in Time VM access.

Connect Visual Studio Code to Azure VM using SSH

After you have installed Visual Studio Code, the Remote – SSH extension, the SSH client and have a VM with key-based authentication, you can now easily connect. Open Visual Studio Code, on the bottom left, you see the Remote connection button. If you press it, you will find the remoting options. Select “Remote-SSH: Connect to Host…

Visual Studio Open Remote SSH Connection

This will ask you for the username and IP address or DNS name of the virtual machine. In my case, I am going to use the DNS name.

Visual Studio Code SSH Remoting Connection

 

After pressing enter, this will connect your Visual Studio Code environment to the Azure virtual machine.

Visual Studio Code SSH Connection

 

Remote edit files on Azure Linux VMs using VS Code

You can start opening folders and files on the remote Azure Linux VM and begin browsing the file system. On the bottom left, you see the name or IP address of the machine you are connected with.

SSH Remote File System Visual Studio Code

You can also open files and start remote edit files on your Azure Linux VM. If you save the changes you made to the file, this is directly saved on the remote Azure virtual machine.

SSH Remote Edit File with Visual Studio Code

You get all the advanced VS Code features you know from your local Visual Studio Code like syntax-highlighting and more.

I hope this shows you an easy way to remotely edit files on your Azure Linux virtual machines using Visual Studio Code and SSH. If you have any questions, please let me know in the comments.



PowerShell Direct Enter-PSSession

Hyper-V PowerShell Direct

One of the new features of Hyper-V in Windows Server 2016 and Windows 10 is called PowerShell Direct. PowerShell Direct lets you remotely connect to a Virtual Machine running on a Hyper-V host, without any network connection inside the Virtual Machine. PowerShell Direct uses the Hyper-V VMBus to connect inside the Virtual Machine. This feature is convenient if you need it for automation and configuration for Virtual Machines or if you for example messed up network configuration inside the virtual machine and you don’t have console access.

Right now, there are two ways to use PowerShell Direct:

  • Create and exit a PowerShell Direct session using PSSession cmdlets
  • Run script or command with the Invoke-Command cmdlet
  • Use the PowerShell Direct session to copy files using the copy-item cmdlet

Requirements:

  • The virtual machine must be running locally on the Hyper-V host and must be started.
  • You must be logged into the host computer as a Hyper-V administrator.
  • You must supply valid user credentials for the virtual machine.
  • The host operating system must run Windows 10, Windows Server 2016, or a higher version.
  • The virtual machine must run Windows 10, Windows Server 2016, or a higher version.

PowerShell Direct examples

You can open a new interactive PowerShell Direct Session:

PowerShell Direct Enter-PSSession

Enter-PSSession -VMName "VM01" -Credential (Get-Credential)

PowerShell Direct Invoke-Command

You can use Invoke-Command to send script blocks to your Hyper-V Virtual Machines.

Invoke-Command -VMName "VM01" -Credential (Get-Credential) -ScriptBlock { Get-Process }

You can also create a PowerShell Direct session and use the Copy-Item -ToSession cmdlet to copy files to or from the VM.

$s = New-PSSession -VMName "VM01" -Credential (Get-Credential)
Copy-Item C:\Files C:\Targetfiles -ToSession $s

Remember it, this is not the same as PowerShell Remoting, even if it uses the same cmdlets. With that, not everything is working using PowerShell Direct, for some scenarios, PowerShell Remoting works differently. If you want to do this with Linux virtual machines, there is a tool called hvc.exe, which allows you to do the same.

If you want to know more about PowerShell Direct, check out the Microsoft Docs pages.



Microsoft Remote Desktop Preview App

Microsoft Remote Desktop Preview App for Windows 10

Yesterday Microsoft announced a new Remote Desktop Preview app for Windows 10 Universal Windows Platform (UWP) on the Remote Desktop Services Blog. You can get and download from the Windows Store. The new Remote Desktop Preview app has a connection center to manage your connections to Windows Clients and Windows Server. The connection center is your starting point. It allows you to easily manage your desktops. You can add new desktop connections and edit or delete existing connections. Selecting one of the desktop tiles launches the connection. It’s great to see Microsoft finally creating some great Apps for their own Universal Windows Platform.

Microsoft Remote Desktop Preview App Connection Center



Windows Intune July 2011 Beta

Windows Intune Logo

Microsoft released the July 2011 Beta of Windows Intune yesterday. The new beta brings a lot of new cool features which were missing in the first version of Windows Intune.

  • Software Distribution
  • License Management for third-party software
  • Enhanced Reporting
  • Read-only Access Administrators
  • Offline Client Installation
  • Remote Tasks (Malware scan etc)
  • and more…

If you need more information on the July beta of Windows Intune you can download the Factsheet or get more information on technet.

I think through this update Windows Intune gets the features it needs to be successful. This is a great opportunity for small and mid-sized which not had a Software Distribution in place, to get an easy solution.



Run Remote Powershell Commands on multiple standalone Computers

Powershell Header

With this little Powershell Script you can run Powershell Commands on multiple Remotehosts even if those are not in an Active Directory.

# Config
$Servers = @("Server01", Server02)
$Cred = Get-Credential # Add Credentials for all Servers (Domain or non-Domain)
 
# Run Command (for example Get-Service | Where-Object {$_.Name -eq "BITS"}
foreach ($Server in $Servers) {
	Invoke-Command -ComputerName $Server -Credential $Cred {Get-Service | Where-Object {$_.Name -eq "BITS"}}
}

Important:

You have to enable Powershell Remoting on the Remotehost with Enable-PSRemoting