首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在远程CredSSP调用中启动作业时出现问题

在远程CredSSP调用中启动作业时出现问题
EN

Stack Overflow用户
提问于 2011-09-02 01:02:21
回答 2查看 934关注 0票数 0

因此,在机器X上,我以CredSSP身份使用Creds A连接到Y,然后通过Cred,我想在机器Y上使用Cred启动一个作业。

虽然我可以RDP到机器Y作为X,并成功地在本地创建一个作业作为Y,当我使用remoting这样做的时候。我得到一个错误。以下是按问题复制的示例代码

代码语言:javascript
复制
$sb1 = {param($cred) $cred ; write-host "started"  ; start-job  -Credential $cred -ScriptBlock {"yo"} | Wait-Job | Receive-Job }
$j = invoke-command -ComputerName $compy -Credential $creda -Authentication CredSSP -ScriptBlock $sb1 -argumentlist $credb

它在接收任务上出错,大概过了30秒左右(可能超时了),我在y上的任务管理器中看不到任何创建的进程(当我在scriptblock中使用"yo“休眠时)。

下面是返回的错误

代码语言:javascript
复制
[localhost] The background process reported an error with the following message: .
    + CategoryInfo          : OpenError: (:) [Receive-Job], PSRemotingTransportException
    + FullyQualifiedErrorId : PSSessionStateBroken

异常的扩展是“后台进程报告了一个错误,消息如下:”。并且没有内部异常。

EN

回答 2

Stack Overflow用户

发布于 2011-09-02 23:49:04

据我所知,当删除远程脚本中Start-Job的-Credential参数时,一切都很顺利。

当我们希望我们的远程会话拥有对网络资源的完全访问权限时,可以使用CredSSP。这就是所谓的双重希望情景。

在您在计算机A上构建$credb的情况下,此变量包含B的凭据,但是当您将$credb作为参数提供给远程脚本时,它将被序列化,并且我打赌第二台计算机无法使用凭据的加密解析。

我尝试在服务器计算机上重新创建凭据,但也失败了。

票数 0
EN

Stack Overflow用户

发布于 2012-05-11 09:29:48

要使用credssp开关,需要将远程计算机配置为允许该开关。但是,即使启用了该功能,也不能简单地将凭据对象传递到远程计算机。你可以用下面的代码轻松地测试它:

代码语言:javascript
复制
$a="hello world"
Will work: Invoke-Command -ScriptBlock {write-host "hello world"} -session $(get-pssession 2)
Will break: Invoke-Command -ScriptBlock {write-host $a} -session $(get-pssession 2)

您可以做的是使用ConvertFrom-SecureString创建一个安全字符串,并将其作为变量传递。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7273789

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档