5.1.8. Explain the basics of scripting. (Obj. 4.8)
š” First Principle: Scripting automates repetitive tasks, improving efficiency and reducing the potential for human error.
At its core, a script is just a simple computer program written as a plain text file. It contains a series of commands that are executed in sequence by an interpreter. The power of scripting is automation. If you find yourself performing the same set of command-line tasks over and over again, you can put those commands into a script and then run the script with a single double-click. This saves time, ensures the task is performed exactly the same way every time (reducing errors), and allows non-technical users to perform complex tasks.
You should be familiar with the file types and basic purposes of several scripting languages:
- Batch files (
.bat
): The original scripting language for Windows. It uses old DOS-style commands. It's simple but limited in its capabilities. - PowerShell (
.ps1
): The modern, powerful, object-oriented scripting and automation framework for Windows. It can do everything batch files can do and much, much more, including complex system administration tasks. A key security feature of PowerShell is that, by default, you cannot run scripts by double-clicking them. You must change the execution policy (e.g., using theSet-ExecutionPolicy
command). - Shell script (
.sh
): The standard for Linux and macOS. These scripts are run in the Bash (Bourne-Again Shell) or other shell environments. - Python (
.py
): A very popular, powerful, and relatively easy-to-learn general-purpose programming language. It's cross-platform (runs on Windows, Mac, and Linux) and is widely used for everything from web development to data science and automation. - JavaScript (
.js
): The primary language of the web, running in all web browsers. It's also used in other contexts, like server-side development and automation.
Common use cases for a help desk technician include writing a script to map network drives for a user, a script to clear temporary files and caches, or a script to automate the installation of a common application. You aren't expected to be a master programmer, but you should understand what scripts are, what they're for, and be able to identify the different types.
Technician's Insight:
Imagine you frequently have to set up new users in the sales department. For each user, you have to map three different network drives (e.g., S:
for Sales, T:
for Team, and P:
for Public). Doing this manually through the GUI for every user is tedious and prone to typos.
The Scripting Solution (Batch File):
You could create a simple batch file named MapSalesDrives.bat
with the following commands:
net use S: \\FILESRV01\Sales /persistent:yes
net use T: \\FILESRV01\TeamDocs /persistent:yes
net use P: \\FILESRV01\Public /persistent:yes
Now, when you set up a new sales user, you just run this single script, and all three drives are mapped perfectly every time. This is the essence of automation.
Reflection Question: How does using a script to automate a repetitive task improve both efficiency and accuracy?