1

これまでの話: 私は「create-new-user」PoSh スクリプトを書いています。

  1. 変数としてWebServiceProxyオブジェクトを作成します(使用する Cisco UCM は、SOAP 要求を利用して対話するため)
  2. ユーザーが作成されたら、イントラネット Web サイトで PHP スクリプトをプルして Active Directory と同期します。最も簡単な方法は、AFAIR Invoke-WebRequestコマンドレットです。

したがって、次のようになります。

$MyCreds = Get-Credential -Message "Specify your password" -Username $($env:username)
$AXL = New-WebServiceProxy -Uri $("\\server\smbshare\AXLAPI.wsdl") -Credential $MyCreds
...
Invoke-WebRequest -Uri "https://intranet.company.com/ad_sync.php" -Method Get

私が見つけたのは、WebServiceProxy オブジェクトを作成する前にWebRequest を呼び出すことは成功しますが、その後いつでも WebRequest を呼び出すと、次のエラーで失敗するということです。

Invoke-WebRequest: 基になる接続が閉じられました: 送信時に予期しないエラーが発生しました。

私は.NET、クラスなどの経験がないので、おそらく私の仮定が間違っているかもしれませんが、今のところ、この動作が予想されるかどうかを調べようとしています (そして失敗しています)。基本的なロジックは、変数の作成が単純なリクエストの呼び出しに影響を与えるべきではないことを示唆していますが、それでも影響します。そのため、仕組みを説明するリンクを読んでいただければ幸いです。

もう 1 つ、主な質問 - 解決策または少なくとも回避策はありますか? 私の理論的な提案は、WebServiceProxy オブジェクトを邪魔にならないように削除する (方法がわからない) か、PHP スクリプトをプルする別の方法を使用するようなものです。

いくつかの追加情報:

  • Powershell バージョン: 4.0
  • WebServiceProxy の部分は同僚から提供されているので、あまり詳しくありません。すべてを 1 つのスクリプトで構成する必要があります。
  • スクリプト ロジックのためにコマンドの順序を変更することはできません。この特定の順序で実行する必要があります。

これに関するアドバイスは大歓迎です、ありがとう!

4

1 に答える 1