Archive

Author Archive

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”

100818 - Screenshot- EVC-Cluster Settings - 001_ver001

I create a group called FailoverSiteVMs which contains the test & dev servers.

100818 - Screenshot- Edit DRS Group - 001

A second group is called ProductionSiteVMs which contains the production virtual machines.

image

Now we need to create 2 “Hosts DRS Groups. One for the FailoverSite.

image

And another one for the Production site.

100818 - Screenshot- Edit DRS Group - 004

An overview of the configured groups

image

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.

100818 - Screenshot- Rule - 001

Once the rules are configured the rules dialog looks like this.

image

VMware updates released

VMware just released vSphere 4.1, Site Recovery Manager 4.1 and VMware vCenter Server Heartbeat 6.3.

What’s new in vSphere 4.1.

The downloads can be found at:

vCenter 4.1

ESX 4.1Release Notes

ESXi 4.1Release Notes

Site Recovery Manager 4.1Release Notes

vSphere PowerCLI 4.1

vSphere CLI 4.1

vSphere Management Assistant (vMA) 4.1

VMware vCenter Server Heartbeat 6.3Release Notes

Both vCenter 4.1 and SRM 4.1 are now only installable on 64-bit host platforms.

Categories: Virtualization Tags:

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.

image

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.

Categories: Event, Virtualization Tags:

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.

Virtual Center Perf Chart service encountered an internal error

On a Virtual Center 4 update 1 installation I noticed an Perf Charts service error on the performance overview tab. The advanced performance tab is functioning as normal.


There are 3 VMware KBs related to this type of error:

Unfortunately none of these solved my problem.

In virtual center U1 the configuration of the performance charts database has changed location. It’s now located in C:\Program Files\VMware\Infrastructure\tomcat\conf\Catalina\localhost\statsreport.xml.

VMware updated the KB article (KB1013877) in the mean time to reflect the changes in Update 1.

Adding permissions on printers using powershell

I needed to add a group of users to the ACL of all our printers. As we currently have about 100 printers; I looked if I could use powershell for this.
Currently on Windows server 2008 there are no built in cmdlets to administrate printers. But I did find a useful powershell script with everything I needed.

I ended up with only executing one line of code to add the group to all the printers.

Get-printer printserver | add-printerpermission -user “domain\groupname” -AceType Allow -accessmask ManagePrinters

The script can be found here, I’m posting the google translation link as my Russian isn’t that good;-)

Categories: PowerShell, Scripting

AD Recycle Bin

I just came across a post by Jonathan Medd over at simple-talk.com about the new Active Directory recycle bin in Windows Server 2008 R2.

It’s definitely worth the read.

Terminal server 2008: Access denied error and eventlog not starting

On our teminal server 2008 farm we had some serious problems the last couple of days. Whenever users tried to login they got a “Access Denied” error. Only administrator accounts were able to log in. Additionally the eventlog, the McAfee services and some other services weren’t started automatically.
It was even not possible to start the eventlog manually.

We saw this issue on all our Terminal servers once they were joined to the domain. We finally nailed down the cause of these problems to be an group policy who configures the language settings.

Apparently this GPO changed also the language settings for the local system account. Which caused these services not to start anymore.

Pieter Wigleven posted already about a similar problem he had with Hyper-V and how he fixed it.

Update: Microsoft released a hotfix for this problem: KB951430.

Categories: Uncategorized