 |
Add-VMHostVersion |
-
-
-
-
-
-
-
-
- $VCServerName = "MYVCSERVER"
- $CustomFieldName = "Version"
- $ManagedObjectType = "HostSystem"
-
-
- $VC = Connect-VIServer $VCServerName
- $SI = Get-View ServiceInstance
- $CFM = Get-View $SI.Content.CustomFieldsManager
-
- $myCustomField = $CFM.Field | Where {$_.Name -eq $CustomFieldName}
- If (!$myCustomField)
- {
-
- $FieldCopy = $CFM.Field[0]
- $CFM.AddCustomFieldDef($CustomFieldName,$ManagedObjectType,$FieldCopy.FieldDefPrivileges,$FieldCopy.FieldInstancePrivileges)
- }
-
-
- $VMHosts = Get-VMHost
- $VMHostViews = $VMHosts | Get-View
- ForEach ($VMHostView in $VMHostViews)
- {
- $Version = $VMHostView.Config.Product.FullName
-
- If ($Version -ne ($VMView.CustomValue | ?{$_.Key -eq $myCustomField.Key}).Value)
- {
-
- $VMHostView.setCustomValue($CustomFieldName,$Version)
- }
- }
- Disconnect-VIServer -Confirm:$False