在Windows XP上 - 如何使用需要Windows身份验证的PowerShell后台作业
我试图在PoSh脚本的后台运行一些功能。工作从未完成,但在正常工作时工作正常。我已经缩小问题下到下面一行:在Windows XP上 - 如何使用需要Windows身份验证的PowerShell后台作业
该行正常工作:
$ws = New-WebServiceProxy "http://host/Service?wsdl" -UseDefaultCredential
,但此行的块永远
start-job { New-WebServiceProxy "same url" -UseDefaultCredential } `
| wait-job | Receive-Job
一些细节:该服务是本地的,并且需要Windows身份验证。客户端是XP &服务器2003.
为什么?我如何使它起作用?
得到这个工作。你在运行什么操作系统? XP或2003年可能是一个问题。
start-job {
$zip = New-WebServiceProxy "http://www.webservicex.net/uszip.asmx?WSDL" -UseDefaultCredential
} | Wait-Job | Receive-Job
$zip | get-member -type method
我没有任何ASMX Web服务测试这个打击,但如果你看看启动时的工作的帮助下,你会看到“-Authentication-和‘-Credential’。第一个指定Default,Basic,Credssp,Digest,Kerberos,Negotiate和NegotiateWithImplicitCredential。第二个可用于提供实际凭据来运行该作业。
希望有所帮助。
我找回开始作业:指定的身份验证机制“...”不受支持。此操作仅支持“默认”。而且似乎没有任何方法可以非交互地提供凭证 – 2010-04-21 17:07:08
可以使用ConvertFrom-SecureString的和的ConvertTo-SecureString的cmdlet的
一旦运行
$securestring = read-host -assecurestring
convertfrom-securestring $securestring | out-file c:\securestring
它将创建后上盘 受保护的文件,您可以使用
$pass = Get-Content c:\securestring | convertto-securestring
$cred = new-object -typename System.Management.Automation.PSCredential -argumentlist “domain\administrator”,$pass
和
start-job { New-WebServiceProxy "same url" -Credential $cred } | wait-job | Receive-Job
这很有帮助,但只有在密码不变的情况下才有效。 – 2010-04-22 22:17:42
该服务需要Windows身份验证 – 2010-04-21 01:39:35