Aktualisierung der VMware Tools
VMware by Broadcom stellt in regelmäßigen Abständen aktualisierte Versionen der VMware Tools bereit. Diese Updates enthalten in der Regel sicherheitsrelevante Korrekturen (z. B. im Rahmen eines VMSA-Sicherheitsbulletins) sowie Fehlerbehebungen zur Verbesserung der Stabilität. Ein aktueller Versionsstand der VMware Tools ist eine der zentralen Voraussetzungen für einen sicheren und stabilen Betrieb der virtuellen Maschinen.
Eine Übersicht der aktuell verfügbaren VMware Tools-Versionen ist hier verfügbar.
Manuelle Installation über das Hosting Portal
Über unser Hosting-Portal besteht die Möglichkeit, die VMware Tools manuell zu aktualisieren, indem der entsprechende Installer mit der virtuellen Maschine verbunden wird. Die Verbindung des Installationsmediums kann über das Aktionsmenü der jeweiligen VM initiiert werden.
VM
-> Action Menü (drei Punkte)
-> VMware Tools installieren
-> Mount
Nach erfolgreicher Verbindung des Installers mit der virtuellen Maschine kann der Updateprozess über das eingebundene CD/DVD-Laufwerk im Dateisystem (z. B. im Windows-Explorer) manuell gestartet werden. Wenn die bestehende Installationskonfiguration beibehalten werden soll, ist im Installationsassistenten die Option „Benutzerdefinierte Installation“ auszuwählen, da nur so das Update ohne Änderungen an den bisherigen Einstellungen möglich ist.
Automatische Aktualisierung mittels des GuestStores
Seit der VMware Tools Version 11.2.5 besteht die Möglichkeit, Gastbetriebsystem gesteuert, die VMware Tools unter Windows beim Reboot automatisiert zu aktualisieren.
Voraussetzung hierfür ist die Aktivierung des entsprechenden Features über die Konfigurationsdatei "tools.conf", die sich standardmäßig unter dem folgenden Pfad befindet:
C:\ProgramData\VMware\VMware Tools\tools.conf
Sollte die Konfigurationsdatei nicht vorhanden sein, kann diese durch das kopieren der Datei "tools.conf.example", im gleichen Pfad, erstellt werden.
- Öffne die Datei "tools.conf" als Administrator mit einem geeigneten Texteditor (z.B. Editor oder Notepad++)
- Suche in der Datei nach der Sektion [gueststoreupgrade]
- Innerhalb der Sektion befindet sich die Option "policy="
- Entferne ggf. das Kommentarzeichen (#) am Zeilenanfang und setze den Wert wie folgt: "policy=powercycle"
# The guestStoreUpgrade plugin is only available for Windows.
# The policy value is one of the settings listed below.
# off = no VMware Tools upgrade from GuestStore. Feature is
# deactivated.
# manual = (Default) VMware Tools upgrade from GuestStore is
# manually started.
# powercycle = VMware Tools upgrade from GuestStore on system
# power on.
policy=powercycle
Nach dem Speichern der Datei werden die Änderungen sofort wirksam. Die Aktualisierung der VMware Tools erfolgt beim nächsten Neustart des Gastbetriebssystems automatisch, sofern ein neues Installationspaket verfügbar ist.
Hinweis: In Einzelfällen kann die Aktualisierung erst nach einem zweiten Reboot durchgeführt werden, da bestimmte Installationsvoraussetzungen zunächst einen eigenen Neustart erfordern.
Anpassung der "tools.conf" per PowerShell
Das folgende PowerShell-Skript zeigt beispielhaft, wie die "tools.conf" automatisiert bearbeitet werden kann. Für die Ausführung sind administrative Berechtigungen erforderlich.
function Get-ConfigFileLine {
param(
[string]$configFilePath = "C:\ProgramData\VMware\VMware Tools\tools.conf",
[switch]$returnConfigValue
)
$guestStoreUpdatePattern = '^(#?policy=(off|manual|powercycle))'
$inSection = $false
Get-Content $configFilePath | ForEach-Object -Begin { $i = 1 } -Process {
if ($_ -match '^\[gueststoreupgrade\]') { $inSection = $true; return }
if ($inSection -and $_ -match '^\[.*\]') { $inSection = $false; return }
if ($inSection -and $_ -match $guestStoreUpdatePattern) {
if ($returnConfigValue) {
return $Matches[1]
}
else {
return $i
}
}
$i++
}
}
#Relevant content of file "\[gueststoreupgrade\](?:.*\n)*(?<gueststoreUpgradePolicy>#?policy=(?:off|manual|powercycle))"
$vmwareToolsConfPath = "C:\ProgramData\VMware\VMware Tools\tools.conf"
$vmwareToolsConfTemplatePath = "C:\ProgramData\VMware\VMware Tools\tools.conf.example"
if (Test-Path -Path $vmwareToolsConfPath -PathType Leaf) {
$configLine = Get-ConfigFileLine -configFilePath $vmwareToolsConfPath
$currentConfigString = Get-ConfigFileLine -returnConfigValue
if ($ConfigLine) {
$vmwareToolsConf = Get-Content $vmwareToolsConfPath
$vmwareToolsConf[$ConfigLine] = $vmwareToolsConf[$ConfigLine] -replace $currentConfigString, "policy=powercycle"
Set-Content $vmwareToolsConfPath $vmwareToolsConf
}
else {
Write-Host "Configuration option not found!"
}
}
else {
if (Test-Path -Path $vmwareToolsConfTemplatePath -PathType Leaf) {
Copy-Item -Path $vmwareToolsConfTemplatePath -Destination $vmwareToolsConfPath
if (Test-Path -Path $vmwareToolsConfPath -PathType Leaf) {
$configLine = Get-ConfigFileLine
$currentConfigString = Get-ConfigFileLine -returnConfigValue
if ($ConfigLine) {
$vmwareToolsConf = Get-Content $vmwareToolsConfPath
$vmwareToolsConf[$ConfigLine] = $vmwareToolsConf[$ConfigLine] -replace $currentConfigString, "policy=powercycle"
Set-Content $vmwareToolsConfPath $vmwareToolsConf
}
else {
Write-Host "Configuration option not found!"
}
}
else {
Write-Host "Configuration copy failed! Check source file and permissions"
}
}
}