簡體   English   中英

在PowerCLI腳本中從CSV文件設置VLAN

[英]Setting VLAN from CSV File in PowerCLI Script

我正在嘗試編譯PowerCLI腳本,以幫助自動從CSV文件的數據創建VM。 目前,我正在運行的腳本如下所示:

# Specify vCenter Server, vCenter Server username and vCenter Server user password
 write-host “Please specify vCenter Server and enter credentials” -foreground green
 $vc = read-Host "Connect to which vCenter Server?"
 write-host “Connecting to vCenter Server $vc” -foreground green

 $CSVPath = "$ScriptRoot\PROD_VMRequestTEST.xlsx.csv"    

 Connect-VIServer -Server $vc

 $CSVFile = Import-Csv -Path $CSVPath

 Import-Csv -Path $CSVPath

# Specify vCenter Server Virtual Machine & Templates folder
 $Folder = “Discovered virtual machine”

#
# Specify the vSphere Cluster

$Cluster = 'vSphere 5.5 RND'

$esx = Get-Cluster $Cluster | Get-VMHost -State connected

Import-Csv -Path $CSVPath | %{

  Write-Host “Creation of VM $_.Name initiated”  -ForegroundColor green

  New-VM -Name $_.Name -VMHost ($esx | Get-Random) -Location $Folder

  Write-Host “Power On of the  VM $_.name initiated”  -ForegroundColor green

  Start-VM -VM $_.Name -confirm:$false -RunAsync

}

我在網上遇到了一些通過PowerCLI設置VLAN的示例,但是它們似乎都與我使用CSV文件確定VLAN的示例沒有直接關系。

我嘗試與腳本一起使用的一個示例是:

$VMhost = Get-vmhost $_.VMHost  
$PortGroup = Get-VirtualPortgroup -name $_.VLAN -VMhost $VMhost

但是,在該行中出現了與-Name參數有關的錯誤。

在腳本上下文中,我相信是由於該列值之一似乎為空(在您的情況下為Name )所導致的錯誤。 我可以看到您正在foreach循環中獲取所有值。 我建議您創建一個示例csv,僅插入2組數據並查看其是否有效。 這樣至少可以縮小問題范圍。

希望這可以幫助...!!!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM