PowerShell for Windows Admins

April 28, 2013  11:51 AM

Time for D-CRUD?

Posted by: Richard Siddaway
Philosophy, PowerShell

I was thinking on the plane back from the PowerShell summit about the CRUD activities. They are a concept we have inherited from the database world:

C = Create

R = Read

U = Update

D= Delete

Create, Update and Delete correspond directly to the PowerShell verbs – New,Set and Remove respectively.

The Read action corresponds to the Get verb.

Well sort of.

Get-* is used in two distinct scenarios.  Firstly we know of an object and we we want to read its properties – for example:

Get-Process -Name powershell

We are reading the information about the PowerShell process. That corresponds directly to the Read action in the CRUD paradigm.

However, we also use Get* when we want to Discover the processes that are running:


In which case we are Discovering the processes that are running.

I think its time to update the CRUD concept and make it DCRUD where D stands for discovery.

April 28, 2013  5:45 AM

Scripting Games 2013 have started

Posted by: Richard Siddaway
PowerShell, Scripting Games

The 2013 Scripting Games kicked off during the PowerShell summit.  Event 1 is open and you can submit entries up until 23:59:59 GMT on 29 April 2013.  Voting on the entries starts at at midnight on 30 April.

You can enter and you can vote on the entries.  This is a community games run by powershell.org – all are welcome.

If you haven’t entered yet there is still plenty of time to get you entry in for event 1.  Start by reviewing the information at http://powershell.org/wp/the-scripting-games/

Enjoy and good luck

April 27, 2013  5:47 AM

PowerShell Summit–thank you

Posted by: Richard Siddaway

I’d like to extend a huge thank you to everyone who attended the PowerShell Summit this last week.  The Summit was a success – in no small part due to you. Your questions, and discussions, are what this is all about.

It was a pleasure meeting you all and I hope to return next year – I hope to see many of you there as well.

April 13, 2013  11:23 AM

PowerShell Deep Dives–another MEAP release

Posted by: Richard Siddaway
Books, PowerShell


Manning have released another set of chapters in their early access program for PowerShell Deep Dives.

If you have an interest in PowerShell I would strongly urge you to buy a copy. It has chapters from a number of well known PowerShell authors together with some very good material from new authors.  Best of all the royalties are going to charity.

April 13, 2013  11:18 AM

Busy, busy, busy

Posted by: Richard Siddaway

A very busy time coming up in PowerShell land with the first PowerShell Summit kicking off in just over a week’s time.  The 2013 Scripting Games will also be starting very soon.

I’ll try and post about both of them as time allows

April 12, 2013  12:41 PM

Creating a new disk

Posted by: Richard Siddaway
Disks, PowerShell 3, Windows Server 2012

I really like Windows Server Core. The concept has come of age in Windows 2012.

I needed to add a new disk to a virtual machine  – that’s easy using the Hyper-V cmdlets. But what about formating the disk.

A module new to Windows 2012 & Windows can be used.  Its the Storage module.  I’ve not had chance, or reason, to play with this module yet. So many cmdlets so little time.

Start with viewing the disks:

PS C:\Users\richard> Get-Disk | ft -a

Number Friendly Name          OperationalStatus Total Size Partition Style
—— ————-          —————– ———- —————
0      Virtual HD ATA Device  Online                120 GB MBR
1      Microsoft Virtual Disk Offline               127 GB RAW


Disk 1 is the new disk so need to initialise it.

PS C:\Users\richard> Initialize-Disk -Number 1 -PartitionStyle MBR

View the disks again

PS C:\Users\richard> Get-Disk | ft -a

Number Friendly Name          OperationalStatus Total Size Partition Style
—— ————-          —————– ———- —————
0      Virtual HD ATA Device  Online                120 GB MBR
1      Microsoft Virtual Disk Online                127 GB MBR


Create a partition on the disk -   -useMaximimSize means use all of the disk for this partition

PS C:\Users\richard> New-Partition -DiskNumber 1 -UseMaximumSize -DriveLetter R

Now view the partitions

PS C:\Users\richard> Get-Partition | ft -a

   Disk Number: 0

PartitionNumber DriveLetter Offset         Size Type
————— ———– ——         —- —-
1                           1048576      350 MB IFS
2               C           368050176 119.66 GB IFS

   Disk Number: 1

PartitionNumber DriveLetter Offset    Size Type
————— ———– ——    —- —-
1               R           1048576 127 GB Logical

And finally format the new disk:

PS C:\Users\richard> Get-Volume | where DriveLetter -eq R | Format-Volume -FileSystem NTFS -NewFileSystemLabel Backup

Are you sure you want to perform this action?
Warning, all data on the volume will be lost!
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "Y"): Y

You get a nice friendly warning (you could bypass using –Confirm $false) and the format happens

You could pipe the cmdlets together to do everything in one pass. Best of all – the cmdlets are WMI based.

April 11, 2013  1:51 PM

Windows Server Backup

Posted by: Richard Siddaway
PowerShell 3, Windows Server 2012

Windows Server 2012 has a PowerShell enabled backup utility. When you enable the feature you get a module called WindowsServerBackup.  It has the cmldets you would expect for creating and managing backups. No surprise you may say as this was avialable in Windows 2008 R2.

The difference with Windows Server 2012 is that you can do restores from PowerShell cmdlets whcih wasn’t available in the earlier version.

The restore cmdlets are






This might not replace your currebt backup system but is very useful for backing up test environments and experimenting with things like authorative AD restores.

April 8, 2013  11:16 AM

Running workflows

Posted by: Richard Siddaway
PowerShell 3

I tripped over an interesting issue recently regarding the running of PowerShell workflows.

Consider the world’s simplest workflow

workflow test-w1 {"hello world"}

If I run this on a 32bit Windows 8  PowerShell machine – it works

If I run this on Windows 2012 (64bit) on PowerShell it works

if I run this on Windows 2012 PowerShell (x86) – it doesn’t work!

Be aware of how you are running your workflows

April 6, 2013  9:38 AM

AD Management in a Month of Lunches

Posted by: Richard Siddaway
Active Directory, Books, PowerShell 3, Windows Server 2012

The MEAP marches on with chapter 8 now released:

Chapter 8 – creating Group Policies

details from http://www.manning.com/siddaway3/

April 4, 2013  2:44 PM

Manning Deal of the Day – April 6 2013

Posted by: Richard Siddaway
Books, PowerShell, WMI

My PowerShell and WMI book will be Manning’s deal of the day for 6 April 2013.  The deal will go live at Midnight US ET and will stay active for about 48 hours.

This is your chance to get the book with a 50% discount.

Use code dotd0406au at manning.com/siddaway2/

The Deal of the Day offer also applies to SharePoint Workflow in Action (http://www.manning.com/wicklund/).


Forgot Password

No problem! Submit your e-mail address below. We'll send you an e-mail containing your password.

Your password has been sent to: