首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >powershell作业中的输入对象

powershell作业中的输入对象
EN

Stack Overflow用户
提问于 2015-10-21 02:05:32
回答 2查看 3.1K关注 0票数 1

我正在尝试在PowerShell中实现一个如下所示的作业:

代码语言:javascript
运行
复制
$cred = Get-Credential 
$job1 = Start-Job -InputObject $cred -ScriptBlock {
    Get-ADUser -Credential $cred -Filter *
}
$res1 = Wait-Job -Job $job1 | Receive-Job

但我收到一条错误消息:

等待作业:等待作业cmdlet无法完成工作,因为一个或多个作业被阻止等待用户交互。请使用Receive-Job cmdlet处理交互式作业输出,然后重试。....检测到死锁:(System.Manageme...n.PSRemotingJob:PSRemotingJob) Wait-J ob,....

但是如果我像这样创建这个看似相同的工作:

代码语言:javascript
运行
复制
$job2 = Start-Job -ScriptBlock {
    $pass = ConvertTo-SecureString "pass" -AsPlainText -Force
    $cred = new-object -typename System.Management.Automation.PSCredential -argumentlist "usr",$pass

    Get-ADUser -Credential $cred -Filter *
}
$res2 = Wait-Job -Job $job2 | Receive-Job

一切都运行得很完美。

你能告诉我为什么吗?

谢谢!

EN

回答 2

Stack Overflow用户

发布于 2015-10-21 03:19:18

要将参数传递给脚本块,需要使用-ArgumentList参数,而不是-InputObject。试试这个:

代码语言:javascript
运行
复制
$cred = Get-Credential 
$job1 = Start-Job -ScriptBlock {PARAM($cred)
    Get-ADUser -Credential $cred -Filter *
} -ArgumentList $cred

请注意,-ArgumentList必须是Start-Job命令中的最后一个参数。

票数 2
EN

Stack Overflow用户

发布于 2015-10-21 03:21:54

如果您只阅读了Start-Job的帮助,这一点可能会很明显。如果使用-InputObject参数,则可以使用自动变量$Input从脚本块中引用它。由于您引用的$Cred超出了作用域,因此它会再次尝试获取凭据。下面是该参数的帮助文本。

代码语言:javascript
运行
复制
-InputObject <PSObject>
    Specifies input to the command. Enter a variable that contains the objects, or type a command or expression that generates the objects.

    In the value of the ScriptBlock parameter, use the $input automatic variable to represent the input objects.

您可以将您的脚本修改为如下所示,它应该可以很好地工作:

代码语言:javascript
运行
复制
$cred = Get-Credential 
$job1 = Start-Job -InputObject $cred -ScriptBlock {
    Get-ADUser -Credential $Input -Filter *
}
$res1 = Wait-Job -Job $job1 | Receive-Job
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33243714

复制
相关文章

相似问题

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