This post is to give you context on a practical use case of using MutEx in PowerShell. From the MSDN documentation for the MutEx class , MutEx is : " A synchronization primitive that can also be used for interprocess synchronization." Mut - Mutually Ex - Exclusive Recently while deploying AzureStack, I saw multiple failed deployments, partly because of me not paying attention. But since it failed, I had to go and look at the code in an effort to see what went wrong. AzureStack runs all the deployment tasks for creating a POC by using scheduled tasks (runs in System context) heavily. Also the status of the deployment is tracked by using XML files (these are placed under C:\ProgramData\Microsoft\AzureStack\), so they have to avoid conflicts in reading and writing of these XML files from these tasks which are separate PowerShell processes.