A cool little trick. Sometimes GitHub/Jekyll does not like to rebuild, just ‘force’ a rebuild by pushing an empty commit.

git commit -m 'rebuild pages' --allow-empty
git push origin <branch-name>


Foy my new work I have to get cozy with Puppet. Puppet provides a great learning VM, however it is in a OVA format, and I need it as a VHD so I can use it with Hyper-V in my homelab.

There are several ways and utilities to convert an OVA to VHD

That script however seems to be finniky at times, depending on the OVA file. I found that the VirtualBox convert utility seems to work quote a bit easier and more reliable.

It’s as easy as this:

1. Install VirtualBox (Just install the ‘Virtual Application’, no need for all the other stuff)
2. Extract the VMDK from the OVA (e.g. with 7-Zip)
3. Run this in an Admin CMD session:
$VMDK = "c:\path\to\machine.vmdk"$VHD  = "c:\path\to\machine.vhd" #the utility will create the VHD for you
& "C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" clonemedium --format vhd $vmdk$VHD


And voila, you should have a VHD from the OVA that you can use in Hyper-V.

EDIT: 12/10/2018

So yeah that was not enough to get it to work in Hyper-V after all. I ended up using the StartWind v2v Converter. After that the VM is still no happy, you have to start the vm in ‘rescue mode’ to get it to boot happily.

## #Service announcement

I am currently in the process of moving my blog/website from Wordpress to Jekyll/Github Pages. Stuff will break and not work during the moves and I’m sure there will be some bugs left once all is moved. I know especially pictures in posts will be an issue.

Expression:   (.+)
Replace with: '$1' So let’s take we have a regular user list After running the regex, we have them all neatly wrapped in quotes Now we have this nice list, but let’s say we need that as a string in a line. regex? Yeah no problem! Expression: [\n\r] Replace with: , Oh so handy, hope it saves you some time! EDIT: Adding another, removing blank lines in a script ^(?:[\t ]*(?:\r?\n|\r))+ Replace this with nothing to remove all empty lines. :¬) I wanted to append information to the verbose output of a cmdlet so that logging is neater. Well, it seems there is no nice way to do that? This is what I came up with, redirecting the verbose stream, manipulating the verbose string, and then write it verbose back out $verbose_info = get-aduser awittig | set-aduser -Replace @{comment = 'test'} -Verbose 4>&1
write-verbose "$(get-date) -$(\$verbose_info -split ':')" -Verbose
VERBOSE: 04/2/2018 16:35:01 - Performing the operation "Set" on target "CN=Wittig\, Alexander,OU=users,OU=test,DC=AD,DC=bloodyshell,DC=com".