Copy to mounted VHD with PowerShell for automated Hyper-V Provisioning

I have been working on an automated provisioning script for Hyper-V and have been annoyed that there is no way to get the associated drive letter for a mounted VHD based on the VHD path. I have read a few posts from around the net for older versions of PowerShell but on Server 2012 they do not seem to work.

At this point, I have given up trying to find a way to get a unique drive letter, and instead just get the drive letters for any attached VHD. The script I am working on will only continue if there is only one VHD attached. This is a requirement as if there were multiple VHDs attached, I do not know how I can identify which drive letter is assigned to which VHD.

The goal is to have the VHD mounted, and then have a BAT script generated containing IP address configuration information, which, once unmounted and used in my main provisioning script will allow the user to ‘automatically’ set the VM IP address. The BAT (Or PowerShell – haven’t worked out if the security settings will allow for a PowerShell script to run on start-up) script will then run on the first boot of the VM and set the correct IP address, gateway and so on.


In the example below (which I will be updating from time to time) I have created a script that will first ensure that there are no more than one VHDs mounted. It will then create/check a lockfile before continuing. If the lockfile is unlocked, it will echo “Copying to VHD”. At this point it is just an echo of text and continue. I have yet to work out the BAT format for setting the IP correctly.

I will be aiming to have the BAT file configured before it hits the copy stage. This will probably just be another function that creates the file. Then in the copyToVhd function, it will mount the associated VHD, copy the BAT file to a start-up folder (or something of the sort) and then unmount the VHD. All with a fairly decent level of protection against having the copyToVhd function being run by different people at the exact same time (which would make it impossible to copy the BAT file to the correct VHD)

When I have some more time to work on it, Ill probably be more flexible with the first check and have it as a while loop to allow for cases where the VHD may not have been detached from another script in progress.

Anyway, this is what I have so far: *Forgive my total and utter messiness – I have no formal PowerShell training, and have only been playing with it for a week!


If anyone has any idea on how to get a drive letter based on the mounted VHD I would be super happy! This would mean the lock file wouldn’t be necessary, as I could identify which drive letter to copy to, and unmount based on that also.


I am still alive.

Moving to Australia

So, the time has come to leave Japan. I really planned on staying here a long time but – due to a certain opportunity and various other ‘things’ we have begun to leave Japan. I am really going to miss living here, especially the gigabit unlimited fibre internet. I will also miss Amazon Japan – same day delivery is awesome. Alas, these are just trivial matters but I will miss them none-the-less.

So – we are selling everything. I have a list of stuff here: If there is something not on the list, and you think it should be – it probably is. I buy a lot of stuff I don’t really need, but is nice to have.

I will be writing up another page on what we are doing to prepare for our move to Australia. You may find it useful if you find yourself in the same situation. You can check it here:

Oh, I am also selling the car. It is a shame that it would cost ~$6000 to have it shipped to Australia. We cannot afford this and so must sell. Even though I was told the car “holds its value”, the most I have been offered by car companies is 1500000 yen. This is pretty sad considering its only a year and a half old, has less than 20,000km on it and cost us initially 2800000. Still, without sacrifice there can be no progress 🙂


Knob of the month.

Brendyn Layne is the knob of the month.

Howto: Water Drop Photography

I had been trying to replicate a photo I saw online recently of a bowl of jellybeans though water drops. Not having a bowl of jellybeans lying around – I cheated. I loaded a picture of jellybeans onto my iPad and used that as a backdrop. Here are a couple of shots:



The main issue I had was getting the water to form beads. This time round I applied Glaco (Similar to RainX) to a different sheet of glass. The water beaded up instantly. This time I used some candles as the backdrop instead of the jellybeans.

 To take photos like this you don’t need much. I made a basic frame using knex, and then placed a clean piece of glass over the top. It did take a while to get the glass clean enough, trust me – its worth spending alot of time getting it perfectly clean. Dust specs and watermarks show up very clearly. I recommend using newspaper to clean and polish the glass.

I used a spray bottle to make the water drops. If you want more control over the layout, try using an eyedropper.

At the bottom of my frame I set up a grid of red and yellow/white candles. I tried a few different patterns, but this looked the most appealing.

I was using macro tubes for the first few photos. After removing them I noticed that I could still focus close enough to get a good shot. So, use them if you need to but check to see if you can achieve the effect without them first.

You will also need a good tripod. I have a Manfrotto that allows you to slide the center column out sideways, making it very easy to aim the camera straight down. Getting the camera position just right is very important if you are using macro tubes. Just a centimeter or so too high/low will put your image out of focus. I used a coin to help getting the camera in focus.

Focusing with a coin.

Single drop with unlit candles.

Single drop with lit candles.

Multiple drops.

Multiple drops with additional light source.

You may also want to adjust the aperture to control the bokeh.

Shower Thoughts II

Have you ever thought about the meaning behind being “Self Taught”? I was thinking about it in the shower the other day and came up with some interesting points.

Most people would assume if you are learning by yourself without the aid of a teacher that you are essentially teaching yourself – so, self-taught. But what are you using to teach yourself? Books? Audio files? These are resources that have been created by other people. So you are, in fact, being taught by someone else indirectly.

Then I thought about the methodology. Technically, in a class – you watch and listen to the teacher. Many classes have little interactivity, limiting your exposure to that which, essentially is the same as a book. So, would attending a class be counted as an effort on your behalf to further your knowledge? Would that be counted as being self-taught? Where do you draw the line?

Being able to learn something by yourself without any interaction with another human being, or work created by one would be the most strict definition of being self-taught, but would that be possible? Everything you know, you owe to some interaction with someone else.

To most people the idea of being self-taught most likely involves reading books and self-study. Obviously everyone will have their own opinion but in the end it all comes down to semantics.



© 2017 Chris's Blog

Theme by Anders NorénUp ↑