PowerShell: Export All Exchange Mailbox Folder Permissions In A Format For Further Processing: Part 2

This is an update to my function to extract Mailbox folder permissions as PowerShell objects, allowing various forms of processing.

The main script is here.

In this update I’ve made the function skip some default folders it can’t process, treat the root of the mailbox better and improved the logging.

Continue reading “PowerShell: Export All Exchange Mailbox Folder Permissions In A Format For Further Processing: Part 2”

PowerShell: Synchronizing a Folder (and Sub-Folders) Part 9

Hi. Here’s another update on the Sync-Folder script. The script itself is at that link but in this post I go over the changes I made and how they work.

The main addition is the support for -WhatIf (so you can test the script runs without it making changes).  In addition I fixed some odd bugs with the Filter and Exceptions parameters.  Plus some more Verbose logging and I tidied up the script a bit (removing some of the cmdlet aliases and replacing them with the full commands). Continue reading “PowerShell: Synchronizing a Folder (and Sub-Folders) Part 9”

PowerShell: Tutorial 1, Everything is an Object

A series of tutorials, or How To Get Started With PowerShell:  “It’s Awesome” edition.

When I thought about what I considered the most important, fundamental thing to learn about PowerShell I went through a couple of options;  Piping?  The help system and Get-Command?  -WhatIf?

All useful things to learn but it has to be how everything in PowerShell is an object.  It’s how you can build Really Cool Stuff from lots of simple bits and it’s also the thing that catches me out occasionally. Continue reading “PowerShell: Tutorial 1, Everything is an Object”

PowerShell: A Simple Batch Processing System, Part 2

This is the next part detailing how the script here works.  The first part detailed the rough design of the script and the main function that creates the transaction objects that are passed through the script.

This part adds some sample Task functions and the main body of the script to kick it all off. Continue reading “PowerShell: A Simple Batch Processing System, Part 2”

PowerShell: A Simple Batch Processing System, Part 1

batchHi.  I’ve written a few scripts that have gotten to be quite large.  In all cases they’ve needed to make a series of changes to a set of objects and log the results.  It’s normally important that some of the later changes only get made if the earlier ones are successful;  for example only changing the default SMTP address on a mailbox if another SMTP address was added earlier.

This series of posts will go into a decent system I’ve found for accomplishing this with some skeleton examples that are (hopefully!) easy to adapt. Continue reading “PowerShell: A Simple Batch Processing System, Part 1”

PowerShell: A Simple Batch Processing System

This is the skeleton of a Batch Processing System (Importing from a CSV file, performing consecutive tasks that are dependant on the previous task completing and then outputting the result).

I detailed how it works in Part 1 here and in Part 2 here. Continue reading “PowerShell: A Simple Batch Processing System”