#powershell #f5 #irule #icontrol
#powershell #f5 #правило #icontrol
Вопрос:
Есть ли способ обновить содержимое существующего iFile? Я не видел никакого способа обновить содержимое. Итак, я начал изучать удаление и создание файла, загрузив локальный файл в BigIP с помощью IControl. Я понимаю, что нужно использовать два объекта — iFileFile, а затем iFile в таком порядке.
Может кто-нибудь, пожалуйста, предоставить использование для этого? Ниже приведено то, с чего я начал, и получаю сообщение об ошибке ниже. Какими будут правильные параметры для iFileFile.create(), если у меня есть файл с именем random_key_file1 в том же месте, что и сценарий powershell? После создания объекта iFileFile, как мне использовать его в iFile.create().
Приведенные ниже ссылки содержат документацию, но не содержат примеров использования: https://devcentral.f5.com/wiki/iControl .LocalLB__iFile__create.ashx https://devcentral.f5.com/wiki/iControl .LocalLB__iFileFile__create.ashx
Спасибо за помощь.
Add-PSSnapIn iControlSnapIn
$conn = Initialize-F5.iControl -HostName $hostName -Username $username -Password $password
if($conn) {
Try
{
Write-Output "Connected to load balancer - $hostName"
$ic = Get-F5.iControl
$iFileFileObjectNames = @("file1")
$filePaths = @("random_key_file1")
$ic.LocalLBiFileFile.create($iFileFileObjectNames,$filePaths)
Write-Output ("file created")
}
Catch
{
Write-Output($error[0]|format-list -force)
}
}
else
{
Write-Error "Connection to loadbalancer failed"
}
ОШИБКА
Exception : System.Management.Automation.MethodInvocationException: Exception calling "create" with "2"
argument(s): "Exception caught in LocalLB::urn:iControl:LocalLB/iFileFile::create()
Common::InvalidArgument
" ---> System.Web.Services.Protocols.SoapHeaderException: Exception caught in
LocalLB::urn:iControl:LocalLB/iFileFile::create()
Common::InvalidArgument
at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage
message, WebResponse response, Stream responseStream, Boolean asyncCall)
at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[]
parameters)
at CallSite.Target(Closure , CallSite , Object , Object , Object )
--- End of inner exception stack trace ---
at System.Management.Automation.ExceptionHandlingOps.CheckActionPreference(FunctionContext
funcContext, Exception exception)
at System.Management.Automation.Interpreter.ActionCallInstruction`2.Run(InterpretedFrame
frame)
at
System.Management.Automation.Interpreter.EnterTryCatchFinallyInstruction.Run(InterpretedFrame
frame)
at
System.Management.Automation.Interpreter.EnterTryCatchFinallyInstruction.Run(InterpretedFrame
frame)
TargetObject :
CategoryInfo : NotSpecified: (:) [], MethodInvocationException
FullyQualifiedErrorId : SoapHeaderException
ErrorDetails :
InvocationInfo : System.Management.Automation.InvocationInfo
ScriptStackTrace : at <ScriptBlock>, D:test.ps1: line 35
at <ScriptBlock>, <No file>: line 1
PipelineIterationInfo : {}
PSMessageDetails :
Answer this Question 0
Комментарии:
1. Ваша проблема связана с методом Create(). Если вы подключитесь
$ic.LocalLBiFileFile
кGet-Member
нему, вы сможете увидеть, какие аргументы принимает метод Create().2. @BenH URL-адрес devcentral.f5.com/wiki/iControl . LocalLB__iFileFile__create.ashx , указанный в моем вопросе, имеет параметры в виде двух массивов. Я не уверен, какими должны быть правильные значения для передачи. files Строка [] Имена объектов файла iFile для создания. paths Строка [] Пути к файлам для загрузки в систему.
3. Можете ли вы предоставить выходные данные для этого?
($ic.LocalLBiFileFile | Get-Member | ? {$_.name -eq "Create"}).definition
4. аннулировать создание (строка[] файлов, строка[] путей) Это также есть в ссылке, которую я привел выше, а также в комментариях.
5. Попробуйте удалить @() вокруг каждой переменной:
$iFileFileObjectNames = "file1"
и$filePaths = "random_key_file1"