PowerShell:调用Webrequest之后,调用新的Webserviceproxy遗址



到目前为止的故事:我正在编写'Create-New-user'Posh脚本,其中包括:

  1. Create WeberviceProxy 对象作为变量(因为Cisco UCM,我们使用使用的肥皂请求与IT进行交互)
  2. 在我们的Intranet网站上拉一个PHP脚本,将其与Active Directory同步后,最简单的方法是AFAIR Indoke-webrequest commandlet。

所以现在看起来像这样:

$ mycreds = get -credential -message"指定您的密码" -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 

我发现的是,在之前调用WebRequest >创建WeberviceCiceProxy对象成功,但是随时调用WebRequest 失败了以下错误:

Invoke-webrequest:基础连接已关闭:发送时发生了意外错误。

我对.net,课堂和这些东西没有经验,所以也许我的假设是错误的,但是现在我正在尝试(失败)找出是否期望这种行为?基本逻辑表明,创建变量不应影响调用简单请求,但仍然可以。因此,我很感激链接来解释如何解释fon-it-works。

还有一个,主要问题 - 是否有解决方案或至少解决方法?我的理论建议就像删除WebServiceProxy对象(不知道如何)或使用替代方法拉动PHP脚本。

一些其他信息:

  • PowerShell版本:4.0
  • WeberviceProxy部分由同事提供
  • 我们不能因脚本逻辑而更改命令的顺序,必须以此特定的顺序完成

对此的任何建议都非常感谢!

,但是用 Invoke-WebRequestNew-WebServiceProxy mucks可能仅在当前过程中。因此,解决方法是从当前过程中运行。

所以更改

Invoke-WebRequest -Uri "https://intranet.company.com/ad_sync.php" -Method Get

to

Start-Job -ScriptBlock { Invoke-WebRequest -Uri "https://intranet.company.com/ad_sync.php" -Method Get} | Receive-Job -Wait

这将在另一个过程中运行并等待结果。

最新更新