我正在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服务器。它是域中唯一的计算机,与任何其他计算机无关。
在其他计算机上运行这些命令时,我没有遇到问题。什么会导致这项工作不产生产出?我应该在哪里调试这个问题?我查看了事件日志,但没有发现任何问题。
编辑:谢谢大家的帮助,但我会考虑解决这个问题。我相信在服务器的构建或补丁的安装过程中有些东西被破坏了,因为没有其他计算机表现出这种行为。我已经迁移了数据并重建了服务器,并且工作正常。
答案 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