windows environment variables can cause some confusion when it comes to qestuon should I restart the machine?
I will give the most common answer.... it depends:
If you use system environment variable and you create or modify the variable than you have to restart according to Microsoft article but that can change in the future so ensure you find the latest info for your operating system. Also I noticed that is not always true. Recenty I used clustered environment and I didn't have to do it although there were other odd issues.
If you use user environment variable then you don't have to restart the machine (according to microsoft, subject to change) but you most likely will have to restart the program you use so it can pick up new list of environment variable.
For instance if you open command line tool and try to display a value of environement variable that doesn't exist yet; it obviously won't find it. If you than add user environement variable and try again it won't find it but if you close command line and open it and try again than it will find it.
For those using SSIS remember to restart BIDS and SQL Agent in order to pick up the new user environment variable.