Skip navigation

Category Archives: Windows 8

With fresh installation of Windows 2012 and Windows 8, you can’t access old SMB share or CIFS share correct.

The solution is following.

· To enable SMBv1 on the SMB client, run the following commands:

· sc.exe config lanmanworkstation depend= bowser/mrxsmb10/mrxsmb20/nsi

· sc.exe config mrxsmb10 start= auto

· To enable SMBv2 and SMBv3 on the SMB client, run the following commands:

· sc.exe config lanmanworkstation depend= bowser/mrxsmb10/mrxsmb20/nsi

· sc.exe config mrxsmb20 start= auto




Run following Powershell command to disable new security negotiate on SMB 3 which some third party doesn’t support. 

Be aware once you disable this security negotiate, you need to disable all Windows 8 and Windows 2012 in your environment so they can talk to each other.


Set-SmbClientConfiguration -RequireSecuritySignature $false


Set-ItemProperty -Path “HKLM:\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters” RequireSecureNegotiate -Value 0 -Force

I never expected it took me whole afternoon on just installing a App-V, well, I do admit I did went out for other stuff, but it is little ridiculous how complicated and lack of correct information the whole process is.

I write this post to help myself and others for future reference. If you do run into similar issue, hope this post can help.

Test Environment:

Windows 2012 runs HYPER-V on it

SQL 2008 R2 runs on Hyper-V


SQL Preparation:

This is the part which kills everyone. If you think you just jump on the SQL and create couple of DB and jump back and run installation wizard, then I can tell you will see following errors.


This warning is telling you that you didn’t prepare DB as what Microsoft wanted and go back now!

Funny thing is it only has one button “OK”, no cancel?


If you continue to install, you will run into The error was : Invalid object name ‘dbo.RoleAssignments’ after you finish installation.


The correct installation method is following kirxblog and prepare the DB.

Essentially, there are two methods to prepare DB. You can either bring installation disk on SQL server and run through installation wizard which requires you to install whole bunch of craps or you can manually install it as what this post will tell you.

1. get DB scripts ready

In terms of extract DB script, you need to find installation exe file and run it with /layout as parameter.


Once you have done that, you will following structure


2. Create 3 AD groups

Now, according to installation instruct of script, you need two groups which are read and write. I also create 3rd group called AppVAdmin for managing.


You need to add App-V server computer account into AppvAdmin group. Also domain admins as well.

3. Modify DB scripts with Powershell script

The original DB script which you extracted from installation exe file requires SID of AD groups in terms of making it work! It’s not easy to find those SID and not mention other nasty stuff.

Thank for Kirx beautiful powershell script, we are able to prepare those DB scripts with Powershell script.

Instead of all other nasty information, all what you need to do is to provide name of groups and name of DBs. Powershell script will prepare the DB script and help you to finish the work.

download Kirx script and edit.

Found those lines and replace it



If you never run powershell script on this serve, you may want to unlock it.


Make backup for your DB scripts and copy them to c:\temp folder like this.

c:\temp\ManagementDatabase and also report database script.

Copy kirx script to c:\temp

Run it, if it works, it should return with no result.

However, it will change the file name under those DB scripts.

Original folder.





3. run the Scripts on DB

Copy your new script to SQL server and open management studio

Run 1-1 Database script which will create new DB on SQL

Run all other script base on DB you just created


4. Add AppvAdmin group to db.Ower on new DB

Your AppvAdmin group should contain App-V server account by now


Install Prerequisites for App-V

You need to download Microsoft C++ 2010 x86 version and install on App-V server. Yes, it is x86 not x64 version!

Otherwise, you will get this one.



Install App-V

Now, we can start to see those fish eggs , oh, no, orange Apps in the Box




Now, Unless you have SQL on your App-V box, otherwise, DO NOT tick those boxes. It will change your wizard steps.






Once you finish installation, I strongly recommend you to restart your App-V and most likely, you just add computer account into AppvAdmin group and requires restart to take effect.

Otherwise, you may see this.


After restart App-V, you should be able to this no error on console.










After poor marketing design vRAM past, Vmware has made another mistake on restricting of free license of ESXi. The free version of ESXi makes you only run VMs on host which has no more than 32GB memory.

This change (in my opinion, it’s also a wrong decision again!) pushes all customers from Vmware side to Microsoft side and also with no free licensing on Test and DR environment (which means you have to buy Essential Kits to cover Test and DR Hosts), we are facing no options but start to use Hyper-v in all tests environment.

One of most important elements of using Hyper-V is to convert existing VMWARE VMs to Hyper-V server.

MVMC (Microsoft Virtual Machine Converter) is one of tools you will use during the process of converting from Vmware vSphere to Microsoft HYPER-V.

Now, you will face some common issues and I hope this post will help you save some time.

My test environment:

1 Hyper-v Windows 2012 server

1 Vmware ESXi 4.1 with Windows 2008 R2 VMs

The goal is to convert VM from vmdk to VHD and up running in the Hyper-V

MVMC components:

MVMC actually has two parts.

1. MVMC to move VM with both CLI and GUI.

2. MVDC (virtual Disk Converter) to only convert disks from vmdk to VHD.


Start MVMC

Now, if you run the MVMC Gui, you will get this interface,


You are required to type ESXi or vCenter information here to get access to VM list. Behind the scene, What it does is to access ESXi web API to check VM lists on that ESXi.


As you can see, here is where you select your VM to be converted. The BLUE exclamation mark indicates that VM can’t be converted. There are quite few reasons why a VM can’t be converted, but on this picture, State is “OFF” and another VM without Vmware Tools can’t be converted.


Now, here is the interesting part. A login user can be used here directly, and notice it says Final State of VM is ON or OFF?

Again, it’s Final State of VM. It’s not all time states. so the original VM will be shutdown no matter what and it’s up to you to make it start again at the end.

If you want to convert VM on the fly without shutdown a VM, this is not the tool you should use.

Behind the scene, MVMC talks to ESXi to get snapshot of original VM while it’s running, the snapshot should include memory status as well. so estimate free size of VM storage.

Once snapshot is done, it removes Vmware tools and shutdown the VM. Then, it will export VM as OVF template which essentially isolate VM from hypervisor hardware layer. If your VM is a Microsoft TMG, then you probably don’t want to do that since TMG remembers the MAC of it’s nic and stored it in it’s own database. Now, there is a way to “hack” TMG, but this post doesn’t include it.


But I strongly suggest to use a UNC with share to store VMs.


This is where VM will sit. Now, according to Microsoft, it requires at least double the size of VM. As matter of fact, it requires triple size space rather than double.

Behind the scene, Like what I mentioned above, a OVF template has been generated. Now, OVF template is a compress format, so a 50GB vm can be compressed around 13GB. so this 13GB is downloaded to \\testhyp02\vmdk folder and MVMC will start convert it to 50GB vhd. After that, 50GB vhd will be copy (or upload) to Hyper-V VM location so that’s another 50GB, compressed if you use Dynamic disk. finally occupied Size is 13+50+50=113GB.



Now, when you see this page, you are pretty happy that VM has been converted and insert into HYPER-V and up running.

Now, remember this is VM from OVF, so some clean up must be done.

install new version of Integrated Service.


If you don’t install this integrated service, those hardware can’t be identified.


It does warn you the OLD IP exists, but after overwritten IP, it seems working. If you want to show hidden device of that old NIC, you won’t be able to find it.

Now, What’s Wrong?

MVMC has used multiple Microsoft technology in terms of converting.

The most common error you will get is this.


You can find log file here.



Now, for Windows 2008 R2, I recommend you to do following steps.

1. Enable Winrm


Winrm allows Windows server (2012 in this case) to remotely manage VM in terms of removing Vmware Tools.

2. Enable Server manager Remote management which will create FW fules


3. Make sure FW rules exception is ticked


3. You need to enable WMI and File and Print rules on FW no matter FW is on or OFF.

Now, after you have enable all three tricks, you can run some simple test.

For WINRM, you can run “winrs /r:yourTestServer ipconfig” from your MVMC server. If it shows result, then WINRM is working.

for WMI, you can download WMI administrator Tools and remote access root folder of VM, if you can see content, then it means it’s working.

Restart MVMC wizard and try again.

What about convert VM on the fly without shutdown ?

I’m not quite sure whether any software can do that at this stage. But You DO can clone a VM to an isolated network. run VM and import it to Hyper-V with MVMC.

For large size disk VM, you may want to use MVDC to convert disk and build a VM in Hyper-V and insert disk.

please let me know any thoughts.



following is answer from Microsoft for converting V2V on the fly.

Answer back from some of our Hyper-V guys…



It’s “possible” to perform a P2V conversion on a VMware virtual machine using Virtual Machine Manager, which leverages VSS to take the required snapshots while keeping the target machine online. However, it’s required to remove the VMware client tools first, which will probably require a reboot anyhow.




Troubleshooting P2V




Well, with my last post, I was not able to join Hyper-v 3 to SCVMM 2012 RC. Therefore, most of labs can’t be done. After I cried loud, our MS TAM help me to find a new copy of SCVMM 2012 CTP. This version is designed for Windows 8 and all functions are in Go status!!

With this exciting news, I managed myself (thanks a lot to my team mates!) to get 3 HP G5 servers to build a test environment today. Just like all test labs, I spent lots of time to work hard to find solutions and I hope my post will save your time and let’s uncover Hyper-v 3 true power together!!

Again, if I made any mistakes, please feel free to point out.

Introduce my Test Lab:

My test lab involves 3 physical hosts in the same subnet. There is no FC SANs available nor NAS exists. Each Hosts has it’s own local disks. I installed Windows 8 Beta on all 3 servers since this is one of conditions to do labs. 2 Servers I have enabled with Hyper-v 3 and I installed SCVMM 2012 CTP on the last server.


There is no issue of installing Windows 8. But with SCVMM, you need to install AIX and .NetFramework 3.5. You can’t tick the .NetFramework inside of W8, that would fail with not able to download. What you can do is following:

And restart server afterwards

Hyper-v 3 Storage vMotion is quite good

The one thing Hyper-v R2 can’t do is storage vMotion. Without this feature, I’m not able to migrate a live VM from one share LUN to another shared LUN without powering off VM. In the Hyper-v 3, MS not only managed to do a share storage vMotion in a cluster with SAN, you can storage vMotion between two standalone Hosts with a windows 8 share folder (SMB 2.2) !! (No more expensive VSA?).

Create a share folder

Live Migration is just normal vMotion with disk files sitting on the share storage. In this case, it’s a windows 8 share folder.

Since I have only local disks, I want to have some shared storages as the part of habit I got from Vmware. With Hyper-v 3, all what you need is a Windows 8 server and create a traditional share.

That’s it. No drama. No need for any specific share rights. This share purpose is to enable you to see this share when you add it into VMM. Once it is added, VMM will modify the accessing rights.

There are 2 steps to add this Share resource. The first steps is to add it to VMM library. so all VMs will sitting on that. You also need to add share resource to individual hosts so VMM will add hosts ID to security list.

Add to VMM Library

Add to individual host

Once it is added, your host is able to migrate VMs to share library.

This is how VMM setup access rights on the folder.

Storage vMotion (between host and share folder)

Basically, you can migrate VM files from local disk of your host to a share folder and from share folder to share folder or move it back to local disk.

According to my calculation, there is no ping drop during moving. The ping value sometimes is increase from 2ms to 65ms.

Storage vMotion from host to host

It’s interesting that MS say Hyper-v 3 is able to storage vMotion between two standalone host but they recommend to do it with a share folder accessable by both hosts. So does that mean you can Storage vMotion + vMotion from Stand alone host to stand alone host?

From my test result, It actually tried but failed at 81%. What it happened was Storage vMotion kicked in and copied 9GB data from one host to another host. During the copy procedure, the ping value jump up to 600ms. But the file is copied completely. Then, ping drop back to 2ms and tried to translate the last bit in the memory and that’s where it failed.

Overall, Hyper-v 3 can do Storage vMotion and with at least 2 sessions at same time. The ping value jump up can be contributed with my 100Mbit/s network limitation. Hyper-v 3 can use a normal windows 8 share folder as storage space which saves tons of money. so no more NAS and VSA? The new Windows 8 vhdx supports 64TB so there is no worries on how big a single file can be.

Bugs I have found:

1.With Windows 8 beta, RDP connection seems dropped if I started to copy large files via network. The whole server actually seems to be frozen status until copy is finished. My guess is that W8 didn’t prioritize RDP over copy session.

2.When I storage vMotion a VM which use differencing disk, the original disk (or parent disk) are not moved with storage vMotion.

I was trying to install SCVMM 2012 to manage Windows 8 beta. But unfortunately, Windows 8 Hyper-v has some major changes in services and you can’t import any Hyper-v 3 beta into SCVMM 2012 RC at this stage.


I will confirm with MS and update it later.


Oh, OMG. The ugly Windows 3.1 style fish. ……

This is first feature I’m testing with Hyper-v 3. I personally is shocking with how good Dynamic Memory is. If I make any wrong comments in this blog due to lack of knowledge of Hyper-v, please leave comment. Thanks

We all know Dynamic Memory feature in Hyper-v R2. This is quite argument point between Vmware and Microsoft. Vmware claims they have Memory over committing, memory sharing(schedule not real time), memory paging and memory balloon technology. Well, Personally, I have to say Vmware has done great job to allow more VMs memory consumption then what a host can hold. It is hard to do it without knowing OS core to reuse the memory.

Microsoft, on the other hand, has Dynamic Memory. It allows you to “Dynamic using memory” by setting up lowest memory and maximized memory for each vm. Well, to be honest, I’m not very interesting about this tech since it’s very similar as what Vmware does.

Now, thing is completely different from Hyper-v 3.

You can increase your vm memory on the fly!

Yes, Vmware can do same thing long time ago. I used to write a post about it. However, it can only happen to Windows Datacenter version. Vmware does that by physically plug in virtual memory DIMMs into OS hardware. However, only Windows Datacenter level has capability to pick them up and add them into OS on the fly.

Hyper-v 3 does that with almost every Microsoft system. Following is the list.

  • Guest operating system Editions Configuration requirements
    Windows Server 2008 R2 Standard and Web editions Install Windows Server 2008 R2 SP 1 in the guest operating system.
    Windows Server 2008 R2 Enterprise and Datacenter editions Do one of the following:

    • Install Windows Server 2008 R2 SP 1 in the guest operating system.
    • Upgrade the integration services in the guest operating system to the SP 1 version.
    Installing Windows Server 2008 R2 SP1 is the recommended method because it provides the added benefit of installing all updates included with SP1.
    Windows 7 Ultimate and Enterprise editions (32-bit and 64-bit) Do one of the following:

    • Install Windows 7 SP1 in the guest operating system.
    • Upgrade the integration services in the guest operating system to the SP1 version.
    Installing SP1 is the recommended method because it provides the added benefit of installing all updates included with SP1.
    Windows Server 2008 with Service Pack 2 (SP2) Standard and Web editions (32-bit and 64-bit) Upgrade the integration services in the guest operating system to the SP1 version.Apply a hotfix as described in article 2230887(
    Windows Server 2008 with Service Pack 2 (SP2) Enterprise and Datacenter editions (32-bit and 64-bit) Upgrade the integration services in the guest operating system to the SP1 version.
    Windows Vista with Service Pack 1 (SP1) Ultimate and Enterprise editions (32-bit and 64-bit) Upgrade the integration services in the guest operating system to the SP1 version.
    Windows Server 2003 R2 with Service Pack 2 (SP2) Standard, Web, Enterprise, and Datacenter editions (32-bit and 64-bit) Upgrade the integration services in the guest operating system to the SP1 version.
    Windows Server 2003 with Service Pack 2 Standard, Web, Enterprise, and Datacenter editions (32-bit and 64-bit) Upgrade the integration services in the guest operating system to the SP1 version.

Let’s Testing!!

I tested both on windows 2008 R2 SP1 and Windows 2003 R2. The result is the same. As long as you install “Intergration Services Setup Disk”, you will be able to increase memory on any VMs on the fly!
First, I created a VM and go into settings.
This is the default settings of maximum memory settings. It has nothing to do with  your host memory. It’s just maximum figure of Hyper-v 3 can handle. We don’t want Hyper-v to handle all memory. so I changed this figure to 512MB also changed start memory to 500MB like following picture.
Then, I restarted W2K3 and you can see how much physical memory it has.  Please be aware this physical memory is just figure of minimum memory figure. It will increase with how much memory you consume.
Now, let’s change the maximum memory figure on the fly to 1GB!
Once you increased the memory, you won’t see it reflect to OS immediately. You have to use memory and beyond the current physical memory level. Let’s increase number of IE window from 1 to 102. -_-b
Amazing! isn’t it?
Few other points:
At Hyper-v 3, you can increase maximum memory but you can’t decrease them on the fly! You do can decrease minimum memory memory on the fly although I don’t see much point here.
Hyper-v 3 supports balloon technology as well. The smart-page feature may contribute some scenarios with HA. But I haven’t got time to test it.
More features updates are coming. Please stay in tune. 🙂

I believe everyone has learned Windows 8 Beta is released. I had chance to read documents of Windows 8 and I dare to say.
“If Windows 8 Hyper-v is as good as what they claim in the Document, Vmware is in deep trouble and Windows 8 will roll out and replace Windows 2008 in less than one year”.

so what’s the major features Windows 8 holds and will change the I.T world?

AD is ready for Virtualization.

After 5 years, finally, we can see a windows OS was designed for virtualization. We always have saying that one can’t put DC on the vm because the timing issue. Here is the solution.

This is called the virtual machine GenerationID. The virtual machine GenerationID changes whenever the virtual machine experiences an event that affects its position in time. The virtual machine GenerationID is exposed to the virtual machine’s address space within its BIOS, and it is made available to the operating system and applications through a driver in Windows Server ―8‖ Beta.
During boot and before completing any transaction, a virtual domain controller running Windows Server ―8‖ Beta compares the current value of the virtual machine GenerationID against the value that it stored in the directory. A mismatch is interpreted as a ―rollback‖ event, and the domain controller employs AD DS safeguards that are new in Windows Server ―8‖ Beta. These safeguards allow the virtual domain controller to converge with other domain controllers, and they prevent the virtual domain controller from creating duplicate security principals. For Windows Server ―8‖ Beta virtual domain controllers to gain this extra level of protection, the virtual domain controller must be hosted on a virtual machine GenerationID–aware hypervisor such as Windows Server ―8‖ Beta with the HyperV role.

This VGID requires Hypervisor layer to support it. vSphere 5 doesn’t. How about vSphere 5.1?

An Unique identity for your vm.

Server Name Indication
Server Name Indication (SNI) uses a virtual domain name to identify a network endpoint, eliminating the need to have a dedicated IP address for each secure site. It does this by extending the Transport Layer Security (TLS) protocol to include the virtual domain name during Secure Sockets Layer (SSL) negotiation. SNI allows the client to request the domain name before the certificate is committed to the server.
With SNI, a host name can be used along with IP address and port to identify the network endpoint, eliminating the need to have a dedicated IP address for each secure site. In the past, if you had 10,000 tenants, you would need
Windows Server ―8‖ Beta Release Product Overview Page 63
10,000 unique IP addresses. With SNI, you need only one. SNI also supports thousands of SSL certificates and uses the local certificate store.

Cloud Ready Virtualization Network

Imaging you don’t need to change DNS name. You don’t need to change IP address of your VM. You don’t need to spend expensive Cisco Network, here it is.

To virtualize the network, Hyper-V Network Virtualization uses the following elements:
• Two IP addresses for each virtual machine.
• Generic Routing Encapsulation (GRE).
• IP address rewrite.
• Policy management server.

Essentially, Each VM has CA (Customer address, normal IP) and PA (The provider Address, the host IP where VM is running).

So the tcp/ip package will be repackaged with GRE as follow.

When a IP package is delivery, it will check host IP (PA) first and check CA. In this case, you can move your vm easily between any clouds without other changes but the host IP (PA). How good that is!!


From my understanding, Hyper-v 3 has everything vSphere can do except the Storage DRS with following new features:

VHDX, Hyper-v Replic(free?), Resource Metering (Charge back for free?), Migrate VM between any Host regardless having share storage or not (really?),

Well, I’m extremely glad that Microsoft made such huge jump/leap on Cloud. Vmware, it’s your move now!