ELPOIT #444 – Ett sarkastiskt -ish

Om Shownotes ser konstiga ut (exempelvis om alla länkar saknas. Det ska finnas MASSOR med länkar) så finns de på webben här också: https://www.enlitenpoddomit.se 
Avsnitt 444 spelades in den 16 januari och därför så handlar dagens avsnitt om:

– Alla har haft en vecka… Björn ha beställt en resa, och haft kul (se nedan unde bonuslänken också). Johan har haft två FANTASKTISKA luncher, haft spelkväll, och tränat yoga. Dessutom så har han lyckats sammanfatta saker efter taggar i Obsidian.
Desutom så har vi i podden haft ett möte 

BONUSLÄNK: Promten jag började med
“I would like to be better at programming in Python. I’m a novice, but have some very light programming history years ago. 
Can you help me learn programming Python and act as a tutor? 
What I want to do is use the challenges that are presented within the Advent of Code. I will ask you about things I want to solve, and I would like you to help me with creating the solutions, but also explain if there are specific things or concept that I should be aware of.
Also if I ask you about specific syntaxes or Python commands or functions I would like you to explain what they are, and if so is needed also show the syntaxes and if needed common examples on how to use he commands or functions.
Basically I want you yo help become a better programmer by using the challenges from Advents of Code. 

Is that something that you can do? Is there any other information you need to do this?”


– Nu är Epic vs Apple slut
– RIP Beeper Mini
– Vi pratade om New york Times och deras stämning. Open AI hälsar nu att de MÅSTE använda copyrighat material. Så det så.

– Copilot für alle
– Windows får nya funktioner 2024

– Apple stänger av O2 mätaren på Apple Watch I USA
– Vision Pro är på G
– Apple slår Samsung för första gången ever
– Apple micklar med AppStore

– Google Maps får Bluetooth Navigering

– Björn: Världens kanske roligaste leksak!!!!
– Johan: Kabinväska

– En Liten Podd Om IT på webben, 
– En Liten Podd Om IT på Facebook, 
– En Liten Podd Om IT på Youtube, 
– Ge oss gärna en recension
   – https://podcasts.apple.com/se/podcast/en-liten-podd-om-it/id946204577?mt=2#see-all/reviews  
   – https://www.podchaser.com/podcasts/en-liten-podd-om-it-158069 

– Apple Podcaster (iTunes), https://itunes.apple.com/se/podcast/en-liten-podd-om-it/id946204577 
– Overcast, https://overcast.fm/itunes946204577/en-liten-podd-om-it 
– Acast, https://www.acast.com/enlitenpoddomit 
– Spotify, https://open.spotify.com/show/2e8wX1O4FbD6M2ocJdXBW7?si=HFFErR8YRlKrELsUD–Ujg%20 
– Stitcher, https://www.stitcher.com/podcast/the-nerd-herd/en-liten-podd-om-it 
– YouTube, https://www.youtube.com/enlitenpoddomit 


(Och glöm inte att maila bjorn@enlitenpoddomit.se om du vill ha klistermärken, skicka med en postadress bara. 🙂 

Unable to import users in Cloud Hosted Environment

At one of my customers I just set up a couple of new Cloud Hosted Environments (version 10.0.37 which turns out to be important) and when I tried to import the users from EntraID/AzureAD I got the following error

Cannot Find Thumbprint by Certificatename

After some troubleshooting och looking through Yammer I saw others that had the same issue. Apparently the issue had started happen after 15:th November (which also turned out to be important).

It turns out that Microsoft had discovered a potential security issue in the template used for creating the Cloud Hosted Environments. There used to be a connection in every Cloud Hosted Environment that allowed it to make lookups toi Azure AD/EntraID to be able to import users. For security reasons, this connection is no longer there by default. You will still be able to manually add users, but if you want to import users you will need to create the connection in the Virtual Machine.

1. Create a new App Registration in EntraID

2. In the Cloud Hosted VM run the following PowerShell Snippet (in an elevated Powershell prompt, aka Run as Administrator) to create a new Certificate.

New-SelfSignedCertificate -CertStoreLocation Cert:\LocalMachine\My -DnsName "CHECert" -KeyExportPolicy Exportable -HashAlgorithm sha256 -KeyLength 2048 -KeySpec Signature -Provider "Microsoft Enhanced RSA and AES Cryptographic Provider" -NotBefore (Get-Date -Year 2020 -Month 5 -Day 1) -NotAfter (Get-Date -Year 2033 -Month 12 -Day 31)

3. Start “Manage Computer Certificates” and find your newly created Cert. It should be in Local Computer – Personal – Certificates and it should be called “CHECert”. Export the certificate with default settings (Right-Click – All Tasks – Export) and save it in a folder you remember.

4. Go back to the App Registration you created in Step one, Go to Certificates and Secrets. Under Certificated, click upload certificate and choose you exported certificate

5. You need to add an Redirect URI to the AppRegistration. Go to Authentication, click Add a platform – Web and past the URL for the Cloud Hosted Dynamics environment

6. Add the following permissions to API Permissions and then click Grand admin concent…

7. In the Cloud Hosted VM, go back to “Manage Computer Certificates” and Right-Click (the Certificate) – All Tasks – Manage Private Keys. Give NETWORK SERVICE permissions to use the Certificate

8. In the Cloud Hosted VM, start Notepad as Admin and edit K:\AOS service\Webroot\web.config file. Edit the following keys:

<add key="Aad.Realm" value="spn:[TheAppIDfromStep1]" />
<add key="Infrastructure.S2SCertThumbprint" value="[YTheThumbPrintfromStep2]" />
<add key="GraphApi.GraphAPIServicePrincipalCert" value="[YTheThumbPrintfromStep2]" />

9. In the Cloud Hosted VM, start an elevated Command Prompt and run and iisreset

Validate by trying to import users

Secure one-box development environments

Cannot access form Sales charge codes

I had an issue today at a customer… We were not able to open the Charge code form in one of our environments.

When we tried to open the form we also got a couple more error messages. tThe first saying that we could not read Retail Headquarter Parameters which lead us to try that form and we got an error which looks like: Parameter record does not exist.

Turns out that this was a bug introduced in 10.0.37 and which will be fixed in 10.0.38 related to the feature called Enable proper tax calculation for returns with partial quantity. When this feature is enabled the system is not able to create a line in the parameter table for Retail Headquarters due to a default value is not allowed.

The workaround is to disable the feature temporarily, initiate the creation of Retail parameters in the affected companies and then re-enable the feature.

Good luck

Details for issue 849710 (dynamics.com)

Issues with DBsync step during deploy

Today, when I was deploying customization package to a newly deployed config environment, I had an issue with a step not working correctly. The environment had not yet been used for anything so I hadn´t even copied a database to it. When I deployed the customization package to it I got the following error in the runbook log and the deploy failed:

Table Sync Failed for Table: SQLDICTIONARY. Exception: System.NotSupportedException: TableID not yet generated for table: AmcBankReconciliations

The sync step in the runbook is failing because there is no TableID for the table AmcBankReconciliations. And I thought that was exactly what the sync process was supposed to do (??).

Having no clue about why this happened I first turned to Google (as one does) and when I could not find anything there I asked my awesome colleagues and one of the said:

“I have seen newly deployed environments behaving strangely and my solution usually is to start Visual Studio and perform a DB Sync”

This was a bit strange since it was the Sync Step that failed but I thought I would give it a try. Since this was a config environment that is not going to use Visual Studio, I instead opted for using the amazing [d365fo.tools](GitHub – d365collaborative/d365fo.tools: Tools used for Dynamics 365 Finance and Operations) to do the sync

Invoke-D365DBSync -Verbose

When the sync had finished I tried resuming the deploy and to my surprise it finished perfectly… Nice 🙂

Authentication Method deprecation D365FO WMS

I got an email from a customer the other day explaining the he got an error message from his WMS mobile app saying:

This device uses an authentication method that will soon be discontinued. Your organization should prepare to move to device code flow authentication before then.

Here is a short step by step guide on what needs to be done to switch

  1. In the Azure Portal, find the App registration that you are using for authentication and make sure Enable the following mobile and desktop flows is set to Yes
  1. In Application Registration go to API Permissions and verify these settings:
  1. Still in the Azure Portal, go to Microsoft Entra ID – Enterprise Applications. Find the same Client ID as above and open it. Make sure that the Assignment Required and Visible to users is set as below

  1. Click Users and Groups, add all users (or groups of users) that will have permission to register new new WMS Devices

I noticed you also need to delete the existing connection from the WMS app and create a new one. The simplest way is to create a new connection file and import it or generate a new QR code. Use this file as a template:

    "ConnectionList": [
            "ConnectionName": "Tier2 Warehouse",
            "ActiveDirectoryResource": "https://xxxx.sandbox.operations.dynamics.com/",
            "ActiveDirectoryTenant": "https://login.windows.net/tenantdomain.com",
            "Company": "USMF",
            "IsEditable": false,
            "IsDefaultConnection": true,
            "ConnectionType": "devicecode"


User-based authentication – Supply Chain Management | Dynamics 365 | Microsoft Learn

QR Generator

I cannot find my Sharepoint Site in Power Automate

Today I helped a customer setting up a Power Automate Flow that needed to freate a folder in a Sharepoint Library.

When I clicked the dropdown in the flow step the Site was not there… WT?

I entered the URL in Flow and it said that it was able to find the site. When I pasted it into the address bar in Edge it worked perfectly… Hmmm…

After a lot of troubleshooting (aka Googling) I found a forum post that explained that apparently even cloud servers does need a bit of a warm-up stretch to get up to speed- 🙂

Note… I do NOT take any kind of credit for this solution… Just saving it for myself

Re: We are unable to find the site address. Please… – Power Platform Community (microsoft.com)

Help!! I closed the Excel Addin

A colleague of mine pinged me today and wondered if there is a way to reopen the Dynamics Excel Addin if you accidentally closed it, other than going back to Dynamics and reopen the file.

Since she was nice enough to ask the question and i did not know the answer I thought I might as well write it down so I do not forget 🙂

1. In Excel, go to the insert tab. Then click My Addins

2. Click on Microsoft Dynamics (if it is not there, click See all… instead and you will find it in the list)

3. The Addin will open up again and reload the condent of the excel file from Dynamics 365 FO

Good Luck

Extended FnO fields in DataVerse

Last week I had an issue with DataEvents. We hav made a change to an entity in FnO and we wanted the new fields for be visible in the JSON message sent by Data Events. We did not get the correct information in the JSON message. This did not work… I tested the following tips

– Refresh the entity list
– Refresh the entity Mappings
– Reactivated the Data Event
– Rebuild  business event catalog (from the manage tab in Business Events Catalog)
– Did an DMF export to verify that the data is correct
– I checked the OData feed from FnO and the fields looked OK. Dataevents use Virtual Entities and Virtual Entities are based on OData

When I Look in Dataverse the added fields are not visible… strange… No wonder the message is not correct.

What you need to do to get this working is that you need to go to Advanced find in CRM/CE and find the entity in Available Finance and Operation Entities. Open it by clicking on it.

The next part is a little hidden… If you click the — besides Refresh, it will turn into a checkbox

Check it and then click Save

NOTE: When I did this the first few times it did not work. I am not positive why but I think it might be because did not wait for it to finish saving completely. Let it take its time… get a coffee (or other beverage of choice)

Once you have done this, go back to the maker portal and verify that the field is visible there

Thanks for the Tip, Nurlin

How to refresh FinOps Virtual Entity in CDS ? – Dynamics 365 Finance Forum Community Forum

Set up the Azure Machine Learning Service for Demand Forecasting – Addendum

This article is sort or addendum to the Microsoft Learn articles for setting up Demand Forecasting with Azure Machine Learning. I got the request from one of my colleagues to set this up in out demo environment and as I went through the step-by-step guide I notices that some of the steps were unclear so I thought I would write down my own experiences:

1. To start I downloaded the setup files from GitHub and when I started setting them up I noticed some quirks. First of all you need to install Azure CLI and the correct ML extension. You get Azure CLI from here. To install the azure-cli-ml run the following command:

az extension add --name azure-cli-ml

Note that there are two different Azure ML extensions and the install script has a verification that checks that azure-cli-ml is installed… so the other one will not work (azure-cli-ml is the older version and ml is the newer version). The other thing to note is that the azure-cli-ml and ml is incompatible. If you have installed ml you need to uninstall it dy running:

az extension remove -n ml

I have not tested if you can just change the install script to use the new one instead.

2. The second issue I noticed was that there is a parameter hardcoded in the PowerShell Script which is also documented in GitHub. The solution is the the following line in quick_setup.ps1

$computeInstance_Name = "notebookScryptExecutor"

Change the variable value to something else. (Note that there is a maximum field length of 24).

3. The install script will create the following resources

– Azure AD App registration
– Azure ML Workspace
– Azure Storage Account with some containers

In order to do this, the correct permissions in Azure are needed. Otherwise, the script will fail.

Set up the Azure Machine Learning Service
Demand forecasting setup
GitHub – microsoft/Templates-For-Dynamics-365-Supply-Chain-Management-Demand-Forecasting-With-Azure-Machine-Learning: Samples, templates and setup guides in order to run demand forecasting in Azure Machine Learning Service and integrate with Dynamics 365 SCM
Compute instance name hardcoded in quick_setup.ps1 · Issue #4 · microsoft/Templates-For-Dynamics-365-Supply-Chain-Management-Demand-Forecasting-With-Azure-Machine-Learning · GitHub