2010-04-20 2 views
1

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입니다.

왜? 어떻게 작동시킬 수 있습니까?

답변

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 
+0

서비스에 Windows 인증이 필요합니다. –

0

나는이에 대한 테스트 어떤 ASMX 웹 서비스를 필요는 없지만, 시작 - 작업의 도움 보면 당신은 볼 '-Authentication-와' '-Credential. 첫 번째는 Default, Basic, Credssp, Digest, Kerberos, Negotiate 및 NegotiateWithImplicitCredential을 지정합니다. 두 번째는 작업을 실행하기위한 실제 자격 증명을 제공하는 데 사용될 수 있습니다.

희망이 있습니다. 당신이

$pass = Get-Content c:\securestring | convertto-securestring 
$cred = new-object -typename System.Management.Automation.PSCredential -argumentlist “domain\administrator”,$pass 

및 사용할 수 있습니다

+0

돌아옵니다. Start-Job : 지정된 인증 메커니즘 "..."이 지원되지 않습니다. 이 작업에는 "기본값"만 지원됩니다. 그리고 상호 작용없이 자격 증명을 제공 할 수있는 방법이없는 것 같습니다 –

1

당신은 그 이후 디스크 에 보안 파일이 만들어집니다 일단

$securestring = read-host -assecurestring 
convertfrom-securestring $securestring | out-file c:\securestring 

을 실행은 ConvertFrom-SecureString과를 ConvertTo-SecureString cmdlet이에게

을 사용할 수 있습니다

start-job { New-WebServiceProxy "same url" -Credential $cred } | wait-job | Receive-Job 
+0

도움이 되긴하지만 암호가 변경되지 않는 한 작동합니다. –

관련 문제