Securing web.config passwords and secrets in .NET

09 February, 2018

Sometimes we need to access remote systems that cannot use single sign-on or Kerberos, and are forced to store sensitive information in the web.config file. This could potentially be an issue if the server has access by several admins. In this case, you could encrypt the passwords.If you have the ability to add malicious code, reverse engineer the DLL etc, then sure you can get around it but it is an adequate solution for stopping people with read access to see your secrets.


Retrieving a SharePoint app URL using JSOM

13 November, 2017

At occasions, I need to call apps directly from other scripts. I then need the actual app web URL and cannot launch a dialog to find this.There are APIs out there to get this but the entire URL must be constructed.I know the app domain and redirect URL, but need to fetch the app web, i.e. the masquerade URL. To do this, I can use the following snippet:The key here is to send the app redirect URL together with a part of the app URL to check for.


Cleaning Publish Folders for TFS/Visual Studio Online

24 October, 2017

The data growth a year down the line on our build server is pretty insane. There are nearly a terabyte of files in the Publish folder, even though we run cleanup scripts after each build in the pipeline.The problem is that the retention in Visual Studio Online does not match what is in the Publish folder as these are never cleared. You need to create a pipeline step or run a script.I created a script that can be run on a schedule.


Script: Perform IISRESET on entire SharePoint farm

16 August, 2017

This short utility script can be used to restart IIS on all servers in a farm without specifying machine names.The last check verifies that the RPC call went thourgh successfully.


Outlook 2016 for Mac cannot connect to Exchange/Office 365

15 June, 2016

When logging into Exchange or Office 365 using Outlook 2016 for Mac. You receive the error “Authentication failed. Check your account information and try again” or the client simply stops syncing. I looked around various forums without any response but found that the cause for me was due to invalid KeyChain entries.