Hi, I'm Bill.
This is a repository that I created for the purpose of storing and sharing scripts that I've written.
In here, you will find batch scripts, bash scripts, powershell scripts, text files containing scripts, and other types of scripts.
No movie scripts though... ...yet.
I'm learning how to write scripts as part of my coursework for my classes at Code Fellows.
The reason I'm taking these classes is because I'm in pursuit of a career change, and decided to explore tech; namely, cybersecurity.
At the time I'm writing this, I'm at the tail end of my third week in the 201 class. We've been learning a whole lot of concepts in a very short amount of time. This whole 201 course is only 4 weeks long.
So far, we've learned about System Restore, GitHub, VS Code, Bash Scripting, SSH, Linux Terminal, How Spiceworks works, how HelpDesks operate, and the various roles that the HelpDesk team is comprised of. We learned about Troubleshooting methodologies that serve as industry standards, how to practice good documentation, and how to write up tickets.
We also learned about different file transfer protocols, learned how zero day exploits are discovered, learned about the importance of hardening a system for security both externally and internally. We learned about firewalls, the different common ports used by different services (3389 for RDP!), we learned what SMB v1 is and why it's not used anymore and why Windows actually makes it very difficult to enable, but how to and why we would enable it if we wanted/needed to. We learned about the SysInternals Suite of Tools and how to use a few of them.
We learned about routers, we learned how to turn a computer into a router and why it might be a better option for some people. We learned about malware, as well as good remeditation techniques. We learned about PIDs, about event logs, application logs, system logs, and how to leverage those resources to detect an attacker. We learned how to use the command prompt in Windows, and how to run System File Checker, Check Disk, how to run group policy updates.
We learned how to mount and map a network drive, how to restore the GUI in Windows if we can't see it when we log in. We learned about Windows Antivirus Defender, how to format and partition hard drives, the different types of hard drives, RAID, striping, striping with parity, how to recover files from corrupted disks, the importance of protecting data, how data is stored, how data storage devices should be properly disposed of, DBAN. We learned about HelpDesk SOPs, how they are written, and how to write an effective one.
We learned about e-mail clients, how to work with Microsoft 360's cloud, and how to set up and configure a workstation for a new hire at a company. We learned about Veeam back up software and how to utilize it. We learned how to utilize EaseUS for file recovery, and how to do startup repair for the MBR. We learned how to use Powershell to automate tasks, how to test a network adapter and more.
We learned how to use Windows Registry and make changes in it, how to use pfSense to virtualize a router, we learned about WANs, LANs, VLANs, WWANs, WPANs, WLANs, 802.11, how to compose network topology, and much more.
We've also learned a ton about scripting, we've learned about functions, arrays, for loops, while loops, conditionals, user input, variables, operators, commands, environmental and automatic variables,some key differences in different languages, and how to use these tools to get things done.
I really enjoy writing scripts so far, and this repo is a collection of my first scripts ever.
If I had to pick one that was my favorite, I'd say it's ifloop1.sh - this one was the first loop where I really pushed myself
to get creative in my scripting, and not just dothe bare minimum. A close runner up would be the opschallengeclass13.sh loop.
I was really amazed at how confident and comfortable I felt writing all of that out after only 2 weeks of writing scripts!
I can see already that there are countless uses for scripting in the day in day out grind of office work, and that the more tasks can be automated, the more time people have to focus on important things, like thinking creatively, progressively, and affirmatively towards realizing the growth of an organization, reforming outdated protocols and staying on the cutting edge of industry.
If I could continue to improve any scripts (if I had the time) - I'd honestly try to see how to improve all of them. There's a high regard for elegant, well written code that is as simple as can be, yet supremely effective in executing it's intended purpose. I can feel myself developing a passion for realizing excellence in that endeavor, and thus would love to take the opportunity to review and consolidate all of my work up to now.
To that end, I hope to continue to condense, distill and quantify my scripts down to their most simplistic, elegant, and efficient form, yet make them fun and interactive whenever possible.
Thanks for reading!
- Bill