Моя проблема в том, что PowerShell хочет преобразовать "=" в целое число при попытке использовать его для создания новой строки.Я убедился, что моя результирующая переменная также будет строкой.Вот моя задача:
У меня есть маленькая таблица Excel, подобная этой:
___________|VLANID1|VLANID2|VLANID3|
SwitchName1| 1-7| 12-16| 8-11| ← Ports 1-7 of Switch1 are configure for VLAN1...
SwitchName2| 1-7| 12-16| 8-11|
Из этой таблицы я хочу сохранить каждый порт в файле .ini с VLAN, в которой он настроен., aka:
[SwitchName1]
1=VLANID1
2=VLANID3
...
А вот мой код, который я зацикливаю до тех пор, пока не останется ни одного порта, а затем больше не будет коммутаторов.
$split = $global:Ports -split("-") #$Ports is the Value with the saved excel cell (7-11)
$split[0]..$split[1] | ForEach-Object {
$vlan = $global:Switches.Cells.Item(1, $global:SSpallte).Text
[string]$inistring = "`n" + $_ + "=" + $vlan #<- Here it tries to convert "=" into integer
Add-Content -Path $global:portsini -Value $inistring
}
Я даже пытался преобразовать каждую переменную, которую я использую всделать $inistring
до строки, она все еще не работает.Кроме того, $_
и $vlan
имеют значение и не являются $null
.
В сообщении об ошибке указано, что «=» нельзя преобразовать в тип «System.Int32».