1

PoSh スクリプトのバックグラウンドでいくつかの機能を実行しようとしています。ジョブは決して完了しませんが、正常に呼び出されると正常に動作します。問題を次の行に絞り込みました。

この行は正常に動作します:

$ws = New-WebServiceProxy  "http://host/Service?wsdl" -UseDefaultCredential

しかし、この行は永遠にブロックされます

start-job { New-WebServiceProxy "same url" -UseDefaultCredential } `
 | wait-job | Receive-Job

詳細: サービスはローカルであり、Windows 認証が必要です。クライアントは XP & サーバー 2003 です。

なんで?どうすれば機能しますか?

4

3 に答える 3

1

ConvertFrom-SecureString および ConvertTo-SecureString コマンドレットを使用できます。

実行したら

$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-22T12:24:04.710 に答える
0

これをテストする ASMX Web サービスはありませんが、Start-Job のヘルプを見ると、「-Authentication-」と「-Credential」が表示されます。1 つ目は、Default、Basic、Credssp、Digest、Kerberos、Negotiate、および NegotiateWithImplicitCredential を指定します。2 つ目は、ジョブを実行するための実際の資格情報を提供するために使用できます。

それが役立つことを願っています。

于 2010-04-21T16:49:51.167 に答える
0

これが機能するようになりました。どのOSを実行していますか?XP または 2003 が問題になる可能性があります。

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

$zip | get-member -type method
于 2010-04-20T21:55:14.677 に答える