Už se Vám někdy stalo, že jste potřebovali aktualizovat stejné advanced parametry na větším množství hostů?
Přes klikačku je to schůdné, ale kdo by to chtěl dělat dejme tomu na 8 hostech nebo více, tak nad tím stráví polovinu času běžné pracovní doby. Současně s tím je tam větší a větší pravděpodobnost, že se vám v tom množství někde vloudí chybka.
Teď jsem si v labu chtěl nakonfigurovat cca 6 ESX hostů, ale jsem prostě od přírody líný, a tak jsem trochu hledal, jak to nastavit. Jak jinak, než přes PowerCLI 🙂
Výsledek se dostavil překvapivě rychle
Starší Commandlet byl Get-VMHostAdvancedConfiguration
Ještě že ten Powershell umí na tabelátor doplňovat, takže stačí dát Get-VMhost a parkrát Tab a ono to tam naběhne. Ideální, když hledáte a nevíte, jak se Commandlet přesně jmenuje.
Ten ale mimo jiné vyhodí hlášku, že je obsolete, a navede Vás, že máte použít jiný.
Get-VMhost | Get-VMHostAdvancedConfiguration WARNING: The command 'Get-VMHostAdvancedConfiguration' is obsolete. Use Get-AdvancedSetting cmdlet instead.
Takže úprava
Get-VMhost | Get-AdvancedSetting
A když existuje GET, tak většinou existuje i SET.
Výsledek je pak příkaz na jeden řádek.
Get-VMhost | Get-AdvancedSetting -Name Syslog.global.logDirUnique | Set-AdvancedSetting -Value True Perform operation? Modifying advanced setting 'Syslog.global.logDirUnique'. [Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is "Y"): L
Komu by se chtělo všechno potvrzovat … tak poslední úprava, tu ale doporučuji jen v případě, že si už jste jisti, co děláte, protože už se mi několikrát i vymstila 🙂
Get-VMhost | Get-AdvancedSetting -Name Syslog.global.logDirUnique | Set-AdvancedSetting -Value True -Confirm:$false Get-VMhost | Get-AdvancedSetting -Name Syslog.global.logDir | Set-AdvancedSetting -Value "[QS-DS] GlobalLogs" -Confirm:$false
Voila 🙂