Citrix が提供する PowerShell モジュールを使用して、Nitro REST API を呼び出しています。関数を呼び出すと、負荷分散されたサービスを負荷から正常に追加および削除できます。ただし、サービスのステータスを取得するために GET メソッドを実行しようとすると、次のエラーが発生します。
Invoke-RestMethod : 基になる接続が閉じられました: 送信時に予期しないエラーが発生しました。
モジュールを使用せずに 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 を実行するために機能するので、なぜ GET を実行しないのかわかりません!!
もう 1 つの奇妙な点は、URL をブラウザに直接入力して資格情報を入力すると、生のテキストで応答が返されることです。これは、NetScaler や NITRO API ではなく、PowerShell で呼び出す方法に問題があるようです!
これは私を夢中にさせているので、誰か助けてください!!