在PowerShell中,输出为默认表格式。为了将输出格式化为所需的格式,主要使用以下管道命令。
格式表
格式列表
格式范围
也有用于格式化输出数据的命令,但并未广泛使用。
自定义格式
格式十六进制
在下面的示例中,我们将使用Get-Service获取服务的详细信息,并使用不同的输出cmdlet对其进行格式化。
Get-Service WinRM, Spooler
输出结果
Status Name DisplayName ------ ---- ----------- Running Spooler Print Spooler Stopped WinRM Windows Remote Management (WS-Manag...
如您所见,由于以默认格式显示输出字符限制,因此未完全显示WinRM服务的显示名称。要获得完整的输出,您需要使用Format-Table(Alias-FT)及其– AutoSize参数。
Get-Service WinRM, Spooler | Format-Table -AutoSize
输出结果
Status Name DisplayName ------ ---- ----------- Running Spooler Print Spooler Stopped WinRM Windows Remote Management (WS-Management)
您还可以使用–在格式表中包装命令来包装命令的输出。
Status Name DisplayName ------ ---- ----------- Running Spooler Print Spooler Stopped WinRM Windows Remote Management (WS-Management)
如果需要不带任何标题的输出,请在Format-Table命令中使用– HideTableHeaders参数。您可以组合两个参数,如下所示。
Get-Service WinRM,Spooler | Format-Table –HideTableHeaders -AutoSize
输出结果
Running Spooler Print Spooler Stopped WinRM Windows Remote Management (WS-Management)
在上面的输出中,您没有使用那些管道命令获得服务的所有属性。要获得服务的所有属性,您需要使用(Format-List *)或(alias-fl *)命令。
PS C:\WINDOWS\system32> Get-Service Spooler | fl * Name : Spooler RequiredServices : {RPCSS, http} CanPauseAndContinue : False CanShutdown : False CanStop : True DisplayName : Print Spooler DependentServices : {Fax} MachineName : . ServiceName : Spooler ServicesDependedOn : {RPCSS, http} ServiceHandle : SafeServiceHandle Status : Running ServiceType : Win32OwnProcess, InteractiveProcess StartType : Automatic Site : Container :