0

目前,我使用 Ruby 作为配置管理支持的核心编程语言。由于 Ruby (1.9.3) 的新版本,我无法使用 gem 配置来使用使用 NTLM 身份验证的 Web 服务。这是我使用 ruby​​ 1.9.1 的 gem 配置。

httpclient (2.2.3)
nokogiri (1.5.0 x86-mingw32)
ocra (1.3.0)
rake (0.9.2.2)
rubysspi (1.3.1)
soap4r (1.5.8)
test-unit (2.4.0)
trollop (1.16.2)
win32-api (1.4.8 x86-mingw32)
win32-eventlog (0.5.2.fix)
windows-api (0.4.0)
windows-pr (1.2.1)

我总是尽量保持简单,但我肯定跟不上更新。我在想,而不是使用完整的 ruby​​ 实现来支持配置管理,可能是时候使用 microsoft(我根本不喜欢)脚本引擎(powershell)来运行特定的 microsoft 任务,而无需创建对越来越多 gem 的依赖项并制作它很难维护和更新。最初,我想为某些任务创建 ac# 控制台工具,但我发现了关于 powershell。我尝试使用soap4r,但不适用于1.9.3,但它适用于1.9.1(自定义固定gem)。我尝试了 savon gem,但 NTLM 身份验证没有成功结果。也许是时候使用两个脚本引擎的组合来保持它的可维护性了。有什么想法吗。

4

1 回答 1

1

只有你了解你的大局,但在 PowerShell 中,如果你想调用一个使用 NTLM 保护的 Web 服务,它很简单:

# call webservice using the current user's credentials
$proxy = new-webserviceproxy $url -usedefaultcredential
$result = $proxy.method($param1, $param2)

如果要提示输入凭据,请使用get-credential

于 2011-11-08T12:48:47.797 回答