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

时间:2018-04-04 20:25:07

标签: powershell csv vmware powercli

我想自动配置第一个HOST以使用PowerCLI创建主机配置文件。我在ESXi 6.5中构建了第一个HOST,并从该HOST执行了第一个主机配置文件。但是为了创建第一个主机配置文件,我逐行编辑了一个编辑主机配置文件,这需要很长时间。我们有超过60个diffrents集群,这意味着我将不得不为每个集群创建一个主机配置文件。

我使用PowerCLI从第一个Host导出了这行

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,使用Name和Value列

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

我不确定如何设置此...

1 个答案:

答案 0 :(得分:0)

结帐'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

}