2016-12-01 8 views
0

Я пытаюсь скомпилировать сценарий PowerCLI, чтобы помочь автоматизировать создание виртуальных машин из данных файла CSV. В настоящее время сценарий я бегу, выглядит так:Настройка VLAN из файла CSV в PowerCLI Script

# 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 

} 

Я сталкивался несколько примеров онлайн дело с установкой VLAN через PowerCLI, но ни один из них не кажется, относятся непосредственно к моему примеру с помощью файла CSV для определения VLAN.

Один пример, который я пытался использовать с моим сценарием был:

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

Однако я получаю ошибки, связанные с -Name аргументом в этой строке.

+0

Какие ошибки вы получаете? Дополнительная информация редко вредна и меньше затрудняет вам помощь. – Matt

+0

@Matt Ошибка, которую я получаю, читает «Невозможно проверить аргумент в параметре« Имя ». Предоставить аргумент, который не является нулевым или пустым». – NeedToKnowBasis22

+0

ну, очевидный вопрос, почему это нуль? – 4c74356b41

ответ

0

В контексте сценария, я считаю, что ошибка вызывает, потому что одно из значений столбцов кажется пустым (в вашем случае его имя). Я вижу, что вы получаете все значения в цикле foreach. Я бы рекомендовал вам создать образец csv, вставить только 2 набора данных и посмотреть, работает ли он. Таким образом, вы можете сузить проблему.

Надеюсь, что это поможет ... !!!