2015-05-13 6 views
0

Я использую модуль PowerShell, предоставляемый Citrix, для вызова API Nitro REST. Вызывая функцию, я могу успешно добавлять и удалять службы балансировки нагрузки из нагрузки. Однако, когда я пытаюсь сделать метод GET, чтобы получить статус службы я получаю ошибку:Powershell и API NITRO для Citrix NetScaler ошибка метода GET

Invoke-RestMethod : The underlying connection was closed: An unexpected error occurred on a send.

Я попытался запустить Invoke-RestMethod без использования модуля, но получить ту же ошибку

Invoke-RestMethod -WebSession $myNSSession.WebSession -Method GET -Uri https://<NetScaler IP/nitro/v1/config/service/<Service Name> 

В случае ошибки в этой ошибке все, кажется, указывает на проблемы с сертификатами. Я это изначально даже метод POST, пока я не добавил ниже моего сценария

[System.Net.ServicePointManager]::ServerCertificateValidationCallback = {$true} 

Так, так как это работает для выполнения POST я не могу понять, почему это не будет для ГЭТ !!

еще одна странная вещь, если я поместил URL-адрес непосредственно в браузер, а затем введите свои учетные данные, я получаю ответ в необработанном тексте! поэтому похоже, что это проблема с тем, как я называю это в PowerShell, а не в NetScaler или NITRO API!

Кто-то, пожалуйста, помогите, так как это сводит меня с ума !!

+0

У меня была та же проблема, это сработало для меня http://stackoverflow.com/questions/11696944/powershell-v3-invoke-webrequest-https-error?rq=1 – mattnicola

ответ

0

Admitedly Я новичок в Invoke-RestMethod команды, но попробуйте это:

$creds = Get-Credential 

$service = Invoke-RestMethod -Uri https://<NetScaler IP/nitro/v1/config/service/<Service Name> -Credential $creds 

Что вы получите что-то похожее на это:

*errorcode* *message*  *serverity*   *service* 
*  0 Done   NONE     {@{name=<service name; n.. 

введите $ service.service и вам увидит больше информации. все доступные атрибуты будут перечислены. затем просто следуйте схеме: $ service.service.

+0

Это не дает ответа на вопрос , Чтобы критиковать или просить разъяснения от автора, оставьте комментарий ниже своего сообщения - вы всегда можете прокомментировать свои собственные сообщения, и как только у вас будет достаточно репутации, вы сможете прокомментировать любую запись. – Kmeixner

+0

@Kmeixner Я не думаю, что с 1 rep аккаунт может комментировать сообщения, которые они не автор. – mortenya