Stisknutím tlačítka "Enter" přeskočíte na obsah

Hromadná aktualizace advanced parametrů pomocí PowerCLI

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 🙂