使用来自 csv 文件的 PowerCLI 强化 VM-HOST Set-AdvancedSetting

Hardening VM-HOST Set-AdvancedSetting with PowerCLI from csv file

我想自动配置第一个主机以使用 PowerCLI 创建主机配置文件。我在 ESXi 6.5 中构建了第一个主机,并从该主机做了​​第一个主机配置文件。但是为了创建第一个主机配置文件,我逐行编辑了主机配置文件,这花了很长时间。我们有 60 多个不同的集群,这意味着我必须为每个集群创建一个主机配置文件。

我使用 PowerCLI 从第一台主机导出了这一行

Get-AdvancedSetting -Entity $HOST65 | Export-Csv -Path T:\_Evergreening_\Script$clHOSTprofile-config.csv -NoTypeInformation

我在 csv 文件中得到了这个 (Header)

Uid Value   Description Type    Entity  Id  Name    Client

我想将 CSV 文件用于 Set-AdvancedSetting 使用名称和值列

Get-AdvancedSetting -Entity $HOST65 -Name 'from_csv_file' | Set-AdvancedSetting -Value 'from_csv_file'

我不知道如何设置...

结帐'Import-Csv'

你可以这样做:

# Obtain and export Advanced Settings from a specified host
Get-AdvancedSetting -Entity $HOST65 | Export-Csv -Path T:\_Evergreening_\Script$clHOSTprofile-config.csv -NoTypeInformation

# Import CSV file into a PowerShell array object
$csvInputs = Import-Csv -Path T:\_Evergreening_\Script$clHOSTprofile-config.csv

# Create a loop to address each item of the array, sourcedfrom the CSV 
foreach ($csvInput in $csvInputs) {

     # Obtain and set the individual advanced setting on a specified host
     Get-AdvancedSetting -Entity $HOST6502 -Name $csvInput.Name | Set-AdvancedSetting -Value $csvInput.Value

}