未收到PowerShell作业的结果

时间:2013-07-04 22:14:02

标签: powershell

我正在PowerShell中尝试工作,但我无法收到结果。这是shell的一些输出。

Windows PowerShell
Copyright (C) 2009 Microsoft Corporation. All rights reserved.

PS C:\Users\Administrator> dir


    Directory: C:\Users\Administrator


Mode                LastWriteTime     Length Name
----                -------------     ------ ----
d-r--         6/18/2013  11:52 AM            Contacts
d-r--         6/20/2013   1:00 PM            Desktop
d-r--         6/18/2013  11:52 AM            Documents
d-r--         6/18/2013  11:52 AM            Downloads
d-r--         6/18/2013  11:52 AM            Favorites
d-r--         6/18/2013  11:52 AM            Links
d-r--         6/18/2013  11:52 AM            Music
d-r--         6/18/2013  11:52 AM            Pictures
d-r--         6/18/2013  11:52 AM            Saved Games
d-r--         6/18/2013  11:52 AM            Searches
d-r--         6/18/2013  11:52 AM            Videos
-a---         6/20/2013  12:57 PM      13404 services.html


PS C:\Users\Administrator> Start-Job -ScriptBlock { dir }

Id              Name            State      HasMoreData     Location             Command
--              ----            -----      -----------     --------             -------
1               Job1            Running    True            localhost             dir


PS C:\Users\Administrator> get-job

Id              Name            State      HasMoreData     Location             Command
--              ----            -----      -----------     --------             -------
1               Job1            Completed  False           localhost             dir


PS C:\Users\Administrator> Receive-Job -id 1
PS C:\Users\Administrator>

上面的输出来自我构建并升级到域控制器的Win2008 R2服务器。它是域中唯一的计算机,与任何其他计算机无关。

在其他计算机上运行这些命令时,我没有遇到问题。什么会导致这项工作不产生产出?我应该在哪里调试这个问题?我查看了事件日志,但没有发现任何问题。

编辑:谢谢大家的帮助,但我会考虑解决这个问题。我相信在服务器的构建或补丁的安装过程中有些东西被破坏了,因为没有其他计算机表现出这种行为。我已经迁移了数据并重建了服务器,并且工作正常。

2 个答案:

答案 0 :(得分:1)

Maybe您正在搜索的目录在此计算机上是空的,而不是其他目录。您可以尝试在作业中为dir / gci提供-path参数:

Start-Job -ScriptBlock { dir -path c:\folderThatIsForSureNotEmpty }

答案 1 :(得分:1)

Start-Job无法在当前目录中启动作业。它启动一个新的PowerShell进程,并为该作业使用不同的目录。正如另一个答案所示,您的服务器上可能此目录为空,因此不会返回任何内容。如果你只是在Start-Job脚本块中写一些输出会发生什么?你有任何输出吗?

Start-Job { Write-Host "In ur job." ; Get-Location ; dir } | Wait-Job | Receive-Jo