How do I test my scripts before I run them? I'm afraid of doing some damage and want to know the best way to minimize that risk.
To increase script safety, build a script in little pieces and test each piece before combining it with the others. This technique can reduce the possibility of a script failing ungracefully or changing things that it shouldn't. Before you put scripts on production machines, run them on a test workstation or server to be sure they perform correctly.
If you're testing a script that might affect other network users, isolate your test workstation or server from the production network. Otherwise, a script that includes the command
NET SEND /DOMAIN:%mydomain% Test Message
could send a pop-up message to several thousand desktops, infuriating the network team.
To check whether your commands have the proper variable values, precede them with the Echo command. For example, the command
NET Localgroup %Group% %Domain%\%User%
would be
ECHO NET Localgroup %Group% %Domain%\%User%
This technique prevents the command from executing and just outputs the variables to the screen or a log file.
Treat Delete and other potentially destructive commands with respect. Before going to production, very carefully test scripting operations that delete, move, or rename files; modify registry entries; or affect users or groups.