If you are a user of UNIX based systems, especially when it comes to work related issues, then you are not doubt already familiar with the command line. It is how you are able to get things done quickly on a UNIX machine. For the uninitiated, the command line is when you a text based system to control the operating system instead of a GUI. Usually the shells in which you run command line operations are the same, no matter which UNIX based system you use. Users of the Linux operating system would tease IT admins of Windows based systems all of the time because they had to use a GUI. Using a GUI based interface made running a server very slow. But that is not the case anymore. There is now an alternative for Windows IT admins to use. And now that it has been out for a couple of years, it is becoming a very mature product to use.
The product is called Powershell and you are starting to see more and more Windows server admins use it. They are finding that their UNIX brethren were right and it is much faster to get things done on the server using a command line option. It is getting to the point where you are starting to see mostly all of the server work being done in the command line and that includes the security of the server itself.
How does Powershell keep you secure?
And that seems to be the one hundred dollar question. While some IT admins may see that the use of Powershell might make you faster when administering the server, they do not see how it can make you safer as well. Well the answer is easy to that question. It can make you safer in a few ways but one of the main ways that it makes you safer is through the use of scripts.
Yes, just like on your favorite UNIX system you can now run shell scripts on Windows as well. Actually you could use the old version of the command line on Windows and run scripts as well but it is not the same. The reason why Powershell was created was because the old Windows console windows was lacking in many departments. So was the scripting language that came with it. With Powershell you cannot say the same thing. If you are used to the .Net suite of languages then you will already be familiar with the Powershell scripting language. Not only does Powershell allow you the familiar power of your average .Net language but it also allows you the familiar syntax as well.
The reason why scripting is so powerful is because you are able to set up jobs for your computer to do while you are not there. This means a lot when you have a network of computers that you need to secure. For example, some offices are always adding a new computer to their web of office PCs. On each PC in the office you have a certain set up when it come to software such as antivirus, firewalls and other security software. So instead of setting up each installation manually, you run a script from your Powershell to make sure everything is set up right. But not only do you use the script to install the proper software, you can also use it to make sure that the software which has been installed is configured properly as well. Now considering that you might add over one hundred PC’s in your office every year, you can start to see how this can save you time while also at making sure that every node added in the office is secure.
But you have to remember that with as powerful as scripting is, it can be dangerous as well as being useful on your network. It is a programming language and as with any other programming language out there, people have found ways to exploit it. So you must make sure that this does not happen to your set up. You can do this by making sure that you only run trusted scripts. There are a lot of repositories out there with Powershell scripts already pre written. This is something that is done all of the time so usually it is no big deal. No matter what programming language you are talking about, people will use other people’s code and configure it for their own use. It saves time and usually the code has been vetted by hundreds of other programmers. But you cannot take for granted that all code that you find on the net is safe. This is why you must make sure that you either read the script properly or you must get it from somewhere that you know is safe.
Powershell along with its scripting language is a very powerful tool in helping with security in both your home office and your network at work. If you are a Windows user it will help you a lot if you took the time and invest in learning it.