【发布时间】:2020-02-02 07:21:51
【问题描述】:
执行两个用分号分隔的 PowerShell 命令时,我得到了意想不到的结果。第二个命令的输出发生变化。如果我以相反的顺序运行它们,我看不到第二个命令输出。
在这里,我只是想获得一个时间戳和一个用户在 AD 中所属的组列表,作为单行。
如果我运行这一行,我会得到以下输出:
Get-ADPrincipalGroupMembership username | Select-Object name
name
----
Domain Users
CL-Inventory-Group
...
但是,如果我运行以下命令,此行为会发生变化:
get-date; Get-ADPrincipalGroupMembership username | Select-Object name
Wednesday, April 3, 2019 2:31:35 PM
name : Domain Users
name : CL-Inventory-Group
...
更奇怪的是,如果我反向运行,即我在第一个命令之后说 get-date,则在列出组后,日期戳永远不会出现。
我是否不正确地分隔命令?
【问题讨论】:
-
我认为这与 PowerShell 在控制台中自动格式化输出有关,因为如果将其更改为
$a = Get-ADPrincipalGroupMembership username | Select-Object name; $b = get-date,则两个变量都将具有正确的数据。这可能是因为get-date以非表格格式输出,而其他命令以表格格式输出。如果您将两者都通过管道传输到Format-Table或Format-List,您可以同时看到两者。
标签: powershell formatting