while($true) { try { $mutex = [System.Threading.Mutex]::OpenExisting(‘Global\_MSIExecute’) $mutex = $null Sleep 10 ‘MSI running…’ | Out-Default } catch [System.Threading.WaitHandleCannotBeOpenedException] { # Mutex not found; MSI isn’t running break } }