I just got the proof from the printer for Managing Active Directory with Windows PowerShell: TFM. It always exciting to hold a finished (or close to finished) book. As soon as we check the proof and give the ok to the printer, books will be available. We’re trying to get this turned around as soon […]
Category: Windows PowerShell
Powershell vs T-SQL
If you’ve been debating the pros and cons of PowerShell vs T-SQL, or trying to decide why anyone would want to use PowerShelll to manage SQL server when it already has a great management language, take a look at http://blogs.msdn.com/dtjones/archive/2008/08/29/powershell-vs-t-sql-or-why-did-we-add-powershell-support-in-sql2k8.aspx. Good stuff. Clear and to the point.
The road ahead and the path traveled
As our development team gets ready to focus entirely on PrimalScript 2009 and some other, still very secret, new products, it is time to look back on PrimalScript 2007’s path. It is hard to believe it has only been one year. Since its initial release in August 2007 a total of 39 new features have […]
PowerShell Boot Camp Winter 08/09
Our PowerShell boot camp was very successful and popular. Registration was limited so we’d like to set up a class for some time this Winter, most likely in the Jan-Feb timeframe. Locations have been narrowed down although no dates have been finalized. You should see a poll on the blog starting today where you can […]
More fun with Microsoft Word and PowerShell
I needed a demonstration for one of my last online PowerShell classes on using COM objects in PowerShell. I took an old VBScript that used Microsoft Word to get document statistics such as word and page count and transformed it into PowerShell. I quickly realized I could flesh out the demo into a larger function that I can actually use. Given that I generate a lot of Word docs, being able to get some document statistics is helpful. So I created a function called Get-DocStatistic.
Analyze-Packet Reloaded
While getting caught up on my podcast back log I was listening to an episode of Mind of Root. In it Steven Murawski mentioned my Get-Packet and Analyze-Packet PowerShell scripts. One of his (legitimate) issues with Analyze-Packet was the way it presented results. The original version simply wrote information to the console. It didn’t use a good object model so that you could format the results the way you wanted. I took this as a challenge to improve the script.
PowerShell InputBox
The other day I gave you a function to create a VBScript style message box in PowerShell. If you find yourself needing MsgBox in PowerShell, you’re likely going to want InputBox.
PowerShell, VBScript, Shells and Cmdlets
We are currently running a survey about PowerShell adoption. If you haven’t had a chance yet to participate, please go here to do so: Take the survey I would like to thank all those who already took the survey for participating and for leaving a huge amount of very interesting comments. One thing that really […]
PowerShell MsgBox
if you came from the VBScript world you may be missing a few old friends in PowerShell. Because Powershell is a management console, it lacks a GUI unless you create one using Windows forms. Things will change a bit in PowerShell v2.0 but for now let’s stick with what we have. If you really need a message box, ala VBScript, then simply call it from PowerShell. All you need to do is use the [microsoft.visualbasic.interaction] class and the MsgBox method.
Fine Tuning Set-CASMailbox
When you use the EMS cmdlet Set-CASMailbox to configure user-based segmentation for Outlook Web Access, you may already have noticed that even though you set the value of just one property to $False, by running a simple line like
Set-CASMailbox UserA -OWAChangePasswordEnabled:$False
Exchange will set the value of all properties starting with OWA to $False, thereby disabling almost every feature of Outlook Web Access for that user or the users you selected to change. Exchange will enable the ability to change the password using OWA, but will disable all other features that weren’t explicitly enabled or disabled prior to running the cmdlet. There are quite a few easy ways to reset or undo the changes.