Использование iControl в PowerShell для создания нескольких узлов на F5 LTM
Я пишу сценарий PowerShell для автоматизации некоторых настроек наших F5 LTM. Одна из задач, которую я хотел бы выполнить, - создать узлы в F5. Я надеюсь, что смогу выполнить подачу сразу в нескольких узлах, но пока мне не везет. Это мой код:
#Connect to the F5 via iControl
Initialize-F5.iControl -HostName $ip -Credentials (Get-Credential)
$iControl = Get-F5.iControl
function Create-Node()
{
param([string]$nameOfNode,
[string]$nodeIPAddresses,
[string]$connectionLimits);
$nodes = (, $nameofnode);
$addresses = (, $nodeIPAddresses);
$limits = (, $connectionLimits);
$iControl.LocalLBNodeAddressV2.create(
$nodes,
$addresses,
$limits);
}
#Create nodes
$csvPath = "C:\Users\User\Dropbox (Executive)\Documents\Servers.csv"
Import-CSV $csvPath -header ("Server","IPaddress") | foreach {Create-Node -
nameOfNode "$_.Server" -nodeIPAddresses "$_.IPaddress" -connectionLimits
"0"}
В файле CSV у меня есть два столбца с заголовками сервера и IP-адреса. Когда я запускаю скрипт, я получаю следующую ошибку:
Exception calling "create" with "3" argument(s): "Exception caught in
LocalLB::urn:iControl:LocalLB/NodeAddressV2::create()
Common::InvalidArgument " At C:\Users\User\Dropbox
(Executive)\Desktop\F5_Config_DEV.ps1:142 char:1 +
$iControl.LocalLBNodeAddressV2.create( +
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (:)
[], MethodInvocationException + FullyQualifiedErrorId : SoapHeaderException
Если я просто вызываю функцию, не пытаясь передать что-либо из моего CSV-файла, вот так:
{Create-Node -nameOfNode "My Node" -nodeIPAddresses "111.111.111.111" -
connectionLimits "0"}
Работает нормально. Кажется, он только начинает выдавать ошибки при попытке ввода переменных из моего CSV-файла.
Любая помощь будет оценена, спасибо.