When you have Azure VMs up and running there is a function to auto shut them down when they are not being used. You can do that in a couple of ways. One of the newer ones is to use the Azure DevTest Labs functionality to do this. Half an hour before the VM is shut down Azure sends an email to a pre-defined adress where you have the option to post-pone or cancel the shutdown.
Today one of my colleagues asked me if it was possible to get this email, with the links, into Teams. My first thought was to send it to the Teams Channel email. Unfortunately did not display correctly…
My next try was to use the Webhook in DevTest Labs functionality and the incoming webhook connector in Teams. When I did this the message did not look very “user friendly”
So I thought I would give Power Automate a try. I set up DevTest Labs to send the email to my mailbox. The I creating a trigger for an incoming email and with a filter for the email adress that Azure DevTest Labs user
The I add a block posting to Teams Channel. In order to get it to work I had to cut down the message to size. I used the title tag in the email and the phrase “Note that” at the end of the message to cut away the beginning and the end of the message body to fit the message in the Teams post.
The Expression: substring(triggerBody()?[‘Body’],indexOf(triggerBody()?[‘Body’],'<H1′),sub(indexOf(triggerBody()?[‘Body’],’Note that’), indexOf(triggerBody()?[‘Body’],'<H1′)))
I was helping a friend today getting his Raspberry Pi prepped for running Hass.io. He mentioned that he could not get it to boot correctly and thought that it had to do with his laptop not being able to create the boot image correctly so I thought I would see it I could help.
Turned out the issue was not the image… When I opened the lid of the Pi I noticed that it had a RaZberry card installed… so I did what any PC tinkerer with a non-booting PC does… rip everything out and start with the bare essentials. Presto… it booted 🙂
Apparently the built in Bluetooth on the Pi 3 is interfering with the RaZberry card and you have to tweak the HassOS image in order to get it working.
First you add this to the config.txt in the root of the boot volume (you need to insert the card in a PC)
And then you add the following to the configuration.yaml file of Hass.io (the easiest way I found to get to it is installing the Samba plugin from whitin Hassio)
* Har du någonsin funderat på i vilket Azure Datacenter som det är billigast att köpa en vissa tjänst? (det kan vara 30-50% prisskillnad mellan datacenter).Eller i vilket Azure VM får man bästa prestandan per investerad USD?Eller vad är det egentligen för växelkurs om man väljer att köpa i NOK/SEK istället för USD?Alla dessa saker och mycket mer kan man hitta på den här sidan
At the company where I work we regularly have knowledge transfer sessions called Brown Bag Lunches (BBLs) which I think is a great way to share and give back. I am in charge of scheduling these.
I wanted automate the process for planning these sessions and give my colleagues a way to submit suggestions for content. I started by setting a simple Microsoft Form for them to add suggestions
Sorry about the Swedish 🙂
Microsoft has a page for looking at the results of the form submissions which I could have used to get the subjects and plan them manually… but where is the fun in that :-). My solution was to add a flow that is triggered every time a form is submitted which adds it to an excel spreadsheet and adds a todo task in my todo list of choice Todoist.
The result from Forms is in a JSON format so the first thing we need to do is to parse the JSON message.
The parsing of the JSON also means that we can use the content as dynamic content and add it without having to write an expression… the No-Code way. The JSON message also only contains the response id so we will have to use a “Get response details” block to get the actual information of the form.
The reason we are extracting the information is to put it in the Excel file… The response only contains the submitting users email adress so to get the excel file to look a bit nicer I use the Get User Profile block to look up the users real name from the Azure AD/SharePoint. This is a really cool block since it can get a whole lot of cool info from you organization such at a users manager etc.
Finally I add a line to an excel file and put a reminder i my todo list
I would really continue building this logic to automate the planning even further… I might have to revisit this in a later post 🙂
When running Dynamics 365 for Finance and Operations there are some legacy software built in. These are packaged as ClickOnce applications and will be downloaded every time you run them. In Internet Explorer and the old version of Microsoft Edge this worked out of the box since these are .Net aware out of the box. When is comes to the all new chromium based Microsoft Edge and Google Chrome this is not the case. In order to get these working we will need a plugin installed in the browser.
For Microsoft (Chromium) Edge To install in Edge the process is almost the same as for Google Chrome but with an additional steps prior to starting
Today I need to handle an older system… I need to verify if a hotfix is installed in and older AX 2009 system. I found this instruction online (link below): Here is another way to get the list of installed KBs in AX 2009:
Start the AOT (Ctrl + D)
Go to Classes – SysHotfixManifest and expand it
Select a methods and press Ctrl + A to select all methods
Right-click and click Add-Ins – Copy – Name
Paste into Wordpad (Notepad does not handle the CRs very well)
* Fullstyrka! Mats som är vid liv trots rykten. David som är ganska lycklig men inte för mycket, Björn som enligt uppgift är taskig och Johan som är nära att förstöra sin skärm genom att spruta Te på den.
* Mats har blivit skjuten av sin fästmö
* BLack Friday: Mats har köpt lite vapen, David har köpt lite samplings bibliotek och Johan har köpt Nest home mini.
I have an issue with cookies… And I do have an issue with real cookies… especially oat cookies… but we will not go into that today.
Today we are talking about browser cookies. Sometimes they are sort of creepy and sometimes they are absolutely essential for things to work. I ran inte one of the latter this week and I thought I had allowed all cookies for the specific site. Turns out I did not.
The site in this case is a customers help desk system and I had added the domain but I still got an error saying I needed to enable cookies. In order to find which cookies to allow you just do the following:
Click on the padlock to the left of the adress bar
Go to Blocked
Select the items in the list one-by-one
Note: This is of course not the customers site… this is my WordPress site for illustration
When trying to build a flow yesterday I got a confusing error:
Unable to process template language expressions in action ‘Create_Sprint_Period_in_Sharepoint’ inputs at line ‘1’ and column ‘2778’: ‘The template language expression ‘json(decodeBase64(triggerOutputs().headers[‘X-MS-APIM-Tokens’]))[‘$connections’][‘shared_sharepointonline’][‘connectionId’]’ cannot be evaluated because property ‘shared_sharepointonline’ doesn’t exist, available properties are ‘shared_office365, shared_todoist’. Please see https://aka.ms/logicexpressions for usage details.’.
The reason for this error is that you are test running the flow using data from a prior test from before you added the missing component (in this case sharepoint). You simply need to trigger the flow again med fresh data and it will work