- home
- over wortell
- onze mensen
- werken bij
- oplossingen
- referenties
- blog
- TechReady
RT @IrisVink: Luc in de belangstelling op #WortellTR3 http://t.co/DYGLVLrS
RT @anoukvanh: Tijd voor de prijzenslag #wortelltr3 http://t.co/VOcaj7i8
Ook prijzen van onze sponsoren #polycom #quest en #jabra worden verloot! #Wortell #Techready LOTING kan elk moment beginnen #WortellTR3
Alle sessies zijn klaar! Techready 3 was weer een succes! Nu borrel en een verloting… er worden o.a. #Nokia #Lumia’s verloot…#WortellTR3
This article documents recommended hotfixes for Windows Server 2008 R2 SP1 Failover Clusters. Applying these fixes can improve the reliability of your high avialability solution.
Note We recommend you evaluate each fix to determine whether it applies to your environment. If you determine that Failover Clusters in your environment may be affected by the problem(s) that a fix addresses, install the fix on each cluster node using the procedures described in KB 174799 (http://support.microsoft.com/kb/174799) .
Use the information in the “More information” section to help you determine whether a particular fix applies to the cluster. Before you install a particular fix, we recommend you review the original Microsoft Knowledge Base (KB) article that describes the fix.
Enige tijd geleden ben ik aanwezig geweest bij een training met de titel “Delivering and Managing a Microsoft Private Cloud Solution”. De training komt in een vorm van een 3-daagse of een 5-daagse versie en is een nieuwe training. Wereldwijd was dit 1 van de drie die momenteel is gegeven. De overige trainingslocaties waren Engeland en Zuid-Afrika (! Ik zat in Amsterdam Sloterdijk…dus
).
Het publiek en de bedoeling van de afgelopen drie dagen was:
“This course is intended for Enterprise Systems Engineers, Administrators and System Integrators who need to implement a Dynamic Datacenter using system Microsoft System Center technologies including SCVMMSSP 2.0 Solutions Accelerator, System Center Service Manager 2010 and System Center Opalis.”
Met andere woorden een training Microsoft Private Cloud in de vorm van een stuk product info / marketing en hands-on labs. De drie dagen waren duidelijk opgesplitst in twee delen. In de ochtend werden de diverse producten doorgelicht met de nodige slides en korte demo’s, de middagen waren voor de hands-on labs. Lees meer (0 reacties)
System Center 2012 cloud and datacenter management solutions empower you with a common management toolset for your private and public cloud applications and services. System Center helps you confidently deliver IT as a Service for your business. Virtual Machine Manager (VMM) 2012 Beta is a key component of the forthcoming System Center 2012 releases.
http://www.microsoft.com/systemcenter/en/us/virtual-machine-manager/vm-vnext-beta.aspx
With this release you will be able to do:
Production Support: The SCVMM 2012 Beta is NOT Supported in production environments.
Inspired by this blog “A script to check the Integration Services Version on Hyper-V Host and Guests” and this blog “Hyper-V Integration Components version list table” the script below was created. The script mentioned in the first blog can only be executed on the host itself or via a PSSession on a remote host but is always one host at the time.
When using the script it is possible to use two different kinds of arrays. The first is a set of predefined hosts containing Hyper-V, the second is a OU in which al the HYper-V hosts are located. To use the first type of array you need to adjust the script arround line 29. When using the array based on the OU you don’t need to change the script.
The scripts has been tested on on Windows Server 2008 R2 and Windows 7. It uses WMI so please make sure your firewall is setup correctly.
# Specifies hosts to query.
# When using a small array.
# $hosts = @(‘<SERVERNAME 01>’, ‘<SERVERNAME 02>’)# When using a specific OU.
import-module activedirectory
$hosts = Get-ADComputer –filter * -SearchBase “OU=<YOUR OU HERE>,DC=CONTOSO,DC=local”# Tabel headers
Write-host ‘HostName’ ‘HosticVersion’ ‘GuestName’ ‘GuesticVersion’# Defines import filter.
filter Import-CimXml
{
$cimXml = [XML]$_
$cimTree = New-Object -TypeName System.Object
foreach ($cimProperty in $cimXml.SelectNodes(“/INSTANCE/PROPERTY”))
{$cimTree | Add-Member -MemberType NoteProperty -Name $cimProperty.NAME -Value $cimProperty.VALUE}
$cimTree
}# Retrieves all VMs except host itself.
foreach($hostName in $hosts)
{# When using an small array please disable $hostName = $hostName.name
$hostName = $hostName.name$hostSession = new-pssession -computername $hostname
$icVersionParent = invoke-command -session $hostSession -scriptblock {Get-ChildItem “HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Virtualization\GuestInstaller” | ForEach-Object {Get-ItemProperty $_.pspath} | select-object “Microsoft-Hyper-V-Guest-Installer-Win60-Package”}$guests = Get-WmiObject -Namespace root\virtualization -ComputerName $hostName `
-Query “SELECT * FROM Msvm_ComputerSystem WHERE EnabledState=2 AND NOT Caption LIKE ‘Hosting Computer System’”Remove-pssession -computername $hostname
# Processes all guests.
foreach($guestName in $guests)
{Try {
$guestKVP = Get-WmiObject -Namespace root\virtualization -ComputerName $hostName `
-Query “ASSOCIATORS OF {$guestName} WHERE AssocClass=Msvm_SystemDevice ResultClass=Msvm_KvpExchangeComponent” –ErrorAction Stop$icVersionGuest = $guestKVP.GuestIntrinsicExchangeItems | Import-CimXml | Where-Object{$_.Name -eq ‘IntegrationServicesVersion’}
$ichost = $icVersionParent.’Microsoft-Hyper-V-Guest-Installer-Win60-Package’
$icguest = $icVersionGuest.DataIf ($ichost -eq $icguest)
{Write-host $hostName,$ichost,$guestName.ElementName,$icguest -foregroundcolor green}
Else
{Write-host $hostName,$icVersionParent.’Microsoft-Hyper-V-Guest-Installer-Win60-Package’,$guestName.ElementName,$icVersionGuest.Data -foregroundcolor red}
}
Catch {
Write-host $hostName,$ichost ‘Host contains no running guests’ -foregroundcolor red}
}
}
So with this script it is possible to define an array of servers by hand or define a specific OU where all the Hyper-V hosts are located in your Active Directory.
In this article the title is explained. It also explains how to set it manually on all VM’s that you have. As lazy admin as I am I created a PowerShell script that can be ran manually when configuring/installing a VM or you can set is as shutdown script so every time a VM shuts down it is checked if a new “Microsoft Virtual Machine Bus Network Adapter” has been added to the VM.
| RSBufferSize.ps1 |
| if (Get-ItemProperty -Name “ReceiveBufferSize” -path “hklm:\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}\*” -erroraction silentlycontinue | where {$_.DriverDesc -eq “Microsoft Virtual Machine Bus Network Adapter”}) {“Registry key ReceiveBufferSize already exists”} else {Get-ItemProperty -Name “DriverDesc” -path “hklm:\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}\*” -erroraction silentlycontinue | where {$_.DriverDesc -eq “Microsoft Virtual Machine Bus Network Adapter”} | new-itemproperty -name ReceiveBufferSize -value 2048 -propertyType dword -erroraction silentlycontinue}
if (Get-ItemProperty -Name “SendBufferSize” -path “hklm:\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}\*” -erroraction silentlycontinue | where {$_.DriverDesc -eq “Microsoft Virtual Machine Bus Network Adapter”}) {“Registry key SendBufferSize already exists”} else {Get-ItemProperty -Name “DriverDesc” -path “hklm:\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}\*” -erroraction silentlycontinue | where {$_.DriverDesc -eq “Microsoft Virtual Machine Bus Network Adapter”} | new-itemproperty -name SendBufferSize -value 2048 -propertyType dword -erroraction silentlycontinue} |
Having written the script we want to use it! At this point you have a choice to make; there are two options:
1. Sign the script (you’ll need a Code Signing certificate and private key, then: $cert = @(gci cert:\currentuser\CodeSigningCert)[0]; Set-AuthenticodeSignature RSBufferSize.ps1$cert);
2. Set the script execution policy to Unrestricted (Set-ExecutionPolicy -ExecutionPolicy Unrestricted)
I strongly recommend option 1 for security, but in a lab or low security environment (i.e. you WANT your hosts to be compromised) option 2 might be acceptable.
Finally, you need to configure Group Policy or Local Policy for the host to have a Startup Script. You’ll find these settings under Computer Settings > Windows Settings > Scripts (Startup/Shutdown):
PowerShell Scripts tab (not the default Scripts tab):
Add a new script and set the script path to your saved file:
Why a Startup script? I tried a shutdown script but it didn’t work ;-) Reboot required to make settings effective!
It’s worth noting that scripts executed by Group Policy do not need to be signed – they bypass the script execution policy settings. Nevertheless you’re going to want to sign it so that:
That’s all that needs to be done – now it’s testing time. The script is included in the text so you can just copy it, save it, sign it and test it.