New Petri Author

New Petri Author

I trust many of you are familiar with the Petri web site. This has long been a very valuable site for IT Pros. You can always find a wealth of reliable and practical information. Starting in December, I will be adding my voice to the mix. I will be contributing content that I hope you find valuable and worth your time. I expect my articles will be wide ranging, and not limited to Windows PowerShell. With the impending arrival of Windows 8 there will be much to write about. I hope you'll join me for the ride.

Petri IT Knowledgebase

One of the world's leading MCSE and IT related knowledge bases with thousands of Windows, Exchange, and Virtualization related tips, tricks and how-to articles.

WMI PowerShell Tricks for Windows Server…

WMI PowerShell Tricks for Windows Server Management*

My first article for @petri_co_il on WMI PowerShell Tricks

Get-WMIObject – PowerShell Tricks Windows Server Management

Get-WMIObject in Windows Powershell makes it easier to utilize Windows Management Instrumentation (WMI) and makes managing windows servers much easier.

Running Remote Processes Here is a video…

Running Remote Processes

Here is a video clip from my upcoming course for TrainSIgnal, "Windows Server 2008 PowerShell Training". This clip shows how to work with processes on remote computers.

Export Registry Printer Information I came…

Export Registry Printer Information

I came across this post on exporting printer information from the registry in PowerShell. I wanted to offer some constructive suggestions but could find no way to comment so I'll do so here.

First, the article introduces some good PowerShell concepts. I like that he is using Test-Path. Although I'd suggest using Join-Path instead of concatenation. I also like the use of Write-Host to display progress. An even better approach for a future version might be to use Write-Progress. I'm going to see about using that more myself as I think it is a cmdlet that doesn't get the attention it deserves.

But my main concern with the script is that it feels too much like VBScript and parsing text. He's not really taking advantage of the PowerShell pipeline. The core command can be this one line command.

get-childitem HKLM:SYSTEMCurrentControlSetControlPrint -Recurse |
get-itemproperty |
select @{Name="RegKey";Expression={Convert-Path$_.pspath}},* -exclude PSParentPath,PSChildname,PSProvider,PSPath

I wasn't looking for a one line command, it just turned out that way.

Personally, this is the code that I would put in the script because it writes objects to the pipeline. Now I have options. If I want a formatted text list I can do it:

PS C:> c:sciriptsget-printerregistry.ps1 | format-list | out-file printers.txt

Or perhaps today I need it as an xml file I wan reimport later.

PS C:> c:sciriptsget-printerregistry.ps1 | export-clixml printers.xml

The point is to offer flexibility and think objects in the pipeline.

On a more personal (pet peeve) note, if you are going to post code samples more than a few lines long, please, please offer a text file download. Copying and pasting code from websites is ugly and time consuming.

So, look at the original post and look at my suggestions. What do you think?

Powershell – Export your print configuration from registry | On-Call Pros, LLC

I was asked to produce this script for follow up checking of driver versions later on or possible settings which can cause problems.   The idea would be that a master file is updated on a website and …

My video interview with PowerShell Magazine…

My video interview with PowerShell Magazine about the state and future of PowerShell. Recorded during the PowerShell Deep Dive in Frankfurt.