While it’s normally best practice to not display anything on the host and to batch as much as possible with PowerShell; sometimes you need a UI. Here’s a pair of functions to display a menu on the screen, automatically number the possible responses and only return when a valid choice is made. Continue reading “PowerShell: Display A Menu And Get a Valid Choice”
Hi. In this part I add some text logging to the script. Not much else I can say really 🙂 Continue reading “PowerShell: Synchronizing a Folder (and Sub-Folders) Part 10”
This has been broken for me for months, but recently I found a fix. Using the Steam application, all you can do is browse your library. The store, community, forums etc; all don’t work. If you use Big Picture mode, everything is great. If you use a normal browser, everything is great.
Steam support gave up after a couple of suggestions. But after working through many possible fixes, I worked out what was wrong. Continue reading “Fixes for the “Steam Stuck at a Blank Screen” Issue”
The title was originally built around “Teach A Man A Cmdlet and he PowerShells for a day; Teach a Man to Use Get-Command and he PowerShell’s for a lifetime.” But it got more and more clumsy and convoluted so I finally decided that there really was a limit to my own cleverness.
PowerShell really is quite clever though and makes it really easy to work out the cmdlets you want to use for any task. Continue reading “PowerShell: Tutorial 2, “Teach a Man to Fish” or Working Out The Command You Need”
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.
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”
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 for me it has to be how everything in PowerShell is an object. It’s how you can build Really Cool Stuff from lots of simpler parts.Continue reading “PowerShell: Tutorial 1, Everything is an Object”
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”
Hi. 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”
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”