$somevar = Get-Process -OutVariable var | Select-Object -First 5
在这种情况下,为什么$ var = $ somevar(都只有前5个对象)?为什么
-OutVariable
无法将正确的输出保存到$ var?我糊涂了。C:\> $PSVersionTable
Name Value
---- -----
PSVersion 5.1.14393.206
PSEdition Desktop
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...}
BuildVersion 10.0.14393.206
CLRVersion 4.0.30319.42000
WSManStackVersion 3.0
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
C:\> [System.Environment]::OSVersion.Version
Major Minor Build Revision
----- ----- ----- --------
10 0 14393 0
最佳答案
In Powershell 3.0 optimization was included with Select-Object。您正在看到一个功能
使用-Wait
取消此行为。这样做时,该命令花费的时间更长,但是它允许您发生预期的行为。
如果对任何人都重要,则在优化功能前提条件上有一个脚注警告:
关于powershell - 当将Select-Object与First参数一起使用时,OutVariable包含不正确的数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40720821/