好的。我只是在这里画了个空白,或者我遗漏了一些明显的东西。在 Powershell (V3) 脚本中,我调用
Get-ADUser -Filter 'SAMAccoutnName -like $ADUserName' -Properties Name,SamAccountName,EmailAddress | Select-Object Name, SamAccountName, EmailAddress
它以我期望的列格式列出数据
Name SamAccountName EmailAddress
------ --------------- ------------
User Name username [email protected]
这不是问题。当我在脚本中调用另一个命令时(实际上是 Exchange 2013)
Get-Mailbox -Identity username | Select-Object Name, SAMAccountName, PrimarySMTPAddress
我仅从之前的 Select-Object 中获取没有标题的相应列:
User Name username
即使我特别要求不同的设置,比如上面的“PrimarySMTPAddress”。
我这里漏掉了什么?这让我抓狂了。
提前致谢。
答案1
这里的问题是,如果您使用不同的属性集将 select-object 作为管道中的最后一个 cmdlet 运行,PowerShell 将不会“隐式”调用Out-Default
每个命令,因此它不会“重置”格式。
但是没有隐式完成的事情总是可以显式完成的。只需将任何命令(可能除了最后一个命令)输出到Out-Default
:
ls | select Name | Out-Default
ls | select DirectoryName