我目前正在处理脚本,这些脚本将用于使用模板和CSV自动创建VMWare上的VM过程。
更改VM的网络参数后,我想将我的CSV与VM的网络配置进行比较,以确认它是否匹配。
与IP进行比较但不与网关进行比较。
我没有设法让它发挥作用。你能帮帮我吗?
脚本的一部分:
$vm= import-csv C:\temp\create_vm.csv -Delimiter ';'
foreach($vms in $vm){
$ipmodif = "New-NetIPAddress -InterfaceIndex 12 -ipaddress $($vms.ip) -PrefixLength 24 -DefaultGateway $($vms.gateway)"
[void](Invoke-VMScript -VM $vms.machine -ScriptType Powershell -ScriptText $ipmodif -GuestUser Administrator -GuestPassword password)
Write-host "INSTALLATION DE $($vms.machine)..." -ForegroundColor Yellow
$ipget= Get-VM -name $vms.machine | Select @{N="IP";E={@($_.guest.IPAddress[0])}}
$gateway = Get-WmiObject -Class Win32_NetworkAdapterConfiguration | select-object DefaultIPGateway
$gatewayget = Invoke-VMScript -VM $vms.machine -ScriptType Powershell -ScriptText "$($gateway)" -GuestUser Administrator -GuestPassword Password
if ($vms.ip -eq $ipget.ip){Write-host "Adresse IP ($($vms.ip)) : " -NoNewline
Write-host "OK" -foreground green}
else {Write-host "Adresse IP ($($vms.ip)) : " -NoNewline
Write-host "NOK" -foreground red}
if ($vms.gateway -eq $gatewayget.scriptoutput){Write-host "Gateway ($($vms.gateway)): " -NoNewline
write-host "OK" -foreground green}
else {Write-host "Gateway ($($vms.gateway)): " -NoNewline
Write-host "NOK" -foreground red}}
我知道问题与变量$ gatewayget有关,但我无法找到它。
感谢您的帮助!