How would you answer this PowerShell question?

by Doug Finke on November 24, 2013

I did a talk on PowerShell at the Philly Code Camp yesterday, hosted at Penn State University. I’ve been presenting on PowerShell for a few years, the groups are getting bigger, as do the questions. After the talk several folks came up to me to talk in depth about what they’re doing with PowerShell and ask questions.

Who knows about PowerShell?

The last person in line was a young man who is graduating Penn State, June 2014. His questions made me pause and really think. He asked:

Who knows about PowerShell?

What you presented looks really powerful and great to use, even more than the tools on *nix. Should I cram for it in the next few months and put it on my resume or just casually learn it over time? If I do cram for it, it seems no one knows about PowerShell. The only place I heard of it was in a SharePoint class.

What do you think?

{ 7 comments… read them below or add one }

Gary 11.24.13 at 9:42 am

Absolutely cram it if you want to be a Windows or SQL server dev, but first ensure you’ve properly mastered the core competencies as well as messed around with some other advanced topics. To get hired, you must be able to get the job done regardless of the exact technologies or tools available, but putting anything more advanced on you resume and being able to talk it in the interview will make you more valuable than the rest. Often at a large shop, the good people know about the new tech and are trying to integrate it, but don’t have time themselves to invest in learning it, but these are also normally the people on the interview panels. Show them you can do the normal work no problem plus bring knowledge to spread around and gain value for the entire team, and you’re in.

Jeff Wouters 11.24.13 at 10:17 am

A human mind can only learn so much in an amount of time.
So, you can cram for it… but then what? You’ll know PowerShell, but a tool becomes only useful when it is applied for practical reasons.
I would cram for about two weeks, in which you’ll learn the basics. Then comes the long learning curve which will take time, no way around it.
Key here is that you’ll know the basics which can be applied to each product. You may want to go on a side trip every now and then. Do some work on advanced functions, workflows, webrequests, reporting, etc. When you know the basics properly you can put PowerShell on your resume :-)
Especially reporting is something managers are happy about and becomes useful in day-to-day tasks. How many disabled user objects are there in AD? Which VM’s have snapshots? What users have the largest homedrives?
Quick inquiries/oneliners provide you that information :-)
So my advice: Cram for about two weeks to learn the basics (do it, don’t just read books!) and after that learn what you need based on the tasks in your job.
And it that isn’t going fast enough for you: A PowerShell cmdlet a day keeps the GUI away (Get-Command | Get-Random | Get-Help)


Faris Malaeb 11.24.13 at 11:12 am

I will try to answer, Powershell is a very powerfull CLI tool, its not only Sharepoint, now day any product microsoft is making or upgrading it depend on powershell ( like Exchange Server) and also Windows it, you can take full control of it using powershell, from single console you will be able to connect to exchange and active director, share point and even make some modification on the remote user computer is you want.
I am using powershell also get a very strong control of Active Directory and exchange server, and also make some modification direct to sharepoint and push some data to HR Software the company use, this is all from a single CLI, if I want to use the GUI I have to go through 4 or 5 interfaces (application ) to do it.
another very powerfull tool of powershell is you are able to write Dot Net in it, even creating a visual window using CLI
Sure if you know about powershell you can put it in your resume and if a system administrator Never hear about powershell, then I guess they still live in 2003 and the time stoped for them

Peter Kriegel 11.24.13 at 11:29 am

Hi Doug !

At first, learning is an endless process. Even PowerShell has endless capabilities (and there is added new stuff all the time).

I have learned Woodworker for 3 Years as an apprentice.
When i finished my apprenticeship, I thougt I was an real complete Woodworker.
But I realized after the training is before the trainig, so I have to learn the Job by doing it.
Experience comes only from … well … experience (over the time).

So here is the Point. What you have to do is to cram the Basic / core technics which you dont allready know.
And PowerShell has to offer real amazing unknowen extraordinary stuff.
(Objects, PSDrive and Items, the DotDot operator an so on)
You have to cram the knowleg, what can be done with a tool and what syntax it has.
If you dont know the possibilities of a tool you ca not use his full power.

If you have this knowlege you can decide which technic you want to dive in and use for your (daily) work.
To use the technic, is to learn it for real (over Time).

For the Last Point, that he has never haered about PowerShell is the reason of the fear for changes most People has or lazyness. New Technics are adopte slow.
(Even I had to wait that I can use PowerShell with all my Clients, so we have no more XP in our landscape we can use PowerShell 2.0 build in in Windows 7!)
Most Daily workers try to avoid to learn a new technic so they dont spealk over it.
It is the Three monkeys policy. Dont tell it some one so it is not existing.

But if you Look into ALL Microsoft Server Systems you will see, that you can achive more in lesser Time with PowerShell.
So if you can use PowerShell it is a real good investment in you job and you have an advantage in competition to your collegs ;-))

hope my English was comprehensible

P.S. Doug,
I know I owe you a review. I have not vorgotten ;-)

Peter Kriegel
German PowerShell Community

Daniel Moore 11.24.13 at 2:08 pm

I’m generally against cramming for a resume. Instead, you should integrate PowerShell into your daily workflow and use it to be a more productive developer, and, if you like, note on your resume that you’re learning it.

As an interviewer for Lab49, I love to see curiosity for new technologies, especially combined with the honest humility that a candidate is learning new things that are relevant to their bread-and-butter technology. You don’t need to be an expert in everything, but you should try and garner a wide breadth of techniques.

If you cram for PowerShell, you may know a lot of facts about it, but you won’t have that crucial experience that I’m interested in hearing.

beefarino 11.24.13 at 3:00 pm

My advice:
1) get your work done, learn PowerShell while doing so. The combination will make you a superstar.
2) always try PowerShell first, regardless of the technologies involved. Sharepoint mgmt? use PowerShell. SQL? Exchange? PowerShell, PowerShell. ad nauseum, and eventually it’ll be second-nature to you.

Harold 11.25.13 at 7:19 am

PowerShell is just a foundation that comes with Windows
Advanced PowerShell commands can be product specific: SharePoint, Exchange, SQL, SCCM, etc.

But learning PowerShell is only half the battle.

Leave a Comment

You can use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>