代码之家  ›  专栏  ›  技术社区  ›  Scott Weinstein

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

  •  1
  • Scott Weinstein  · 技术社区  · 16 年前

    这一行很好:

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

    但这条线永远阻挡不了你

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

    一些细节:该服务是本地的,需要windows身份验证。客户端是XP&server2003。

    为什么?我怎么让它工作?

    3 回复  |  直到 12 年前
        1
  •  1
  •   Mihail Stacanov    16 年前

    您可以使用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
    
        2
  •  0
  •   Doug Finke    16 年前

    start-job { 
            $zip = New-WebServiceProxy "http://www.webservicex.net/uszip.asmx?WSDL"  -UseDefaultCredential 
    } | Wait-Job | Receive-Job
    
    $zip | get-member -type method
    
        3
  •  0
  •   James Pogran    16 年前

    我没有任何asmxweb服务来测试它,但是如果您查看Start Job的帮助,您将看到'-Authentication-和'-Credential'。第一个指定Default、Basic、Credssp、Digest、Kerberos、Negotiate和NegotiateWithImplicitCredential。第二个可以用来提供运行作业的实际凭据。

    希望有帮助。

    推荐文章