DRS Host Affinity rules
One of the new features in vSphere 4.1 is the ability to configure Host affinity rules for DRS. These enable you to split your vSphere cluster in several groups of hosts and assign assign a subset of your VMs to one of these groups.
There are plenty of use cases for this:
- Netapp Metrocluster
- Applications licensed based on CPUs
- performance sensitive applications
- …
In my case the cluster is spread over 2 sites, one production site and a failover site. The failover site is used to run test & dev servers. Only in case of serious problems on the production site the VMs should be moved to the failover site.
Open the cluster settings and create a “Virtual Machines DRS Group”
I create a group called FailoverSiteVMs which contains the test & dev servers.
A second group is called ProductionSiteVMs which contains the production virtual machines.
Now we need to create 2 “Hosts DRS Groups. One for the FailoverSite.
And another one for the Production site.
An overview of the configured groups
Once all the groups are created you can start creating DRS rules. Select the “Virtual Machines to Hosts” as type, the Cluster Vms Group and the Cluster Hosts Groups.
There are 2 main types of DRS rules:
- Should run on hosts in group
- Must run on hosts in group
- The “Should run on hosts in group” rule keeps the VMs on the configured hosts but HA can violate the DRS rules and start the VMs on the failover hosts.
When the “Must run on hosts in group” type is used HA won’t violate the DRS rules and the VMs won’t be restarted on the failover hosts.
Once the rules are configured the rules dialog looks like this.
VMware updates released
VMware just released vSphere 4.1, Site Recovery Manager 4.1 and VMware vCenter Server Heartbeat 6.3.
The downloads can be found at:
Site Recovery Manager 4.1 – Release Notes
vSphere Management Assistant (vMA) 4.1
VMware vCenter Server Heartbeat 6.3 – Release Notes
Both vCenter 4.1 and SRM 4.1 are now only installable on 64-bit host platforms.
ICT On The Bike: X-Cycle roadie edition
Here’s a little slideshow of a bunch of pictures I took during todays ICT on the bike event.
This slideshow requires JavaScript.
Superb weather, a challenging track, a professional organization and some entertaining people. Bottom line; I had a good time. Especially as it has been some time since I rode such a distance (did 100K). My climbing skills need some (a lot actually) but that hardly comes as a surprise.
Alternatively you can peak at some individual images in this gallery (in the correct order):
Symantec Enterprise Vault vs. Microsoft Exchange Server Archiving
Earlier on today Symantec tweeted an article comparing archiving features offered by both Symantec Enterprise Vault and Microsoft Exchange Server. They might call it a
Great article
but I’m not sure I agree. From my point of view the article reveals nothing that isn’t known for months. Exchange 2010 is RTM for half a year already. What I really would like to see (and so are others) is a detailed comparison between both Enterprise Vault and Exchange Server. So far I’ve not been able to find such a comparison anywhere on the public internet, so let me have a shot at it myself:
| Microsoft Exchange Server 2010 | Symantec Enterprise Vault 9 | |
| Archiving Targets |
|
|
| Prerequisites |
|
|
| Integration |
|
|
| Offline Archive Support | None | Offline Vault |
| Storage |
|
|
| Legal Position |
|
|
| Migration | Easy (?)
|
Hard (?)
|
| Cost |
|
|
| Conclusion | Low end alternative for pst-files for the first time ever | If you want to archive…
|
Note: This info is preliminary. Both products are in need for E2K10 SP1 before they can be taken seriously. Enterprise Vault 9 is still in beta at the moment and will only support E2010 from SP1 onwards. Exchange Server 2010 will allow separating primary and secondary mailboxes starting with SP1. This highly anticipated Service Pack will probably be released somewhere around Q3 of this year.
Apart from that I’m convinced we’re actually seeing the trusted Microsoft strategy of entering the market with a basic feature set. They feel the temperature and then gain market share gradually. Release after release.
Whether you agree or not, or just want to contribute to the discussion; feel free to comment.
Command Based Help Gotcha
I’ve had the chance to play around with some PowerShell scripting again. A nice occasion to try and include some Comment Based Help I read about in TechNet Magazine a couple of months ago. However I couldn’t get it to work in combination with the standard script header template I tend to use for all of my scripts.
I experimented with commenting out each line on its own:
#header # #help
or using comment blocks
<# header help #>
even
<# header #> <# help #>
and a couple more variations, but no joy. After some “binging” I ended up reading about_Comment_Based_Help;
All of the lines in a comment-based Help topic must be contiguous. If a comment-based Help topic follows a comment that is not part of the Help topic, there must be at least one blank line between the last non-Help comment line and the beginning of the comment-based Help.
It still took some more trial and error to realize that an “empty line” well, needs to be really empty. It cannot contain a comment character either! Call me stupid ;-)
Here’s an example of how it should be done (Ref. line 22):
#========================================================================================================
# AUTHOR
# Koen Vermoesen
# ***.***@***.***
# 2010-05-20
#========================================================================================================
# SCRIPT
# Create custom address lists based on a CSV file
#========================================================================================================
# PREREQUISITES
# /
#========================================================================================================
# CHANGE HISTORY:
# 2010-05-10 Initial version
#========================================================================================================
# TO DO
# /
#========================================================================================================
# COMMENTS
# Parent lists need to proceed child lists in your input csv-file!
#========================================================================================================
#.SYNOPSIS
#Create custom address lists
#
#.DESCRIPTION
#Create custom address lists based on a CSV file called "CreateAddressLists.csv" with these columns
# - Name
# - Container
# - RecipientFilter
#The script will check if the "Container"-field is empty and run de cmdlet with or without "-container" option
#
#.Link
#http://technet.microsoft.com/en-us/library/aa996912.aspx
$Input = "CreateAddressLists.csv"
Import-CSV $Input | Foreach { If ($_.Container -eq "") {New-AddressList -Name $_.Name -RecipientFilter $_.RecipientFilter} else {New-AddressList -Name $_.Name -Container $_.Container -RecipientFilter $_.RecipientFilter}}
For those of you wondering, I have the habit of using scripts not just for bulky or repetitive actions but also as means of documentation and standardization. Additionally these scripts come in handy If you ever need to rebuild some part of the infrastructure. Hence the 35 lines of comment for only 2 lines of code.
PowerCLI autocompletion for Notepad++
Notepad++ supports Powershell from version v5.6 but the VMware PowerCLI cmdlets aren’t included.
So I created PowerCLI Language definition file for syntax highlighting. It contains the cmdlets available in vSphere PowerCLI 4 Update 1 and vCenter Update Manager PowerCLI 4 Update 1.
<NotepadPlus>
<UserLang name="PowerCLI" ext="ps1">
<Settings>
<Global caseIgnored="yes" />
<TreatAsSymbol comment="no" commentLine="no" />
<Prefix words1="yes" words2="yes" words3="no" words4="no" />
</Settings>
<KeywordLists>
<Keywords name="Delimiters">000000</Keywords>
<Keywords name="Folder+"></Keywords>
<Keywords name="Folder-"></Keywords>
<Keywords name="Operators"></Keywords>
<Keywords name="Comment"></Keywords>
<Keywords name="Words1">Add-PassthroughDevice Add-VMHost Add-VmHostNtpServer Apply-DrsRecommendation Apply-VMHostProfile Connect-VIServer Copy-DatastoreItem Copy-HardDisk Copy-VMGuestFile Disconnect-VIServer Dismount-Tools Export-VApp Export-VMHostProfile Get-Annotation Get-CDDrive Get-Cluster Get-CustomAttribute Get-Datacenter Get-Datastore Get-DrsRecommendation Get-DrsRule Get-FloppyDrive Get-Folder Get-HardDisk Get-Inventory Get-IScsiHbaTarget Get-Log Get-LogType Get-NetworkAdapter Get-NicTeamingPolicy Get-OSCustomizationNicMapping Get-OSCustomizationSpec Get-PassthroughDevice Get-PowerCLIConfiguration Get-PowerCLIVersion Get-ResourcePool Get-ScsiLun Get-ScsiLunPath Get-Snapshot Get-Stat Get-StatInterval Get-StatType Get-Task Get-Template Get-UsbDevice Get-VApp Get-VICredentialStoreItem Get-VIEvent Get-View Get-VIObjectByVIView Get-VIPermission Get-VIPrivilege Get-VIRole Get-VirtualPortGroup Get-VirtualSwitch Get-VM Get-VMGuest Get-VMGuestNetworkInterface Get-VMGuestRoute Get-VMHost Get-VMHostAccount Get-VMHostAdvancedConfiguration Get-VMHostAvailableTimeZone Get-VMHostDiagnosticPartition Get-VMHostFirewallDefaultPolicy Get-VMHostFirewallException Get-VMHostFirmware Get-VMHostHba Get-VMHostModule Get-VMHostNetwork Get-VMHostNetworkAdapter Get-VMHostNtpServer Get-VMHostProfile Get-VMHostService Get-VMHostSnmp Get-VMHostStartPolicy Get-VMHostStorage Get-VMHostSysLogServer Get-VMQuestion Get-VMResourceConfiguration Get-VMStartPolicy Import-VApp Import-VMHostProfile Install-VMHostPatch Invoke-VMScript Mount-Tools Move-Cluster Move-Datacenter Move-Folder Move-Inventory Move-ResourcePool Move-Template Move-VM Move-VMHostNew-CDDrive New-ClusterNew-CustomAttribute New-CustomField New-Datacenter New-Datastore New-DrsRule New-FloppyDrive New-Folder New-HardDisk New-IScsiHbaTarget New-NetworkAdapter New-OSCustomizationNicMapping New-OSCustomizationSpec New-ResourcePool New-Snapshot New-StatInterval New-Template New-VApp New-VICredentialStoreItem New-VIPermission New-VIRole New-VirtualPortGroup New-VirtualSwitch New-VM New-VMGuestRoute New-VMHostAccount New-VMHostNetworkAdapter New-VMHostProfile Remove-CDDrive Remove-Cluster Remove-CustomAttribute Remove-CustomField Remove-Datacenter Remove-Datastore Remove-DrsRule Remove-FloppyDrive Remove-Folder Remove-HardDisk Remove-Inventory Remove-IScsiHbaTarget Remove-NetworkAdapter Remove-OSCustomizationNicMap... Remove-OSCustomizationSpec Remove-PassthroughDevice Remove-ResourcePool Remove-Snapshot Remove-StatInterval Remove-Template Remove-UsbDevice Remove-VApp Remove-VICredentialStoreItem Remove-VIPermission Remove-VIRole Remove-VirtualPortGroup Remove-VirtualSwitch Remove-VM Remove-VMGuestRoute Remove-VMHost Remove-VMHostAccount Remove-VMHostNetworkAdapter Remove-VMHostNtpServer Remove-VMHostProfile Restart-VM Restart-VMGuest Restart-VMHost Restart-VMHostService Set-Annotation Set-CDDrive Set-Cluster Set-CustomAttribute Set-CustomField Set-Datacenter Set-Datastore Set-DrsRule Set-FloppyDrive Set-Folder Set-HardDisk Set-IScsiHbaTarget Set-NetworkAdapter Set-NicTeamingPolicy Set-OSCustomizationNicMapping Set-OSCustomizationSpec Set-PowerCLIConfiguration Set-ResourcePool Set-ScsiLun Set-ScsiLunPath Set-Snapshot Set-StatInterval Set-Template Set-VApp Set-VIPermission Set-VIRole Set-VirtualPortGroup Set-VirtualSwitch Set-VM Set-VMGuestNetworkInterface Set-VMGuestRoute Set-VMHost Set-VMHostAccount Set-VMHostAdvancedConfiguration Set-VMHostDiagnosticPartition Set-VMHostFirewallDefaultPolicy Set-VMHostFirewallException Set-VMHostFirmware Set-VMHostHba Set-VMHostModule Set-VMHostNetwork Set-VMHostNetworkAdapter Set-VMHostProfile Set-VMHostService Set-VMHostSnmp Set-VMHostStartPolicy Set-VMHostStorage Set-VMHostSysLogServer Set-VMQuestion Set-VMResourceConfiguration Set-VMStartPolicy Shutdown-VMGuest Start-VApp Start-VM Start-VMHost Start-VMHostService Stop-Task Stop-VApp Stop-VM Stop-VMHost Stop-VMHostService Suspend-VM Suspend-VMGuest Suspend-VMHost Test-VMHostProfileCompliance Test-VMHostSnmp Update-Tools Wait-Task Attach-Baseline Detach-Baseline Download-Patch Get-Baseline Get-Compliance Get-Patch Get-PatchBaseline New-PatchBaseline Remediate-Inventory Remove-Baseline Scan-Inventory Set-PatchBaseline Stage-Patch</Keywords>
<Keywords name="Words2">Answer-VMQuestion Get-ESX Get-PowerCLIDocumentation Get-VC Get-VIServer Get-VIToolkitConfiguration Get-VIToolkitVersion Set-VIToolkitConfiguration</Keywords>
<Keywords name="Words3"></Keywords>
<Keywords name="Words4"></Keywords>
</KeywordLists>
<Styles>
<WordsStyle name="DEFAULT" styleID="11" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" />
<WordsStyle name="FOLDEROPEN" styleID="12" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" />
<WordsStyle name="FOLDERCLOSE" styleID="13" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" />
<WordsStyle name="KEYWORD1" styleID="5" fgColor="0000FF" bgColor="FFFFFF" fontName="" fontStyle="1" />
<WordsStyle name="KEYWORD2" styleID="6" fgColor="8080FF" bgColor="FFFFFF" fontName="" fontStyle="0" />
<WordsStyle name="KEYWORD3" styleID="7" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" />
<WordsStyle name="KEYWORD4" styleID="8" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" />
<WordsStyle name="COMMENT" styleID="1" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" />
<WordsStyle name="COMMENT LINE" styleID="2" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" />
<WordsStyle name="NUMBER" styleID="4" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" />
<WordsStyle name="OPERATOR" styleID="10" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" />
<WordsStyle name="DELIMINER1" styleID="14" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" />
<WordsStyle name="DELIMINER2" styleID="15" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" />
<WordsStyle name="DELIMINER3" styleID="16" fgColor="000000" bgColor="FFFFFF" fontName="" fontStyle="0" />
</Styles>
</UserLang>
</NotepadPlus>
To add PowerCLI as a user-defined language %APPDATA%\Notepad++\userDefineLang.xml and add the above configuration to this file.
Secondly I created a PowerCLI auto-completion file which contains the same PowerCLI cmdlets. This configuration needs to be added to C:\Program Files\Notepad++\plugins\APIs\PowerCLI.xml. The name of the auto-completion file needs to be the same as defined in the user-defined language definition file.
<NotepadPlus> <AutoComplete> <KeyWord name="Add-PassthroughDevice"/> <KeyWord name="Add-VMHost"/> <KeyWord name="Add-VmHostNtpServer"/> <KeyWord name="Answer-VMQuestion"/> <KeyWord name="Apply-DrsRecommendation"/> <KeyWord name="Apply-VMHostProfile"/> <KeyWord name="Attach-Baseline"/> <KeyWord name="Connect-VIServer"/> <KeyWord name="Copy-DatastoreItem"/> <KeyWord name="Copy-HardDisk"/> <KeyWord name="Copy-VMGuestFile"/> <KeyWord name="Detach-Baseline"/> <KeyWord name="Disconnect-VIServer"/> <KeyWord name="Dismount-Tools"/> <KeyWord name="Download-Patch"/> <KeyWord name="Export-VApp"/> <KeyWord name="Export-VMHostProfile"/> <KeyWord name="Get-Annotation"/> <KeyWord name="Get-Baseline"/> <KeyWord name="Get-CDDrive"/> <KeyWord name="Get-Cluster"/> <KeyWord name="Get-Compliance"/> <KeyWord name="Get-CustomAttribute"/> <KeyWord name="Get-Datacenter"/> <KeyWord name="Get-Datastore"/> <KeyWord name="Get-DrsRecommendation"/> <KeyWord name="Get-DrsRule"/> <KeyWord name="Get-ESX"/> <KeyWord name="Get-FloppyDrive"/> <KeyWord name="Get-Folder"/> <KeyWord name="Get-HardDisk"/> <KeyWord name="Get-IScsiHbaTarget"/> <KeyWord name="Get-Inventory"/> <KeyWord name="Get-Log"/> <KeyWord name="Get-LogType"/> <KeyWord name="Get-NetworkAdapter"/> <KeyWord name="Get-NicTeamingPolicy"/> <KeyWord name="Get-OSCustomizationNicMapping"/> <KeyWord name="Get-OSCustomizationSpec"/> <KeyWord name="Get-PassthroughDevice"/> <KeyWord name="Get-Patch"/> <KeyWord name="Get-PatchBaseline"/> <KeyWord name="Get-PowerCLIConfiguration"/> <KeyWord name="Get-PowerCLIDocumentation"/> <KeyWord name="Get-PowerCLIVersion"/> <KeyWord name="Get-ResourcePool"/> <KeyWord name="Get-ScsiLun"/> <KeyWord name="Get-ScsiLunPath"/> <KeyWord name="Get-Snapshot"/> <KeyWord name="Get-Stat"/> <KeyWord name="Get-StatInterval"/> <KeyWord name="Get-StatType"/> <KeyWord name="Get-Task"/> <KeyWord name="Get-Template"/> <KeyWord name="Get-UsbDevice"/> <KeyWord name="Get-VApp"/> <KeyWord name="Get-VC"/> <KeyWord name="Get-VICredentialStoreItem"/> <KeyWord name="Get-VIEvent"/> <KeyWord name="Get-VIObjectByVIView"/> <KeyWord name="Get-VIPermission"/> <KeyWord name="Get-VIPrivilege"/> <KeyWord name="Get-VIRole"/> <KeyWord name="Get-VIServer"/> <KeyWord name="Get-VIToolkitConfiguration"/> <KeyWord name="Get-VIToolkitVersion"/> <KeyWord name="Get-VM"/> <KeyWord name="Get-VMGuest"/> <KeyWord name="Get-VMGuestNetworkInterface"/> <KeyWord name="Get-VMGuestRoute"/> <KeyWord name="Get-VMHost"/> <KeyWord name="Get-VMHostAccount"/> <KeyWord name="Get-VMHostAdvancedConfiguration"/> <KeyWord name="Get-VMHostAvailableTimeZone"/> <KeyWord name="Get-VMHostDiagnosticPartition"/> <KeyWord name="Get-VMHostFirewallDefaultPolicy"/> <KeyWord name="Get-VMHostFirewallException"/> <KeyWord name="Get-VMHostFirmware"/> <KeyWord name="Get-VMHostHba"/> <KeyWord name="Get-VMHostModule"/> <KeyWord name="Get-VMHostNetwork"/> <KeyWord name="Get-VMHostNetworkAdapter"/> <KeyWord name="Get-VMHostNtpServer"/> <KeyWord name="Get-VMHostProfile"/> <KeyWord name="Get-VMHostService"/> <KeyWord name="Get-VMHostSnmp"/> <KeyWord name="Get-VMHostStartPolicy"/> <KeyWord name="Get-VMHostStorage"/> <KeyWord name="Get-VMHostSysLogServer"/> <KeyWord name="Get-VMQuestion"/> <KeyWord name="Get-VMResourceConfiguration"/> <KeyWord name="Get-VMStartPolicy"/> <KeyWord name="Get-View"/> <KeyWord name="Get-VirtualPortGroup"/> <KeyWord name="Get-VirtualSwitch"/> <KeyWord name="Import-VApp"/> <KeyWord name="Import-VMHostProfile"/> <KeyWord name="Install-VMHostPatch"/> <KeyWord name="Invoke-VMScript"/> <KeyWord name="Mount-Tools"/> <KeyWord name="Move-Cluster"/> <KeyWord name="Move-Datacenter"/> <KeyWord name="Move-Folder"/> <KeyWord name="Move-Inventory"/> <KeyWord name="Move-ResourcePool"/> <KeyWord name="Move-Template"/> <KeyWord name="Move-VM"/> <KeyWord name="Move-VMHost"/> <KeyWord name="New-CDDrive"/> <KeyWord name="New-Cluster"/> <KeyWord name="New-CustomAttribute"/> <KeyWord name="New-CustomField"/> <KeyWord name="New-Datacenter"/> <KeyWord name="New-Datastore"/> <KeyWord name="New-DrsRule"/> <KeyWord name="New-FloppyDrive"/> <KeyWord name="New-Folder"/> <KeyWord name="New-HardDisk"/> <KeyWord name="New-IScsiHbaTarget"/> <KeyWord name="New-NetworkAdapter"/> <KeyWord name="New-OSCustomizationNicMapping"/> <KeyWord name="New-OSCustomizationSpec"/> <KeyWord name="New-PatchBaseline"/> <KeyWord name="New-ResourcePool"/> <KeyWord name="New-Snapshot"/> <KeyWord name="New-StatInterval"/> <KeyWord name="New-Template"/> <KeyWord name="New-VApp"/> <KeyWord name="New-VICredentialStoreItem"/> <KeyWord name="New-VIPermission"/> <KeyWord name="New-VIRole"/> <KeyWord name="New-VM"/> <KeyWord name="New-VMGuestRoute"/> <KeyWord name="New-VMHostAccount"/> <KeyWord name="New-VMHostNetworkAdapter"/> <KeyWord name="New-VMHostProfile"/> <KeyWord name="New-VirtualPortGroup"/> <KeyWord name="New-VirtualSwitch"/> <KeyWord name="Remediate-Inventory"/> <KeyWord name="Remove-Baseline"/> <KeyWord name="Remove-CDDrive"/> <KeyWord name="Remove-Cluster"/> <KeyWord name="Remove-CustomAttribute"/> <KeyWord name="Remove-CustomField"/> <KeyWord name="Remove-Datacenter"/> <KeyWord name="Remove-Datastore"/> <KeyWord name="Remove-DrsRule"/> <KeyWord name="Remove-FloppyDrive"/> <KeyWord name="Remove-Folder"/> <KeyWord name="Remove-HardDisk"/> <KeyWord name="Remove-IScsiHbaTarget"/> <KeyWord name="Remove-Inventory"/> <KeyWord name="Remove-NetworkAdapter"/> <KeyWord name="Remove-OSCustomizationNicMap..."/> <KeyWord name="Remove-OSCustomizationSpec"/> <KeyWord name="Remove-PassthroughDevice"/> <KeyWord name="Remove-ResourcePool"/> <KeyWord name="Remove-Snapshot"/> <KeyWord name="Remove-StatInterval"/> <KeyWord name="Remove-Template"/> <KeyWord name="Remove-UsbDevice"/> <KeyWord name="Remove-VApp"/> <KeyWord name="Remove-VICredentialStoreItem"/> <KeyWord name="Remove-VIPermission"/> <KeyWord name="Remove-VIRole"/> <KeyWord name="Remove-VM"/> <KeyWord name="Remove-VMGuestRoute"/> <KeyWord name="Remove-VMHost"/> <KeyWord name="Remove-VMHostAccount"/> <KeyWord name="Remove-VMHostNetworkAdapter"/> <KeyWord name="Remove-VMHostNtpServer"/> <KeyWord name="Remove-VMHostProfile"/> <KeyWord name="Remove-VirtualPortGroup"/> <KeyWord name="Remove-VirtualSwitch"/> <KeyWord name="Restart-VM"/> <KeyWord name="Restart-VMGuest"/> <KeyWord name="Restart-VMHost"/> <KeyWord name="Restart-VMHostService"/> <KeyWord name="Scan-Inventory"/> <KeyWord name="Set-Annotation"/> <KeyWord name="Set-CDDrive"/> <KeyWord name="Set-Cluster"/> <KeyWord name="Set-CustomAttribute"/> <KeyWord name="Set-CustomField"/> <KeyWord name="Set-Datacenter"/> <KeyWord name="Set-Datastore"/> <KeyWord name="Set-DrsRule"/> <KeyWord name="Set-FloppyDrive"/> <KeyWord name="Set-Folder"/> <KeyWord name="Set-HardDisk"/> <KeyWord name="Set-IScsiHbaTarget"/> <KeyWord name="Set-NetworkAdapter"/> <KeyWord name="Set-NicTeamingPolicy"/> <KeyWord name="Set-OSCustomizationNicMapping"/> <KeyWord name="Set-OSCustomizationSpec"/> <KeyWord name="Set-PatchBaseline"/> <KeyWord name="Set-PowerCLIConfiguration"/> <KeyWord name="Set-ResourcePool"/> <KeyWord name="Set-ScsiLun"/> <KeyWord name="Set-ScsiLunPath"/> <KeyWord name="Set-Snapshot"/> <KeyWord name="Set-StatInterval"/> <KeyWord name="Set-Template"/> <KeyWord name="Set-VApp"/> <KeyWord name="Set-VIPermission"/> <KeyWord name="Set-VIRole"/> <KeyWord name="Set-VM"/> <KeyWord name="Set-VMGuestNetworkInterface"/> <KeyWord name="Set-VMGuestRoute"/> <KeyWord name="Set-VMHost"/> <KeyWord name="Set-VMHostAccount"/> <KeyWord name="Set-VMHostAdvancedConfiguration"/> <KeyWord name="Set-VMHostDiagnosticPartition"/> <KeyWord name="Set-VMHostFirewallDefaultPolicy"/> <KeyWord name="Set-VMHostFirewallException"/> <KeyWord name="Set-VMHostFirmware"/> <KeyWord name="Set-VMHostHba"/> <KeyWord name="Set-VMHostModule"/> <KeyWord name="Set-VMHostNetwork"/> <KeyWord name="Set-VMHostNetworkAdapter"/> <KeyWord name="Set-VMHostProfile"/> <KeyWord name="Set-VMHostService"/> <KeyWord name="Set-VMHostSnmp"/> <KeyWord name="Set-VMHostStartPolicy"/> <KeyWord name="Set-VMHostStorage"/> <KeyWord name="Set-VMHostSysLogServer"/> <KeyWord name="Set-VMQuestion"/> <KeyWord name="Set-VMResourceConfiguration"/> <KeyWord name="Set-VMStartPolicy"/> <KeyWord name="Set-VirtualPortGroup"/> <KeyWord name="Set-VirtualSwitch"/> <KeyWord name="Shutdown-VMGuest"/> <KeyWord name="Stage-Patch"/> <KeyWord name="Start-VApp"/> <KeyWord name="Start-VM"/> <KeyWord name="Start-VMHost"/> <KeyWord name="Start-VMHostService"/> <KeyWord name="Stop-Task"/> <KeyWord name="Stop-VApp"/> <KeyWord name="Stop-VM"/> <KeyWord name="Stop-VMHost"/> <KeyWord name="Stop-VMHostService"/> <KeyWord name="Suspend-VM"/> <KeyWord name="Suspend-VMGuest"/> <KeyWord name="Suspend-VMHost"/> <KeyWord name="Test-VMHostProfileCompliance"/> <KeyWord name="Test-VMHostSnmp"/> <KeyWord name="Update-Tools"/> <KeyWord name="Wait-Task "/> </AutoComplete> </NotepadPlus>
PowerCLI: Configuring additional portgroups
I had to configure additional portgroups based on vlanids on a vSphere cluster. I couldn’t use host profiles to apply the configuration on all hosts.
$vCenter = Connect-VIServer -server(Read-Host "Please enter the name of your vCenter Server.")
$Cluster = Get-Cluster -Name (Read-Host "Please enter the name of the cluster whose servers need to be reconfigured.")
$vSwitch = Read-Host "Please enter the name of the vSwitch on which the portgroups need to be created."
$PGfile = import-csv -Path (Read-Host "Please enter the path to the csv file with the new portgroups to be added to the vSwitch")
$Cluster | Get-VMhost | `
Foreach{
$vSwitch = Get-VirtualSwitch -Name $vSwitch -Vmhost $_
$PGfile | `
Foreach {
$vpg = New-VirtualPortGroup -VirtualSwitch $vSwitch -Name $_.PortGroupName
Set-VirtualPortGroup -VirtualPortGroup $vpg -VLanId $_.Vlanid
}
}
Disconnect-VIserver -Server $vCenter -Confirm:$False
The script asks for
- vCenter IP or FQDN
- Cluster Name
- vSwitch name
- Path to the csv file
The csv file contains the portgroup names and vlanid’s.
PortGroupName,Vlanid VLAN900,900 VLAN901,901 VLAN902,902
VMworld 2010 Registration
VMware opened the registration for VMworld 2010.
More Labs – Self Paced
All Labs are self-paced so you have more freedom and options to choose from.
No Session Registration
No need to pre-register this year. You’ll have ample opportunity to attend the sessions of your choice as each one will be repeated at least twice.
Knowledge Experts
Collaborate with industry leading subject matter experts in sessions, discussions and one-on-one meetings.
New vSphere certifications names confirmed
Jon Hall confirmed the names of the new vSphere certifications which will be released somewhere in May.
- VMware Certified Advanced Professional – Enterprise Admin
- VMware Certified Advanced Professional – Design
In order to become VCAP you need to be VCP 4 and then take an additional exam. The Enterprise Admin 4 exam for VCAP – Enterprise Admin and the Design 4 exam for the VCAP – Design certification.
More detailed information can be found on Scott Vessey’s Blog.
TechDays BeLux 2010 Day 2
Second and last day of the conference.
There wasn’t any session that closely matched my core business. In the end I selected one solely based on the speaker:
Meet WAIK 2.0 and Volume Activation 2.0 (Rhonda Layfield)
I’m not very familiar with workstation deployment processes but Rhonda tried to change that. She covered most of the tools provided by MS in their Windows AIK (Automated Installation Kit):
- WinPE
- WPEUtil
- ImageX
- DISM: service images offline
- WSIM: deploying the image
- USMT
Breakout: NetApp
Too much background noise. Marketing.
Direct Access Part 1 (John Craddock)
Well, what can I say. I certainly didn’t expected a IPv6 “deep dive” (relatively speaking). IT was kind of fun nonetheless.
Moving to Exchange 2010 (Scott Schnoll)
Implementing Exchange 2010 will be the thing I’ll be putting in practice in the near future. So I chose this session over Direct Access part II. There wasn’t anything terribly new but certainly a nice review.
Introduction to OCS 14 (Francois Doremieux)
The interest in this session was a bit underestimated apparently as people had to sit on the stairs. The presenter expected a more developer oriented audience to apparently. There came no reaction at all when the speaker asked:
Who’s a developer? Please raise your hand.
There were some demo’s of the newest communicator but I guess there’s I can think of to remember.
Breakout: Social Networking with SharePoint (Mike Martin)
A “concullega” at my current assignment did a little presentation on a social networking solution they build on top op SharePoint. He had a hard time competing with the Public Address (PA) system in the exhibition hall.
Planning and Deploying VDI (Corey Hynes)
The key message Corey tried to pass was to check make sure your needs cannot be covered by ordinary Remote Desktop Services (RDS) rather than jumping to VDI.
The level of the presentation was just about right for me. We’re nearing the end of the conference after all.
A true geek moment when Cory showed off a youtube video he shot on Citrix Provisioning Server:
New voice capabilities and infrastructure in OCS 14(Francois Doremieux)
W14 was only announced last week @ voicecon? I had the impression the speakers was avoiding a number of subjects he could not discus yet. Important to remember:
- Survivable Branch Appliances
- PowerShell support
That’s it for this year







