In the first part of this LAB setup guide, I described the hardware selection process.
In the second part, I described the hypervisor selection and installation.
In the third part, I described VM guest considerations and preparations.
In the fourth part, I described Configuring Server 2012 VM as DC with DNS and DHCP using PowerShell
In the fifth part, I described easily creating (many) proper AD users with PowerShell
In this post I will describe creating a local PowerShell v3 Help Repository.
First of all, let me explain what a local PowerShell v3 Help Repository is and why you might want it. With PowerShell v3 not all help files are included. You can however always selectively download the latest versions of the help files (for specific commands). This saves space and also makes for a more flexible system where help files can be updated more easily.
Downloading the updates to the help files requires an internet connection however, and this might not be possible or desirable in many situations. Also if every server would download these files from the internet, this would waste internet bandwidth. Microsoft realizes this and provides you with the option to create a local PowerShell v3 Help Repository.
My script to create this local PowerShell v3 Help Repository can be found here. The basic steps include:
- Create a folder where the Help files will be stored.
- Share the folder.
- Create a scheduled task to daily update the help files in .the share
- Create a file in the share that contains the command that needs to be run from another server to update its help files using the local repository (so you don’t have to remember the command).
As stated in step 4, you can manually update the help files. Personally I prefer creating a GPO that creates a scheduled task on every other system to update the help files on a regular basis using the local repository share you just made. This way when you need the help files, you don’t have to wait until the update has been completed and you also don’t have to rely on internet access.
Personally I would have preferred it if Microsoft also offered an option to deploy the help file updates using WSUS. But for now, this will have to do.
Tags: account, automate, help, help files, Help Repository, ICT, lab, Powershell, Powershell 3.0, Powershell v3, scheduled task, Script, share, update, update help files, Update-help
In the first part of this LAB setup guide, I described the hardware selection process.
In the second part, I described the hypervisor selection and installation.
In the third part, I described VM guest considerations and preparations.
In the fourth part, I described Configuring Server 2012 VM as DC with DNS and DHCP using PowerShell
In this post I want to share with you this great blog post “How to use PowerShell to populate Active Directory with plenty enough users for SharePoint” by Wictor Wilén – SharePoint MCA, MCM and MVP.
What you basically do is:
- Use http://www.fakenamegenerator.com to create x number of users from countries you specify and containing fields/data that you specify. This will be sent by mail for free as a .csv
- Use PowerShell to import the CSV and create the user accounts in AD.
What I like about the method is that besides creating many users, it also uses user data that you could encounter in real-life. Also you can modify the user data to more closely match your desired environment. By example by specifying that you want to have Dutch and US names only. For testing purposes, it can be good to include names with strange characters as well, because when these work well …. chances are that everything works well.
[UPDATE 25-01-2014]
Since there were some issues with the original source, I decided to store a cached version as PDF as well (just in case) : How to use PowerShell to populate Active Directory with plenty enough users for SharePoint
It is best to visit the original site though, if it’s available.
[UPDATE 25-01-2014]
[UPDATE 24-03-2016]
An alternative method is displayed here: https://gallery.technet.microsoft.com/scriptcenter/Create-Real-Fake-Names-e1635ef4
[UPDATE 24-03-2016]
Tags: account, Active Directory, Active Directory Domain Services, AD DS, automate, DC, Domain Controller, fake name generator, ICT, lab, name generator, Powershell, Script, user, user data
In the first part of this LAB setup guide, I described the hardware selection process.
In the second part, I described the hypervisor selection and installation.
In the third part, I described VM guest considerations and preparations.
In this post I cover quickly configuring a Server 2012 VM as DC with DNS and DHCP by using PowerShell.
The steps I do take less than 10 minutes in my test lab now. Here’s a short description:
- Create a VM that uses your previously made parent disk.
- Configure the server name and IP addressing and reboot the computer.
- Install AD DS (domain controller) including DNS forward lookup zone and reboot the computer.
- Configure AD and DNS : Enable AD Recycle Bin, Add DNS forwarder, add DNS reverse lookup zone, create DNS PTR record for DC.
- Install + configure DHCP : Install DHCP, Add scope, configure scope, authorize DHCP server in AD.
The scripts I’ve created for steps 2 to 5 can be found here and are based on the great work Stefan Stranger already did in his blog post Installing a new OpsMgr 2012 (SP1) environment the fast way. I added some stuff of my own so it would meet my needs and I tried to keep it as generic as possible so other people can re-use my code as well.
PS: In step 2, IP addressing is not in place yet. To get scripts tot the system, consider:
- Putting the scripts in an ISO file that you can mount.
- Opening Hyper-V Virtual Machine Connection to VM and using “Clipboard”, “Type Clipboard Text”.
Tags: Active Directory, Active Directory Domain Services, AD DS, automate, configuration, DC, DHCP, DNS, Domain Controller, Domain Naming System, Dynamic Host Configuration Protocol, forward lookup zone, forwarder, Hyper-V, hypervisor, ICT, installation, lab, Powershell, reverse lookup zone, Script, Virtual Machine, virtualization, VM
In the first part of this LAB setup guide, I described the hardware selection process.
In the second part I described the hypervisor selection and installation.
In this post I will describe the VM guest considerations and preparations.
VM guest considerations
Considerations for your VM guests:
- Use legacy network adapter ? Could be necessary for by example PXE boot.
- In most cases the regular network adapters will be the best choice.
- How much memory to assign ? Should I use dynamic memory in Hyper-V ? Should I overcommit using VMware ?
- In most cases for your home lab it is probably best to use dynamic memory / overcommit. Some applications however might not work correctly, or you might not have the desired outcome.
- How many virtual CPUs should I assign ?
- Should I store my VMs on a single physical disk or on multiple physical disks ?
- Should I use virtual disks or pass-through disks ?
- For VMs that I use for testing, I use virtual disks because they provide more flexibility.
- For my file server I choose to use pass-through disks so I can simply remove the disk from my server and place them in another system. I’m also afraid that should you encounter an issue when using a virtual disk, that the chance is greater that you lose everything because the virtual disk will break.
- When I use virtual disks, should I use thin provisioned disks or thick provisioned disks ?
- Thick provisioned disks are supposed to deliver better performance, but at the cost of more disk space. Also for a home LAB I doubt the performance loss is minimal and acceptable, so I would go with thin provisioned disks. Also when using SSD disks, space is costly and limited. Be sure to monitor disk space usage though.
- Should I use differencing disks in Hyper-V / linked clones in VMWare ?
- When you plan to use multiple VMs running the same operating system, you can save space by using differencing disks / linked clones. This also impacts the disk I/O however, so monitor it to see if it fits your needs. Since I use SSD disks and run multiple VMs with the same OS, I use differencing disks.
VM guest preparations
An home LAB is not complete without VM guests ofcourse. The basic methods for provisioning are:
- Using pre-prepped VMs that are provided by third parties like by example Microsoft and VMWare. For VMWare there is even a virtual appliance Marketplace.
- Installing VMs manually every time.
- Using 3rd party deployment tools to provision operating systems to VMs. By example System Center Configuration Manager.
- Deploying VMs from templates you create manually.
Often you’ll use a combination of the methods. In my case I’ll deploy many instances of the same guest OS versions for my test lab. I’ll often deploy various versions of Windows multiple times. Therefore I create my own templates for my test lab.
Basic actions for template creation are:
- Installation of the operating system
- Installing the Hyper-V Integration Component (or VMWare tools).
- Adding roles and features I expect to be using in (the majority of) my VMs.
- Downloading and installing the latest updates.
- Performing sysprep to generalize the installation and choosing to turn off the system afterwards.
DO NOT TURN ON THE SYSTEM, otherwise you need to run sysprep again.
- Saving the virtual disk files for future use.
- If you’re going to be using differencing disks, you will use this disk as the parent disk. Make sure you set it to read-only.
Using this approach I’ve created my own templates consuming 180GB and covering most of the operating systems I (can) encounter and want to test with:
Windows2003-Enterprise-R2-SP2-x64-ParentDisk-Readonly.vhdx
Windows2003-Enterprise-R2-SP2-x86-ParentDisk-Readonly.vhdx
Windows2008-SP2-x64-ParentDisk-Readonly.vhdx.vhdx
Windows2008-SP2-x86-ParentDisk-Readonly.vhdx.vhdx
Windows2008R2-SP1-x64-ParentDisk-Readonly.vhdx
Windows2012-Datacenter-Core-ParentDisk-Readonly.vhdx
Windows2012-Datacenter-GUI-ParentDisk-Readonly.vhdx
Windows7-Enterprise-SP1-x64-ParentDisk-Readonly.vhdx
Windows7-Enterprise-SP1-x86-ParentDisk-Readonly.vhdx
Windows8-Enterprise-x64-ParentDisk-Readonly.vhdx
Windows8-Enterprise-x86-ParentDisk-Readonly.vhdx
WindowsVista-Enterprise-SP2-x64-ParentDisk-Readonly.vhdx
WindowsVista-Enterprise-SP2-x86-ParentDisk-Readonly.vhdx
WindowsXP-Pro-SP3-ParentDisk-Readonly.vhdx
WindowsXP-Pro-x64-ParentDisk-Readonly.vhdx
Storing backups and ISO files
When you have files that have lots of similar data, they are very suitable for deduplication. Also read this great blog post if you want to know how it works.. With for example ISO files and powered-off VMs you can save a lot of space. You should however not configure this for files that change on a regular basis like by example actively running VMs. With Server 2012, you can easily enable deduplication for volumes. Also keep in mind that these files do not require high IOPS, so you can store them on slower disks.
If you want to check how much space you can save without installing Server 2012 and its deduplication feature, you can also run the deduplication evalutation tool (ddpeval.exe) on Windows 7, Windows 8, Windows 2008 R2 or Windows Server 2012. You can even “hack” Windows 8 Pro to allow deduplication.
I was able to reduce the used disk space with 75% from 215 GB to 50 GB. This was with ISO files and the backups of the parent disks I created earlier (not the ones in use).
In the next post I will describe configuring Server 2012 VM as DC with DNS and DHCP using PowerShell.
Tags: hypervisor, ICT, lab, virtualization
In the first part of this LAB setup guide, I described the hardware selection process. In this second part I will be describing the hypervisor selection and installation.
Hypervisor selection
First of all, you have to decide on which bare metal hypervisor(s) you wish to use. Personally I prefer Microsoft Hyper-V and VMWare ESXi. Alternatives include but are not limited to Citrix XenServer, Xen, KVM, Red Hat Enterprise Virtualization. I don’t have much experience with these hypervisors though.
Characteristics that could influence your choice of hypervisor:
- Supported hardware.
- Performance of the hypervisor.
- Features of the hypervisor. By example when using Transparent Memory Page Sharing, it requires less memory when you run many highly identical systems on a host.
- Footprint / attack surface.
- Supported methods for running the OS. By example run from USB stick.
- Price (many hypervisors have free versions available, compare features).
- Support (for a home lab probably not that important).
- Available documentation / study resources.
- How active the community behind it is.
- Supported VM / guest operating systems.
- Ease-of-use.
- Availabilty of downloadable virtual appliances (VMWare) or pre-prepped environments (Microsoft) without having to (try and) convert them.
Everyone needs to determine which hypervisor best meets their needs. Personally I mainly work with Microsoft software and decided to use Hyper-V 3.0 in Windows Server 2012. It’s convenient for me to be able to easily load pre-prepped environments that are provided by Microsoft (in Hyper-V format). I also run Client Hyper-V on my Windows 8 laptop, which makes it easier for me to take my VM’s with me. I do plan to keep up with VMWare developments as well though, so I will create a bootable USB flash drive to boot in VMWare from time to time.
Hypervisor installation
- Before installing the hypervisor, make sure that virtualization related settings are enabled. The names of these settings may differ. Examples are Intel VT (Virtualization Technology), AMD-V and Hardware DEP (Data Execution Prevention), EM64T, Execute Disable Bit. During installation you will get prompted normally though if you have forgotten to enable these.
- There are often many options with regards to the installation. By example do a GUI install or a scripted/CLI install. Or install/run from normal harddisk or flash drive. With Server 2012 Hyper-V you can choose to run it in Windows Server 2012 core or in the GUI version. I chose to use the Server 2012 GUI Hyper-V installation because I’m not sure if my raid management software will work from within the core version.
- Installation of the hypervisor is normally pretty straight forward. But before you install, read the documentation.
- After you’re done installing, you still need to configure the settings to meet your requirements. Preferrably you’ve already created and documented your own design.
- Don’t forget to configure hardware monitoring if possible. In my case I’ve configured my raid controller management software to send e-mails when storage related issues are detected.
- Think about and implement a strategy for backing up and recovering your hypervisor. There are numerous programs for backing up and most are free for personal use. I have no personal experience with specific products, but VeeAm has a good reputation and I’ll be trying if for my lab. Also if you’re a Microsoft Certified Professional, you can get a free NFR license for Veeam Backup & Replication v6.5 for Hyper-V. The same is true if you’re a VMWare Certified Professional (VCP).
In the next post I will describe the VM guest preparations, installations and storage strategy.
Tags: Citrix, Citrix XenServer, ESXi, ESXi 5.1, guest, Hyper-V, Hyper-V 3.0, hypervisor, ICT, KVM, lab, Red Hat Enterprise Virtualization, RHEV, virtualization, VM, VMware ESXi, Windows Server 2012, Xen, XenServer
As you will probably know by now, I’m really into ICT. I mainly focus on virtualization and Microsoft technoIogies. As such, I try to:
- Keep up with new ICT developments
- Improve my knowledge and skills for both old and new ICT technologies
- Get certified in many different areas of ICT.
A proper lab environment is a prerequisite to do so. Because of virtualization however, this has become so much easier (and cheaper) than before.
In the next couple of blog posts I will try to document the steps I’m taking to build my lab. Today I’m staring the series with the hardware selection. The important part of the hardware I use for my environment is as follows:
- Mainboard: Gigabyte GA-H77M-D3H
- CPU: Intel Core i5 3570 quadcore
- Memory: 32GB
- SATA controller : IBM M1015 (flashed to LSI9211-8i)
- VM storage: 2 * 512GB SSD Samsung 830 series
- Non VM storage: 2 * 2TB SATA
To me it was important that my machine would be able to run both Microsoft Hyper-V 3.0 as well as VMware ESXi 5.1 properly. Both have hardware requirements, but VMware ESXi 5.1 is generally more restrictive with regards to supported hardware. Very simply put, it means that the mainboard, CPU, network and storage controller need to be compatible with the features you require.
Normally you would check supported hardware on the official hardware compatibility list (HCL) of the vendor, but these are generally aimed at real server hardware and do not support/contain consumer hardware. So before buying hardware, check on forums to see what combinations of hardware are working for other people and choose the one that matches your desires best. You can also google for ESXi whitebox.
Furthermore, I plan to run many systems at the same time, hence the 32GB of memory and the 2 fast 512GB SSD disks. Besides the fast, but small SSD you generally also need more storage to store other files like by example operating system images and tools.
The next post is about the Hypervisor selection and installation.
Tags: hardware, hardware compatibilty, hardware compatibilty list, hardware selection, HCL, ICT, lab, support, virtualization
I created this script to automate extracting English only MSP files from CAB files in the SCOM 2012 Update Rollup 3 (UR3) files. By default it will delete extracted non-English versions. With some minor modifications it can be used for any CAB file though, not just SCOM 2012 Update Rollup 3. It includes a lot of comments, so it is manageable and can be used for getting to know PowerShell better.
SCOM 2012 Update Rollup 3 can be downloaded here : http://catalog.update.microsoft.com/v7/site/search.aspx?q=2750631
The issue with SCOM 2012 Update Rollup 3 is that after downloading you’ll end up with a total of 41 CAB files. The large number of files is because they are for different components and in multiple languages. And what is even worse, is that the file names do not show which file is for which language.This script will extract all cab files to a subfolder and will then removes the non English ones. Below are some of the example files in Update Rollup 3 to give you an idea about the nondescriptive file names:
- all-kb2750631-amd64-console_1af57997fba722cdd3dfe4b2ddb4b8d8d829dd6f.cab
- all-kb2750631-amd64-console_3d61c9e090622b2b59ee8bf7b13b922e815bdf15.cab
- all-kb2750631-amd64-console_494a77ddaa09206f8f61ecdfb2edfcd1e82a497c.cab
- all-kb2750631-amd64-console_69bb307dbd450cfd8b732c2ac3845c9870bdc6d0.cab
- all-kb2750631-amd64-console_71c65fc2ded6769edbf610958780b5a8ac374f8c.cab
Deploying SCOM 2012 components and updates to them can be done in multiple ways: http://technet.microsoft.com/en-us/library/hh551142.aspx
Most of the work while updating will probably be updating the agents. Basically for SCOM 2012 there are 2 major ways to install agents:
- Push installation (initiated from SCOM 2012). Updates can then also be deployed from within SCOM (Remotely Manageable = Yes). Push installation is often preferred, because it is easy and also allows you to push updates to clients from within SCOM 2012. The downside however is that it also requires a lot of open ports (including RPC) which might not always be acceptable: http://support.microsoft.com/kb/2566152. Push install and update install can also consume a lot of bandwidth and depending on your architecture (b.e. WAN links), the push install might not be the best way.
- A manual installation (anything that is not a push installation). Updates cannot be deployed from within SCOM (Remotely Manageable = No). Manual installation includes running setup manually, using a GPO software install or using deployment tools like System Center Configuration Manager). Using the GUI, you cannot simply set an agent back to remotely manageable = Yes. You can change this in SQL though, but keep in mind that connectivity requirements still need to be met.
With Update Rollup 3, it is now possible to leverage WSUS / Microsoft Update to deploy updates (not the inital agent) to all SCOM 2012 components. I predict this will probably become the preferred way of updating SCOM 2012 for most companies:
+ It does not require many ports on your firewall to be opened.
+ Better bandwidth management (local WSUS, BranchCache, BITS).
+ Auto detects components on systems (component updates are not forgotten).
+ Still in control of when which updates are deployed/approved.
+ Leverage existing patch/update management procedures and systems WSUS/SCCM (standardization).
– Initial agent installation cannot be performed using WSUS.
PS: Also check these great blog posts when deploying Update Rollup 3:
Tags: Background Intelligent Transfer Service, BITS, BranchCache, CAB, cab files, decompress, extract, ICT, manual install, Microsoft, Microsoft System Center Operations Manager 2012, Microsoft Update, operations management, operations manager, Operations Manager 2012, OpsMgr, OpsMgr 2012, OpsMgr 2012 Update Rollup 3, OpsMgr2012, Patch Management, Powershell, push install, Remotely Manageable, rollup, SCCM, SCOM, SCOM 2012, SCOM 2012 Update Rollup 3, SCOM2012, service pack, System Center, System Center Configuration Manager, System Center Operations Manager, System Center Operations Manager 2012, testing environment, Update Management, update rollup, Update Rollup 3, WSUS
People who know me, know I love my mediaplayer, so much even that barely watch regular TV nowadays. I’ve been using Popcorn Hour mediaplayers for a long time now and even though they’re not the cheapest ones, I’ve always been very happy with them. I’ve even recommended them to many people who bought them as well.
Yesterday however, one of my friends was having an issue with his Popcorn Hour A-200 mediaplayer. I suggested he should check for and install the latest firmware version (August 10, 2012). Because I hadn’t updated mine in quite some time either I decided to upgrade it together with him even though I did not really have a need to upgrade mine.
After the update, my PCH-A200 couldn’t connect to my samba(SMB) / CIFS network shares on Windows Server 2012 anymore. For the shares that worked previously I got an error stating:
“Unable to resolve the host name. Press [return] key to return to the previous screen”.
The network itself was working since I was able to use internet radio.
As it turns out, many problems have been introduced with the latest firmware versions. I did try using NFS shares, but even though I could browse them I was not able to playback videos.
Ultimately I decided to go back two firmware versions. After installing the firmware of May 25th, 2011 everything was working fine again.
Conclusion: Newer versions are not always better !!!!
Tags: firmware, media player, mediaplayer, PCH, PCH-A200, popcorn hour, popcornhour, version
In a previous blog post I explained how to use PowerShell remoting to determine OpsMgr Components File Versions.
As an alternative you can also use a local PowerShell script. And what is even easier in my opinion, is creating an agent task. This means you can run the the script against multiple targets and show its result all from within the SCOM 2012 console.
The local PowerShell script can be found here. A management pack containing the agent task and the PowerShell script can be found here.
Based on internet info,these are the version numbers:
SCOM 2012 Cumulative Update 1 / Update Rollup 1 version = 7.0.8560.1021
SCOM 2012 Cumulative Update 2 / Update Rollup 2 version = 7.0.8560.1027
SCOM 2012 Cumulative Update 3 / Update Rollup 3 version = 7.0.8560.1036
SCOM 2012 SP1 beta = 7.0.8925.0
Thanks go out to Derek Har for his blog post that helped me to embed the PowerShell script in the SCOM 2012 management pack.
To give you an idea what the output looks like in SCOM 2012, here are some screenshots:

Bjorn_Tasks_Powershell-Get-SCOMfileversions_01

Bjorn_Tasks_Powershell-Get-SCOMfileversions_02
Tags: ICT, management pack, Microsoft, Microsoft System Center Operations Manager 2012, MP, operations management, operations manager, Operations Manager 2012, OpsMgr, OpsMgr 2012, OpsMgr MP, OpsMgr2012, rollup, SCOM, SCOM 2012, SCOM 2012 SP1, SCOM MP, SCOM2012, service pack, SP1, System Center, System Center Operations Manager, System Center Operations Manager 2012, testing environment, update rollup
Microsoft Technology Associate (MTA) courses and exams are aimed at people new to specific IT areas of expertises. Previously these exams were available only to academic students, faculty, and staff. Now, anyone can take these exams.
Exams available at this moment are:
- Exam 98-349: Windows Operating System Fundamentals
- Exam 98-365: Windows Server Administration Fundamentals
- Exam 98-366: Networking Fundamentals
- Exam 98-367: Security Fundamentals
- Exam 98-364: Database Fundamentals
- Exam 98-361: Software Development Fundamentals
- Exam 98-362: Windows Development Fundamentals
- Exam 98-363: Web Development Fundamentals
- Exam 98-372: .NET Fundamentals
- Exam 98-375: HTML5 App Development Fundamentals
More information about MTA can be found here.
Also to stay up-to-date regarding Microsoft learning and certification news, be sure to follow developments on the Born To Learn blog.
Tags: Born To Learn, certification, ICT, Microsoft, Microsoft Technology Associate, MTA