Category: Windows 10

How I Manage and Plan Tasks as a Remote Worker

How I Manage and Plan Tasks as a Remote Worker

I know being a remote worker and working from home can be a challenge, especially when it comes to managing and planning your tasks and to-dos. Since I started at Microsoft, I became a remote worker working from my home office, and I needed to figure out what the best way for me is to get things done. In this blog, I want to share my experience on how to manage and plan tasks as a remote worker working from home and be more productive. That said, this is specifically for my job and my personal preferences, this might not work in the exact same way for you. But I hope you get some tips and tricks out of it, which can help you to be more productive when you are working from home.

Getting an Overview of my Tasks and the Things I need to work on 🤓

To get your tasks and your work items planned, you first need to know what these are. Not just for you but also for your team and the people you are working with. So for me, there are two types of to-do items. First of all, the more significant things I am working on, alone but also together with my team. This helps you to collaborate in a team and also gives a good overview of who is doing what. The other things to-dos and tasks I want to track are all my personal ones (but still work-related), small tasks, ideas, emails I need to reply, and so on. For me separating this made a lot of sense since I also want to be very efficient and not spend time more time on a task writing it down than actually completing it (If it is not something the team should know about). With that, I quickly want to share how we collaborate and plan and track our work as a team, as well as how I work with my own personal work tasks.

Working and Collaborating in a Team 🙌

As a team, we are using Azure DevOps Boards to track and plan our work items. We can create new work items and then move them into the “in progress”-column. When the task is completed, we then move it in to closed. You can also see that we are tracking and planning our content we are publishing, offline and online events we are presenting at, and much more. You can see that we also use that board to plan and schedule posts on our ITOpsTalk.com blog. With that, we can easily plan and see who is releasing a blog on what topic on which specific day.

Work Items in Azure DevOps Boards

Work Items in Azure DevOps Boards

Azure DevOps also allows us to integrate into other systems and automate specific tasks and update databases. I know that Azure DevOps is might not be for everyone, but if you want to use a similar but simpler tool to collaborate and organize your teamwork, you should have a look at Microsoft Planner.

Managing my Personal Tasks ✔

For all the rest of my tasks, I use the Microsoft To Do app. The app helps me to organize different tasks in different lists. This is also how I write down ideas or to-dos I get out of a meeting or a conversation.

Microsoft To Do Management

Microsoft To Do Management

I don’t use the planning feature in the To Do app since I use my calendar for doing the planning. However, I still use it to give my tasks a time where they pop up, so I don’t forget to include them. Again using the Microsoft To Do app has a couple of advantages. First of all, you basically get this app on almost all devices I own, and it automatically syncs tasks, and there is also a web version. What I also highly appreciate is the fact that it connects to many other services and places and can show you tasks from different places like Outlook. For example, I can easily list all the emails I flagged and the Microsoft Planner tasks which are assigned to me.

One personal thing I can recommend is to create some quick notes lists. I, for example, created one for feedback, I often get feedback from customers during events or calls. To quickly write these items down, I use a list called Feedback in my Microsoft To Do app, and later on go through it and forward it to the right people and systems we have in place. The other quick lists I created are for recurring meetings. From time to time, something pops in my head, which I want to discuss during my next team meeting or my 1:1 with my manager. I quickly write that item down, and when the meeting starts, I can quickly open the list and make sure I don’t forget anything I wanted to discuss.

Planning my Tasks and my Week using Calendar Blocking 📅

Okay, now I have all of my tasks and to-dos listed, the next step is to plan them. One of the main challenges I found myself in was to figure out what I should work next. I have enough tasks, but it took me a lot of time to go through them and decided on which one I should work. Of course, you can prioritize your tasks, but since you also have meetings scheduled, one that is sometimes too big to start with. To make that process a little bit easier, I used the concept of calendar blocking.

There are many great articles and videos out there, which describe the concept of calendar blocking. For me it is straightforward, at the beginning of the week, I open up my Outlook calendar and a list of the tasks and items I need to do. I then start to put blocks in my calendar to plan when I am working on which item or task. So now, when I finish a task, I just have a look at my calendar, and I can see what I should work on next.

I also set myself some rules, and I had certain learnings over time. First, calendar items or blocks are not necessarily fixed, and they can be moved around as long as the deadline allows it. Sometimes you can’t finish something in time, so you might just want to keep working on it and move the other block or item for later. Secondly, I try to create as many recurring blocks as I can; this makes planning much more comfortable and faster and gives you some sort of consistency. Third, usually, my work items and blocks are larger then they need to be, I still want to have some time to interact with others on Microsoft Teams or just get a coffee, without stressing myself out.

All that said, I want to give you a quick example of how a week can look like. I want to highlight again, that this is based on my personal preferences and aligned with the teams I work with, it can be entirely different for you.

How I Manage and Plan Tasks as a Remote Worker

How I manage and plan tasks as a remote worker

Usually, I start planning my week on Sunday evening or Monday morning. A lot of blocks are already in my calendar because I created these recurring tasks and entries. Then I go into my Microsoft To Do App and my Azure Board, to check what the open tasks are I should be working at, and start blocking time for these items.

Outlook Calendar Blocking

Outlook Calendar Blocking

In this example, I want to quickly highlight a couple of things.

  1. As said before, you can see that many of my blocks are recurring tasks; this helps me to save time.
  2. I usually start the week with something easy I just can do, and I don’t need much brainpower, like reporting tasks. By just quickly getting these things done, I also get motivated to get more tasks done.
  3. I plan breaks to make sure that I don’t mess up my whole schedule. They are usually recurring tasks in my calendar.
  4. Even recurring tasks and blocks and easily moved around, depending on if I have meetings or different appointments going on.
  5. Since we are a remote team with people all over the globe, I can’t attend all of our meetings, and that is fine. We record our meetings, and I usually schedule some time to watch the recording.
  6. Working from home prevents you from having your usual chats with your colleagues while getting coffee or other breaks. That’s why our organization has some scheduled and recurring watercooler events for everyone to join.
  7. You can see here that I blocked some time to do some focus work on a specific topic. However, at the beginning of the week, I have no idea what and how many meetings I will have. Since a lot of people I usually collaborate are in another timezone and start working in my afternoon, I enter a blocker in my calendar but marked it as free. So people can still find some free time to schedule meetings with me using the Outlook availability feature.
  8. Here you can see I booked some focus time to work on a specific task. However, later in the week, I scheduled some meetings instead.
  9. I use the category feature in Outlook to color code my blocks depending on different tasks. Red, for example, means focus work, dark red means collaboration work and meetings, and orange are important meetings.
  10. One thing I like to do as a remote worker is to schedule some virtual coffee breaks with my co-workers over teams, outside of the regular meetings.
  11. I also highlight important tasks where I am presenting or speaking on a specific topic. Having that color-coding for these also reminds me to be prepared with the necessary content.

Note Taking

Another big part, to stay organized and get things done, is the way I am taking notes. I need a place to write down my meeting notes, or my planning for new projects and content, as well as my travel planning. For that I am using Microsoft OneNote, it is great because it syncs across all my devices, lets me do typing as well as handwritten notes, and has many more awesome features.

Taking Notes in OneNote

Taking Notes in OneNote

I can also easily collaborate and share notes with others as well as super easy automate processes using Power Automate. We are also using it a lot in our team to brainstorm ideas and work together.

There is also some stuff I always need ready, or I just quickly want to write down, or maybe quickly want to copy past later or something I need all the time. For that, I am using the Windows 10 Stick Notes app.

Stick Notes

Stick Notes

These also sync across my devices and really help me to get these quick notes done.

Automate processes between these tools

As you can see there are many tools which can help you to stay organized. However, too many tools can also have the opposite effect and can use a lot of time. I start using Power Automate (formerly known as Microsoft Flow) which is part of the Microsoft Power Apps. Power Automate helps me to easily connect different tools and services together. For example, I can automatically create a new Outlook task or Microsoft To Do task when an Azure DevOps workitem is assigned. Power Automate can also do things like sending emails or notifications, send an article to OneNote, integration with Microsoft Teams. and integrates in many other third-party services.

Automate tasks using Power Automate

Automate tasks using Power Automate

Conclusion

I hope this gives you a little bit of an overview of how I manage and plan my tasks as a remote worker. I know that this might not work for you in the same way as it does for me; however, I hope you get the one or other idea out of it. It is also important to mention that I highlighted a couple of different tools like Azure Boards, Microsoft Planner, Microsoft To Do and Outlook, I know that there are much more out there and maybe work better for your specific scenario. Again, I would never say I am an expert on that. I just wanted to share how I handle and manage my tasks when working from home, and I am super interested in learning from you, and how you organize yourself to become more productive. If you have any tips and tricks to share, 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 tomsssh.server.com -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 ITOpsTalk.com.

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.



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 settings.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. If you are looking to create the same Windows Terminal menu entry using a simple SSH connection, check out my blog post here.

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.



Run Azure PowerShell in a Docker Container Image

Run Azure PowerShell in a Docker Container

Yesterday, the Azure PowerShell team announced the Azure PowerShell Docker Container images. In this post, I want to quickly highlight that announcement and show you how you can download, pull, and run Azure PowerShell in a Docker container image from Microsoft.

But first, let’s talk about why you would want to run an Azure PowerShell in a Docker container. Azure is continuously evolving, and the Azure PowerShell team releases a new version of the Azure PowerShell modules every three weeks. This makes it challenging to maintain a production or development environment up to date and ensuring the smooth execution of scripts. With the Azure PowerShell docker container image, you can quickly run scripts against a specific version of Azure PowerShell.

The team highlights the current scenarios:

  • On the same machine, you can run scripts that are using a different version of Az with no conflicts.
  • You can test a script against a different version of Az with no risks.
  • You can run the latest container image interactively.


Home Office Setup 2020

My Home Office Setup 2020 – How does yours look like?

A couple of days ago, Microsoft and other companies recommended that people work from home (if they can) due to the Corona disease (COVID-19). Since I am part of a remote team, I work mostly from home when I am not traveling, and so let me share my home office setup 2020 with you. I did share my home office setup already in 2018 after we just moved. Since then, I have upgraded my home office with a couple of new things, which I believe make working from home even more productive and enjoyable.

This is it, this is my Home Office Setup in 2020

Here is a quick view at my desk setup: