Sunday, January 25, 2015

MCSE Studying - Week 33

Overview
I have completed week 33 of my MCSE studies, and overall, I was pleased by the results. I finished the KnowledgeNet 70-410 Live Learning course, finished chapters 3 and 4 in the 70-410 training guide, had a little bit of time learning PowerShell, and spent some more time going over my exam notes. I also started exercising this week. I am fortunate that my wife cared enough to drag me out twice this past week for an hour long walk with some of our friends. I really need the exercise, especially now, with my sedentary lifestyle. I think I shall continue the exercise, it seems to help my brain think.

Cool Stuff
I have learned a lot of cool stuff this past week, but I think the biggest victory for me, was finally getting around to figuring out how PowerShell DSC (Desired State Configuration) works. I have been hearing a lot about it in the PowerScripting podcast, but had never got around to learning how to use it, as it is generally considered an advanced PowerShell topic. However, once I discovered it was covered on the 70-410 exam, I knew I had to tackle it head on. I did, and I discovered just how much potential it has to reduce administrative burden, and just how easy it is to use. In a nutshell, DSC is a way to ensure that the servers in a network environment conform to a set configurations, and that any new servers also, automatically, get the same configurations. If you want to know more about DSC, there is a great presentation here:


PowerShell cmdlet of the Week
This week's cmdlet is one I used to setup a multi-domain forest in Active Directory over the past few days.

Install-ADDSDomain

Allow me to describe one of the scenarios I where I used this cmdlet.

I had an existing forest root domain called "corp.contoso.com" and I wanted to add a child domain called "europe.corp.contoso.com". I also wanted to ensure that a DNS delegation was setup in the corp.contoso.com domain.

The new server was setup as a member of a workgroup, DNS client configured to point to two of the DNS servers in the corp.contoso.com domain, and had the AD Domain Services role installed.

It is important to remember that when you are adding a new child domain to an existing Active Directory forest, you must supply the credentials for a user in the 'Enterprise Admins' group. Also, even though it is not required, I explicitly stated that I wanted to setup a DNS delegation, and provided the credentials. Finally, again, even though the default parameter for the -DomainType switch is ChildDomain, I added it anyhow, as I wanted to gain as much familiarity as I could with this cmdlet. The final result for this command, also employing Get-Credential:

Install-ADDSDomain `
-NewDomainName europe `
-ParentDomainName corp.contoso.com `
-Credential (Get-Credential corp\Administrator) `
-CreateDnsDelegation
-DnsDelegationCredential (Get-Credential corp\Administrator) `
-DomainType ChildDomain

After entering the password for the corp\Administrator user, I entered the DSRM (Directory Services Restore Mode) password and confirmed it, hit 'Enter' and sat back and waited. A few minutes and one reboot later I had a new child domain created. I logged into one of the DNS servers in the corp.contoso.com domain, and confirmed that the DNS delegation was created successfully.

Of course, I made sure I conformed to Microsoft best practices, and I used Install-ADDSDomainController to add another writable domain controller to the Europe domain. Maybe I'll cover that cmdlet another day.

There we are, one new child domain, lovingly created with Windows PowerShell!

Stats
Total time studying: 25 hrs.
  • 70-410: 24 hrs. 25 min.
  • PowerShell: 35 min.
Resources used:

In Closing
I had another really good week. My confidence level is finally up the point where I feel that I will be able to pass the 70-410 exam. I will still need to continue to study for another 2-3 weeks, but I will get there. Just a few more weeks, then I can focus on 70-411!

Have a great week everyone!

Sunday, January 18, 2015

MCSE Studying - Week 32

Overview
Week 32 of my MCSE studies was not quite as solid a week as I had hoped for, but I still made some progress. I continued the KnowledgeNet 70-410 Live Learning course, started and finished the KnowledgeNet PowerShell 101 Live Learning course, finished the first two chapters in the 70-410 training guide, and spent quite a bit of time going over and organizing my exam notes. I lost a chunk of one day due to a headache that made concentrating quite difficult, and another day due to family obligations. The day I had family obligations was not really lost, as I had a great time with my kids building cardboard airplanes and other fun activities.

Cool Stuff
The coolest thing from week 32 was working with the Windows Server Migration Tools (WSMT). It was nice to not only learn about how it works, but I also spent a few hours in my lab environment migrating the DHCP role from a Windows Server 2008 R2 server to a 2012 R2 server with all settings, reservation, and leases intact. Very cool! I wrote down quite a few notes while I worked through the process, and I have the general flow figured out now. Finally, I can strike WSMT off the list of thing I still need to learn prior to taking the exam.

PowerShell cmdlet of the Week
This week's cmdlet is going to be one of many I used during the DHCP server migration I did this past week.

New-NetFirewallRule

I know it might have been easier to do this using the GUI tools, or perhaps the netsh command line tool (perhaps not), but I would have lost an opportunity to familiarize myself with this new cmdlet. While working on various tasks, I always ask myself "Could I be doing this in PowerShell?". That way, I regularly give myself an opportunity to learn new cmdlets and techniques,

I used it to open up an inbound port to allow WSMT to work it's magic. In this case I used it to create and enable an inbound rule to allow TCP traffic on port 7000, but only on the Domain firewall profile.

New-NetFirewallRule `
-DisplayName "WSMT - Port 7000" `
-Direction Inbound `
-Action Allow `
–LocalPort 7000 `
-Protocol TCP `
-Profile Domain `
-Enabled True

A quick check of the GUI interface for the firewall confirmed that it had been created.

There it is! A firewall rule created, and another PowerShell cmdlet added to my sysadmin tool belt.

* I have decided to start using the back-tick character " ` " in my blog posts to break up a single PowerShell command over several lines. I have noticed that the readability of some of my older posts is a little tricky at times, so by using the ` , I can post a long cmdlet and still have it readable. This is also valid to use at the PowerShell prompt. Typing ` at the end of New-NetFirewallRule will give you a >> prompt, which you can use to enter parameters one at a time. When you are done, simply press 'Enter' to execute the command.

Stats
Total time studying: 25 hrs. 50 min.
  • 70-410: 19 hrs. 50 min.
  • PowerShell: 6 hrs.
Resources used:

In Closing
While I did not get as much study time in as I would have liked, I did get more in than last week. A little bit more focus next week should ensure I get the time in I need to study for and pass the 70-410 exam. I had also planned to get an Office 365 subscription and sign up for the free trial of Microsoft Azure last week, but time did not permit that, so I will work on that this coming week as well. With a little luck, and a lot of hard work, I should be able to get back on schedule.

Have a great week everyone!

Sunday, January 11, 2015

MCSE Studying - Week 31

Overview
Week 31 of my MCSE studies was my first week back after a break for Christmas, and it was a fantastic week! I started my third and final pass through the KnowledgeNet 70-410 Live Learning course, finished the 70-411 Microsoft Training Guide, started my second pass through the 70-410 Microsoft Training Guide, and did some maintenance to the lab hardware. I also setup 16 virtual machines and one Hyper-V host in preparation for the final push through the 70-410 material before taking the exam. Not only did I learn a lot from the courses, but I also learned quite a bit from setting up Hyper-V and getting virtual machines setup on that particular host. All in all, I had a great time this past week!

Cool Stuff
The coolest thing from week 31? Wow. I'm not sure if it's going to be an easy task to pick just one thing. If I had to pick, it would have to be the 'gotcha' that I discovered while working on setting up some virtual machines on Hyper-V.

I had downloaded the Windows Server 2012 R2 as a VHD in order to speed up the deployment of the lab. I was initially dismayed that I couldn't set up a Generation 2 virtual machine with the VHD, since Gen. 2 VMs can only use the newer VHDX virtual hard drive files. No big deal, I had just found the link in Hyper-V Manager to edit and convert virtual hard drives. I converted the downloaded VHD file to a VHDX, and set up a new Gen. 2 VM. Once again, disappointment. I got a boot failure message. I tried a couple of other things, including re-converting the VHD, but nothing worked. I could get the Gen.2 VM to boot.

A little digging around on the Web revealed the issue. When converting a boot VHD to a VHDX file, a Gen. 1 VM will boot, but a Gen. 2 VM will not. This is due to the difference in boot partition layout and it's incompatibility with UEFI firmware in Gen. 2 VMs. So, in short, if you are using a virtual hard drive converted from a VHD to VHDX, a Gen. 1 VM can use it as either a boot drive or a data drive, but a Gen. 2 VM can only use it as a data drive.

So, while I was disappointed that I couldn't use the converted VHDX file to set up a Gen. 2 VM, I was quite happy that I had discovered this little 'gotcha', and was able to put it into my list of lessons learned.

PowerShell cmdlet of the Week
I was torn between two PowerShell cmdlets this week, but I ultimately chose the one most closely related to the topic I discussed in 'Cool Stuff'.

Convert-VHD

For example, if I wanted to convert the VHD file "Server-2012-R2-Eval.vhd", located in the "E:\ISO" folder, to a VHDX file, I would use the following:

Convert-VHD -Path E:\ISO\Server-2012-R2-Eval.vhd -DestinationPath E:\ISO\Server-2012-R2-Eval.vhdx

After waiting for a few minutes, I would have a new vhdx file alongside the original.

To convert a VHD file to a VHDX, remove the original file after the conversion, and change it to a Fixed disk vs. a Dynamic disk, I would use the following:

Convert-VHD -Path E:\ISO\Server-2012-R2-Eval.vhd -DestinationPath E:\ISO\Server-2012-R2-Eval.vhdx -DeleteSource -VHDType Fixed

Simple enough. Just remember, you cannot boot a Generation 2 virtual machine from a VHDX file that has been converted from a VHD file.

Stats
Total time studying: 25 hrs.
  • 70-411: 8 hrs. 15 min.
  • 70-410: 15 hrs. 25 min.
  • Lab Maintenance: 1 hr. 20 min.
Resources used:

In Closing
This has been one of the best weeks so far! I had a great time, learned a lot, and regained some of the confidence that I had lost over the past few weeks. I am really looking forward to continuing my studies and learning more as I prepare for the 70-410 exam. Also on the plan for the week is to get an Office 365 subscription and sign up for the one month free trial of Microsoft Azure. I look forward to telling you all about my experiences in my next weekly post.

Have a fantastic week everyone!

Sunday, January 4, 2015

The Start of Another Trip Around Our Star

Well, the last trip around our star was eventful, to say the least. Some of the highlights include my decision to earn the MCSE certification from Microsoft, start pursing my own self-education (both in IT and in other areas), getting laid off from the job I held for nearly 14 years, learning to become a better father and husband to my family, and travelling approximately 940 million kilometers around the Sun. I cannot take any credit for that last one, though. I was merely along for the ride.

Making the decision to earn myself the MCSE certification was not risky, but it has been challenging. Perhaps more challenging than I thought it would initially be. For the first four months, carving out enough time to study was a huge issue, and one I'm not certain I ever really was able to overcome. Getting laid off from my job certainly opened up a lot of free time, but there is still a lot of material to cover. It wasn't until I broke down the exam objectives into discrete items that I started to realize just how much Microsoft expects you to know in order to pass these exams. Daunting task aside, I am confident that I will be able to complete my MCSA exams before June, and my MCSE exams by the end of the year.

As I have stated in a previous post, getting laid off suddenly, after nearly 14 years, was a huge shock. I don't think anyone could have seen that one coming. The up side to this event is that it has given me ample time to examine where I have come from, and where I want to go. I had been told several times that I was getting too comfortable where I was. I did not understand, at the time, why being comfortable was a bad thing. Everything seemed to be going quite well. I was happy! Or was I?

As I look back, yes I was too comfortable, but no, I don't think that I was happy. I think that my growth as a System Administrator was actually being hampered by the fact that I was unable to expand my knowledge and experience beyond what I had learned in that particular network environment. In a nutshell, I had outgrown the nest I grew up in, and it was time for me to go. So, like any good momma bird would do, for my own good, I was picked up, and dropped out of the nest. I won't deny that the first bounce hurts, but it was what I needed.

Becoming a better husband and father is always a challenge, but one that I gladly accept. I cannot recall anything specific over that past year that has led to a general feeling of improvement, but I know it's there. I have a little bit more patience than I used to, and I am able to pitch in and help more than I used to. If I was forced to identify one change, I would say that it is the realization that a family has to work together as a team. Sure, we are all individuals, with our own desires, wants, needs, and responsibilities, but we also have to work together in order to grow together.

The Earth's orbit around the Sun is nothing I can take credit for. I just held on to the Earth as it whizzed around the our closest star. When I say held on, I really meant that Earth's gravity held my down to it's surface. So, really, I cannot take any credit for this last trip. Here's an interesting fact, the day that I wrote this was the same day as Earth's perihelion (closest point in it's orbit to the Sun). Strange. It doesn't feel that warm. In fact, it was a frosty -30 C when I got up this morning. If you'd like a better explanation of why it's so cold at our closest point to the sun, check out this article.

On to 2015 then!

I usually do not feel compelled to make a bunch of resolutions to mark the beginning of a purely arbitrary point along our orbit of the Sun, and this year is no different. What I will do, is share a couple of my longer term plans that are simply carried over from last year.

First and foremost, is finding employment somewhere that I feel I belong. I am still not sure what I want to do, but as I continue my search for a network I can call home, I am considering a few options. These include working for a large corporation as an Enterprise System Administrator, working as a consultant, and becoming a IT trainer/author. They all have their pros and cons, and before accepting any position, I will be weighing those pros and cons carefully.

My second objective is to complete my MCSE certification. My time frame for completing it is at most, a wild guess. There are so many variables to consider, that it is almost impossible to predict the exact completion date, but it will be completed. I still have the occasional doubt as to how well I will do on the exams, but thankfully I have friends, family, and my instructors all telling me that I am going to do fine.

To be truthful, I feel a little like Bilbo Baggins does at the beginning of The Hobbit. I was in a nice, comfortable home, with a nice, comfortable life, and suddenly, almost inexplicably, I find myself on an adventure, not knowing where exactly it will lead. I do know, however, that by the time I get through the next year, I will be a vastly different person than I am today, and God willing, a better one.

Have a wonderful trip around the Sun!


MCSE Studying - Week 30

Overview
Week 30 of my MCSE studies wrapped up the last of the courses and self study that I would do before taking a break for the Christmas holidays. I finished both KnowledgeNet Live Learning courses, 70-412 and 70-414, and did a little bit of work in the 70-411 Training Guide. My brain was getting full and I was getting tired, so I decided not to pursue any further training until the new year.

Cool Stuff
The coolest thing from week 30 was reviewing the best practices for Certificate Services. I know I have mentioned it before, but I don't think I can overstate it by saying Certificate Services and PKI are critical to IT and to your career. Learn it!

Stats
Total time studying: 12 hrs. 55 min.
  • 70-411: 40 min.
  • 70-412: 6 hrs.
  • 70-414: 6 hrs. 15 min.
Resources used:

In Closing
I will be returning to my studies on January 5th, 2015, after taking a well deserved break, and spending quite a bit of time with friends and family, eating well, and resting a lot. I am looking forward to continuing this self study adventure, and will be certified by the end of 2015.

Have a great year everyone!