VirtualMetric Hyper-V Monitoring, Hyper-V Reporting


Cozumpark Bilisim Portali
Posted in Windows Powershell | No Comment | 6,630 views | 30/11/2011 23:33

I’m happy to announce you my last product called PoSH Server. It’s an IIS alternative.

1. HTML and Powershell language support: You can use your HTML and Powershell codes.
2. CSS, JS, XML and Flash support: Your HTML websites are fully supported.
3. Mime Type support: You can add new mime types to support new content types.
4. Default Document support: You can choose a default document for your website.
5. IIS like logging options: Daily and Hourly log rotation and advanced logging fileds. (Supported fileds: date time s-sitename s-computername s-ip cs-method cs-uri-stem s-port c-ip cs-version cs(User-Agent) cs(Cookie) cs(Referer) cs-host sc-status)
6. Authentication support: Basic and Windows authentication
7. Log hashing: Signs log files and stores date and hash files


Thanks to support this open source project!


1. First, you should allow signed Powershell scripts:

Set-ExecutionPolicy AllSigned

2. Extract file to any directory you want.

3. Import start.ps1 file:

. .\start.ps1

4. Start PoSH Server:


5. Follow to instructions.

Sample Web Site Preview:

Sample Log Output Preview:

It’s almost stable. I’ve added PHP 5.3.8 support but removed it due to unstable PHP performance. You can add PHP support if you need, that’s possible. It’s good to publish internal websites, should not be used for world wide website publishing. In large number of visitors, performance may be dramatically reduced.

Posted in Windows Powershell | No Comment | 4,761 views | 30/11/2011 20:57

You can’t run unsigned Powershell scripts on servers if execution policy is not set as “Unrestricted”. You need to sign your scripts to run without modifying security policies. If you are a software developer, signing your scripts makes you reliable publisher for users.

By providing assurance that software is produced and signed by a “known publisher”, the practice of code signing can increase customer trust and lead to increased conversions and downloads.

But wait, you can’t sign a Powershell script with a Web certificate. So basically 20$ certificate from AlphaSSL or similar won’t work. For Windows, you need to have Code Signing Certificate. I’ll talk about GlobalSign code signing certificate and code signing process.

If you are a individual developer (like me) you can go with that option. If you purchase individual developer certificate, you’ll get a certificate for your name (like Yusuf Ozturk). Let’s read it from GlobalSign:

Software Vendors and Organizations can digitally sign and timestamp the software they distribute over the Internet, ensuring that the end user knows the software is legitimate and has not been tampered with since being published.

Individual Developers, i.e. those developers not associated with larger organizations, can also buy and use Code Signing certificates. The full name of the developer is attached to the certificate, so customers will see the message “This software has been published by John Doe”.

So what you need to get a code signing certificate?

Posted in Virtual Machine Manager, Windows Server | No Comment | 6,061 views | 29/11/2011 23:11

If you have a Hyper-V cluster in a HP Server farm then you may face with low live migration performance. We realized that HP 300 series G6 and G7 servers shipping with energy saving mode. Let’s check that from HP website.

In the ProLiant 300-series G6 and G7 RBSU, the HP Power Profile defines three possible configurations of some of the power features identified earlier in this section. The HP Power Profile provides a simple mechanism for users to configure the power management options of their system based on their tolerance to power versus performance without having to individually configure each option.

There are three possible settings for the HP Power Profile: Maximum Performance; Balanced Power and Performance; and Minimum Power Usage. An additional Custom setting is simply any combination of user settings that do not match the pre-sets for the three categories listed below.

If you want to increase performance of live migration process, you need to disable c-states from BIOS. C-States has a huge impact on live migration. Since HP comes with Balanced Power and Performance mode, it also activates C6 state on BIOS. That’s reason of the issue. So changing HP Power Profile to “Maximum Performance“, you disable C-States from BIOS and get maximum performance from Live migration. As you see our servers can utilize 99% of bandwidth.

So it’s not a good thing to use “Balanced Power and Performance” on Virtualization. Get away from it :)

Posted in Virtual Machine Manager, Windows Powershell | No Comment | 5,575 views | 29/11/2011 22:54

You may get this error when you try to start maintenance mode on a Hyper-V host.

Error (10434)
No suitable host is available for migrating the existing highly available virtual machines.

Recommended Action
Either improve the host ratings for the other hosts within the same cluster, and then try the operation again, or do not migrate the virtual machines.

SCVMM can not live migrate virtual machines if a shared ISO file is attached. So that can pause maintenance mode if you choose live migration mode.
You can execute following Powershell codes to find VMs which have shared ISO files.

Get-VM | Get-VirtualDVDDrive | where {$_.ISO -ne $null} | ft Name

If you’re looking for a specific Hyper-V host called Host01:

Get-VMHost Host01 | Get-VM | Get-VirtualDVDDrive | where {$_.ISO -ne $null} | ft Name

Deattach shared ISO files from VMs and start maintenance mode again.

Posted in Virtual Machine Manager, Windows Powershell | 3 Comments | 6,987 views | 14/11/2011 11:18

You may get this error when you try to refresh virtual machine.

Error (12711)
VMM cannot complete the WMI operation on server because of error: [MSCluster_Resource.Name=”69598e3a-3567-4b40-b7d9-dd08ed1169df”] The cluster resource could not be found.

(The cluster resource could not be found (0x138F))

Recommended Action
Resolve the issue and then try the operation again.

You should refresh cluster configuration to fix this issue. Go to one of the Cluster nodes.
Execute the commands on Powershell:

Import-Module FailoverClusters
Get-ClusterResource -c CLUSTERNAME | where {$ -eq 'virtual machine configuration'} | Update-ClusterVirtualMachineConfiguration

After that, you can refresh Cluster and VM from SCVMM console. That should fix the issue.