If you’re like me, you love living on the digital edge, and using the newest bits all over.
When you go from Visual Studio Code, and step into Visual Studio Code – Insiders however, you will quite fast experience that you no longer can simply type
code .\ from the command line to start developing. This is because Microsoft is nice enough to ensure that you can co-run these two together, and the command would actually be
To solve this, you simply have to copy two files and rename them to code.
Note! This will break the coexisted experience between VS Code and VS Code – Insiders.
Let’s step trough them
- Browse to the path where you have installed Visual Studio Code – Insider. Default path is C
:\Program Files\Microsoft VS Code Insiders\bin.
code-insiders.cmd and paste them back in the same folder.
- Rename both copied files to simply
That’s it. You can now start Visual Studio Code – Insiders from the command line just as you’re used to.
When migrating your environment to Window 10, you would also be introduced to Edge. I like Edge, don’t get me wrong, but that’s not always the case with your old web applications.
The rescue squad in this case is something called Enterprise Mode
Configuring the Enterprise Mode list is quite straight forward when using the Enterprise Mode Site List Manager, so I won’t cover that one in this post.
The next step after getting the configuration right, is to make it available for all clients, and what’s better than a server less infrastructure to handle that part.
In this case I’ve chosen to host the file in a Azure Storage Account, which makes it highly available with a decent SLA, and it’s really fast to get started if you have a Azure Subscription.
- Start by creating an Azure Storage Account in a datacenter near you.
- Create a container, and set the Access type to Blob
- Upload your generated XML file.
There is just one caveat that I want to highlight. That’s the Cache-Control of your blob. If you don’t remove that one, the file will be cached on the client and it takes time to get new configuration rolled out.
Luckily, solving it is simple. Open Microsoft Azure Storage Explorer, browse to the file you have uploaded, and edit the Properties. In the CacheControl field, add “public, no-cache” , and click Save.
This ensures that the file isn’t cached on the client, and therefor also updated fast when you change it. For details on how to configure the perfect CacheControl for your environment, have a look at the following document: https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9
When you Azure AD join your device and activate Bitlocker, you get the option to store the Recovery Key in Azure AD.
If you ever wonder where to find them, they are all available from the Details Window for your registered devices in the Azure AD Management Portal.
A few easy steps to get there
- Open Azure AD in the Management Portal
- Open the Users tab and search/browse for the account you need to find recovery key for, then open it.
- Go to the Devices tab, and in the View box, select Devices.
- Select the affected device, and click View Details.
All registered keys should be visible
Had a case this other day where we where unable to get a unique identifier from the different source systems, and all of these where to enter the same Windows AD.
We have multiple countries with the same HR system each (Same system, but different databases). In all countries’ databases, the employee number stated on 10001. To solve this, we chose to prefix the employee number upon import. This isn’t a big deal, but it’s a bit more tricky when we need to make sure that a join is successful.
Not that tricky, but it takes time if you don’t know where to start, right?
As we have chosen to use Employee ID as the linked attribute, we decided to use this attribute for joining also. Why make it more complicated than we need to?
To begin, create a Management Agent Extension, and add the following Join rules there
void IMASynchronization.MapAttributesForJoin(string FlowRuleName, CSEntry csentry, ref ValueCollection values)
if ((csentry["employeeID"] != null) || (csentry["employeeID"].StringValue != ""))
String emloyeeIdWithPrefix = "NO" + csentry["employeeID"].StringValue;
throw new Exception(String.Format("EmployeeID can't be blank!"));
throw new EntryPointNotImplementedException();
Then configure the following join rules on the Management Agent
|Data Source Object Type
||Metaverse Object Type
|Data Source Attribute
||Rules Extension – JoinEmployeeID
||See join extension rule
|Use rules extension to resolve
Thanks, and hope this could help someone else also 🙂
It’s just a few hours till //Build Keynote, and the hottest developer conference in 2016 kicks off. But how about us IT Pros?
After skimming over the agenda, I see that not all of them are just for hard core developers. There is actually quite a few sessions that at least I find extra interesting. Below you can see the session I will be following, not all will be live, but hopefully most of them will be available on demand later on 🙂
For a complete list of all Channel9 live session, check this filter at channel9.msdn.com
Join me watching these videos, and lets prepare for Ignite 2016 later this year 🙂