在Windows XP上-如何使用需要Windows身份验证的PowerShell后台作业

在Windows XP上-如何使用需要Windows身份验证的PowerShell后台作业,powershell,powershell-remoting,Powershell,Powershell Remoting,我试图在一个高级脚本的背景下运行一些函数。作业从未完成,但在调用“正常”时工作正常。我已将问题缩小到以下几行: 这条线很好用: $ws = New-WebServiceProxy "http://host/Service?wsdl" -UseDefaultCredential 但这条线会永远阻塞 start-job { New-WebServiceProxy "same url" -UseDefaultCredential } ` | wait-job | Receive-Job 一些详

我试图在一个高级脚本的背景下运行一些函数。作业从未完成,但在调用“正常”时工作正常。我已将问题缩小到以下几行:

这条线很好用:

$ws = New-WebServiceProxy  "http://host/Service?wsdl" -UseDefaultCredential
但这条线会永远阻塞

start-job { New-WebServiceProxy "same url" -UseDefaultCredential } `
 | wait-job | Receive-Job
一些详细信息:该服务是本地的,需要windows身份验证。客户端是XP&server2003


为什么??我如何让它工作?

让它工作。你在运行什么操作系统?XP或2003可能是个问题

start-job { 
        $zip = New-WebServiceProxy "http://www.webservicex.net/uszip.asmx?WSDL"  -UseDefaultCredential 
} | Wait-Job | Receive-Job

$zip | get-member -type method

让它工作。你在运行什么操作系统?XP或2003可能是个问题

start-job { 
        $zip = New-WebServiceProxy "http://www.webservicex.net/uszip.asmx?WSDL"  -UseDefaultCredential 
} | Wait-Job | Receive-Job

$zip | get-member -type method

我没有任何ASMXWeb服务来测试这一点,但如果您查看Start Job的帮助,您将看到“-Authentication-和“-Credential”。第一个指定默认、基本、Credssp、摘要、Kerberos、协商和NegotiateWithImplicitCredential。第二个可用于提供运行作业的实际凭据


希望这有帮助。

我没有任何ASMX web服务来测试这一点,但如果您查看Start Job的帮助,您将看到“-Authentication”和“-Credential”。第一个指定默认、基本、Credssp、摘要、Kerberos、协商和NegotiateWithImplicitCredential。第二个可用于提供运行作业的实际凭据


希望对您有所帮助。

您可以使用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


您可以使用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


该服务需要windows身份验证该服务需要windows身份验证I返回开始作业:不支持指定的身份验证机制“…”。此操作仅支持“默认”。而且似乎没有任何方法以非交互方式提供凭证i get back Start Job:不支持指定的身份验证机制“…”。此操作仅支持“默认”。而且似乎没有任何非交互方式提供凭证的方法,这是有帮助的,但只有在我的密码不变的情况下才有效。这是有帮助的,但只有在我的密码不变的情况下才有效。