Call Us: US - +1 845 478 5244 | UK - +44 20 7193 7850 | AUS - +61 2 8005 4826

commands and parameters significant time investment

  • 08/23/2018
  • 5 minutes to read
  • Contributors
  • Learning names of commands and parameters requires a significant time investment with most command-line interfaces. The issue is that there are few patterns. Memorization is the only way to learn the commands and parameters that you need to use on a regular basis.

When you work with a new command or parameter, you can’t always use what you already know. You have to find and learn a new name. Traditionally, command-line interfaces start with a small set of tools and grow with incremental additions. It’s easy to see why there’s no standard structure. This seems logical for command names since each command is a separate tool. PowerShell has a better way to handle command names.

Most commands are built to manage elements of the operating system or applications, such as services or processes. The commands have names that may or may not fit into a family. For example, on Windows systems, you can use the net start and net stop commands to start and stop a service. Sc.exe is another service control tool for Windows. That name does not fit into the naming pattern for the net.exe service commands. For process management, Windows has the tasklist.execommand to list processes and the taskkill.exe command to kill processes.

Also, these commands have irregular parameter specifications. You can’t use the net startcommand to start a service on a remote computer. The sc.exe command can start a service on a remote computer. But to specify the remote computer, you must prefix its name with a double backslash. To start the spooler service on a remote computer named DC01, you type sc.exe \\DC01 start spooler. To list tasks running on DC01, you use the /S parameter and the computer name without backslashes. For example, tasklist /S DC01.