PowerShell Team
Automating the world one-liner at a time…
Latest posts
PowerShell at the PDC
I’m giving the following session at the PDC in LA in a couple of weeks: PowerShell: Creating Manageable Web Services Learn how to create management web services using Windows PowerShell. Topics include: how to script against of a large set of machines, how to manage raw HW devices using WS-MAN and Web Services, how to create custom "constrained environments" for scripts to run in and how to make those available to thousands of customers by writing a scalable IIS application hosting PowerShell, and how to use proxy commands. I’ll be showing some things that have never been seen before and maki...
PowerShell’s Security Guiding Principles
One of most common issues we face with PowerShell comes from users or ISVs misunderstanding PowerShell’s security guiding principles. At a high-level, it seems to all make sense – execution policies help ensure that you only run scripts that you trust on your system. These protections are driven by PowerShell’s three main security features. For people that will never use PowerShell, that trust decision is made for you by way of PowerShell’s default “Restricted” execution policy. Others may want to use a verifiable identity chain as their important guiding factor, in which case the Authenticode signing certificate...
PowerShell and JAOO
On Saturday I arrived in Aarhus Denmark for the JAOO conference. JAOO stands for Java And Object Oriented but it is definitely NOT a Java conference - it is a language conference with lots of .NET, Ruby, Ajax content and then just a lot of really smart people talking about software in general. I'm honored to be invited to talk about Windows PowerShell at a language conference because it allows me to start the process of setting the record straight regarding PowerShell as a language. People parse the world according to their past experience. What that means is that a lot of people have pu...
PowerShellPlus Professional Edition Ships
I’ve talked about PowerShellPlus a few times before and it was the hit of last years IT Forum talks. Now The official version is now available from Idera at http://www.idera.com/products/PowerShell/ . It is going to cost $145/user but they are offering introductory pricing of $79/user until Oct 1st. Cheers! Jeffrey Snover [MSFT] Windows Management Partner Architect Visit the Windows PowerShell Team blog at: http://blogs.msdn.com/PowerShell Visit the Windows PowerShell ScriptCenter at: http://www.microsoft.com/technet/scriptcenter/hubs/msh.mspx
Free Windows PowerShell ebook (Now In Italian)
Efran Cobisi has published an Italian version of Frank Koch's very popular PowerShell ebook . You can download the Italian version HERE or go to the Windows PowerShell Italian Community website and pick it up in the Tutorial section. It looks like there is some great stuff there - I wish I had learned Italian. :-) Enjoy Ciao! Jeffrey Snover [MSFT]Windows Management Partner ArchitectVisit the Windows PowerShell Team blog at: http://blogs.msdn.com/PowerShellVisit the Windows PowerShell ScriptCenter at: http://www.microsoft.com/technet/scriptcenter/hubs/msh.ms...
Decision Input Requested: -EQ with Characters
We are struggling with whether or not to make a change in our comparison operators and would like feedback from the community. Here is the documentation about comparision operators: All comparison operators are case-insensitive by default. To make a comparison operator case-sensitive, precede the operator name with a "c". For example, the case-sensitive version of "-eq" is "-ceq". To make the case-insensitivity explicit, precede the operator with an "i", for example, the explicitly case-insensitive version of "-eq" is "ieq". Here are examples of the current -EQ semantics: PS> "...
Adam Weigert Puts NetApp On a String
Adam Weigert has started a new Codeplex project PowerShell OnTap. (That brings the total number of PowerShell-related CodePlex projects to 48!) OnTap provides a functions to manipulate NetApp servers using the OnTAP web service APIs. I’m not a NetApp user but I was interested in what he was doing and was delighted to read his code. It is an excellent example of PowerShell coding practices and has a number of excellent and clever techniques in it. I LOVE Adam’s code – it is logical, clean and visually coherent. You should view it in an editor that does syntax coloring (lik...
A Thousand Things 1% Better
One of my all time favorite books is The IBM Way by Buck Rodgers. (Actually make that "all time BUSINESS books", it's not in the same league as Discourse on Method or Thus Spake Zarathustra.) One of my favorite statements Buck made was something to the effect of, "products of true enduring quality are not those that do 1 thing 1000% better but rather those products that do 1000 things 1 % better". In other words, details matter. We tried to cover as many details as we could with V1 but frankly we covered so much ground that some things were not a crisp and clean as we...
RDP File Generation/Use of HERE-Strings
Over on the Everyday Nerd blog, I found a great blog entry you should read: Create multiple RDP files with PowerShell. He describes his environment where he has to manage a large set of servers using Remote Desktop (RDP). Having to configure the RDP settings each time he connects to the server, he decided to automate the process by writing a script which generates the RDP files for him. The script itself is cool but the think I wanted to highlight was that the script is a great illustration of a very powerful scripting design pattern. It uses: This pattern has a numb...