Yes, as you requested, this is for all ESXi nodes in your vCenter.
If you want to read a set of names from a CSV for example, you do something like this.
The CSV contains a column with the name EsxiName.
$names = Import-Csv -Path .\esxinames.csv -UseCulture |
Select-Object -ExpandProperty EsxiName
Get-VMHost -Name $names |
Get-AdvancedSetting -Name "Uservars.ESXiShelltimeout" |
Set-AdvancedSetting -Value "900" -Confirm:$false