PowerShell Team
Automating the world one-liner at a time…
Latest posts
A very touching final goodbye
The PowerShell community lost a great member last night. Carrying out one of his final wishes, his family posted this on Twitter last night: We are sad to tell you, Andy "the most passionate Powersheller" passed away on 12th Jan 2011, and wanted us to say goodbye to you all. Andy https://twitter.com/AndyTearle/status/25414783826141184 Rest in peace, Andy. Update: 11:30 AM – The PowerScripting Podcast has a great post reminiscing about Andy, his family, and his passion: http://powerscripting.wordpress.com/2011/01/13/ripandrew-tearle-the-oldest-powersheller-of-them-all/.
Same Command. Different Return Types.
My command seems to behave differently depending on how many items were returned. This is something that the PowerShell Team hears from the community or our internal partners every couple of weeks. This blog post will explain when a Windows PowerShell command returns different types and offer some reasons for why it is done this way. In general, Windows PowerShell commands can return one of three things: Executing the commands below returned each of the types listed above. (Get-Service foobar).GetType() (Get-Service NetLogon).GetType() (Get-Service Net*).GetType() ...
The Great Dollar Dollar
No, I’m not talking about our newest rap single. I’m talking about PowerShell’s most hidden gem. The one you can show to most members of even the PowerShell team, and have them gasp – “oh, that’s cool! I gotta remember that!” And it’s not even for lack of documentation! Here are the first few lines of Get-Help about_automatic_variables: PS>Get-Help about_automatic_variables TOPIC about_Automatic_Variables SHORT DESCRIPTION Describes variables that store state information for Windows PowerShell. These variables are created an...
PowerGUI Scripting Challenge
One of the best ways to learn a technology or take your understanding to the next level is to challenge yourself by entering a contest. Well, here is your opportunity. The Quest Software PowerGUI Challenge contest is currently ongoing and finishes on November 15th, 2010. This contest gives you an opportunity to win a gift certificate for Amazon.com (you can win a certificate worth up to $1000) while having fun with PowerShell and learning more about PowerGUI, a PowerShell script editor and management console. PowerShell Version 2 provided SO MANY new functions and capabili...
Domain Specific Languages (DSLs) – In General and How PowerShell Relates
While attending JAOO, I had the great pleasure to meet and talk with Martin Fowler and Neil Ford on the topic of Domain Specific Languages (DSLs). Channel 9 videotaped that discussion and you can watch it HERE. I'm quite passionate about DSLs - both FOR them and AGAINST them. The details matter! I have this concept called, "Beer Cardinality" and it applies to DSLs. Here is the way it works: Have no beers => Yawn!Have 1 beers => What's the point?Have 2-6 beers => Happy Happy!Have 24 beers => Vomiting, hangovers, regret regret regret DSL...
“A jug fills drop by drop” – Quest PKI Cmdlets
The Buddha once said that, “A jug fills drop by drop”. In this case, the jug is universal PowerShell cmdlet coverage which is a really large jug! We’ve never been confused on this point – I’ve often referred to it as the “30 year hole” that we needed to dig ourselves out of. When PowerShell V1 shipped, it had a very small number of cmdlets. It was mostly used by advanced scripters to script their own solutions. Soon afterwards, the Exchange team released 400+ cmdlets and then it was reasonable for Exchange admins to manage their Exchange task...
Designing Cmdlets That Have Lots of Parameters
We often get the question of what to do about a cmdlet that has lots of parameters. Do you break it up into multiple commands or just have a single cmdlet with lots of parameters. Here is the way I think about it: If you have to enter 100 things to get a job done, it doesn’t really matter whether you enter those 100 things via 1 cmdlet with 100 parameters or 10 cmdlets with 10 parameters each. If anything, there are a number of good reasons to have 1 cmdlet with 100 parameters including the fact that you don’t have to enter 10 cmdlets and you produce an abstraction which is much more friendly t...
Intel vPro PowerShell Module
Intel has released version 1.0 of their Intel Core vPro PowerShell Module. This set of cmdlets do Out-of-Band hardware management of devices that are equipped with the vPro chip. What that means is that you can do a certain amount of management on devices that don’t have an OS or whose OS is hung (if you are using one of our competitor’s OSes .. or haven’t upgraded to the awesome W7 ). This allows you do things like turn machines on or off, change the boot sequence, change power plans etc. Now in all honesty, this module provides you nothing new. You could always use the WINRM executable to perform thes...
PowerShell V2.0 Book Available in Italian
Efran Cobisi has published a PowerShell V2 book in Italian. The title is “Windows PowerShell 2.0 – Guida completa” and is a 448 pages long. Efran describes it as “a collection of theory, insides and hints on the scripting environment, the programming language and the most used cmdlets. It’s targeted to both developers and IT professionals and contains many sections devoted to help people with previous experiences "with other shells (CMD, COMMAND.COM, BASH, KSH, CSH, ...) as well.” If you can read Italian, you can find out more about it HERE. Sadly I don’t read Italian but I’ve visited Rome a number of tim...