Given basic shell commands and scripting are necessary for a developer in UNIX-type environments – I'm talking rounded, small-shop, devops types – is Powershell the equivalent for Windows?
I have a Windows 7 machine at work, but I do all my development in a UNIX environment, either on a Mac or a Linux guest with VMWare. I'm not a sysadmin per se but I fill in as one here and there. Grep, sed, awk, the file structure, networking, etc, in UNIX are pretty well ingrained. I've been using these tools for years. Decades, even.
I have been fooling around on a Windows machine a bit more lately. My habit is to drop down to the command line to get stuff done, rather than all the pointing and clicking mania usually associated with Windows use. But with Powershell I'm totally lost. Nothing makes sense to me.
Is it worth learning? Is this even the way Windows folk work? Is it all going to change suddenly? Are there advantages to becoming a Powershell guru?
Bash is nice for its simplicity, and if you are automating tasks on Linux, Bash scripts work well for this job. PowerShell can handle some bigger challenges but is most useful on Windows, especially in administrative tasks, since most other things are simply handled in the GUI.
Powershell is an excellent tool for a linux distribution because it offers a series of commands useful for developing tools and automatisms that are very difficult to implement with simple strings.
Best of all, PowerShell easily provides IT admins with deep visibility and control over all of those network resources just by typing a line of command-line code. PowerShell is also an important part of managing corporate-wide deployments of Microsoft Office 365.
PowerShell is a configuration management tool that brings the capabilities of Linux command-line interface (CLI) control into the historically point-and-click Windows environment to manage Windows servers efficiently in virtual deployments.
I believe so. PowerShell is the management interface for Windows Server 2012, and almost all of that has been ported back to 2008R2 & Win7 as well (Windows Management Framework 3.0).
There are a lot of people resisting the transition to PowerShell, but MS has decreed that it's the way forward. End users won't use it much, just as with Command Prompt, but developers & admins absolutely need to understand it.
Advantages to becoming a PowerShell guru? You can automate a lot more of Windows, much more easily, than you can with BAT/CMD scripts or Windows Script Host (VBScript/JScript). Remote management/access is very easy & designed to let you manage large numbers of machines from one central location.
I find myself doing a lot of tasks in PowerShell that I used to jump to Visual Studio for, because it's faster to get started with, lets me prototype quickly on the command line, and there are a lot of cmdlets built in that perform tasks that I would normally have to write a dozen lines of C# to do.
I believe it can be just as powerful as Bash, but all the command names and syntax are different. Check out this article, it compares some common UNIX commands to the powershell equivalents.
http://windows-powershell-scripts.blogspot.com/2009/06/unix-equivalents-in-powershell.html
As I have started to use powershell more, I find that it is definitely worth learning.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With