使用Format命令格式化powershell輸出,常用的命令如下:
- Format-Wide:每個對象僅有一個屬性值被顯示。默認情況下輸出默認屬性,也可以通過指定-Property參數來輸出其他屬性
例如:
Get-Process -Name powershell|Format-Wide
Get-Process -Name powershell| Format-wide -Property Id
- Format-List:將對象輸出格式化為屬性列表。如果想讓所有屬性均在列表中輸出,可使用通配符*來指定屬性值
例如:
Get-Process -Name powershell|Format-List -Property *
- Format-Table:將輸出格式化為一張表格。這是默認的輸出格式,也就是說即使不指定Format-Table,powershell對對象的輸出也為表格形式,此輸出格式有一個缺點,就是當列寬不夠時,文字會被截斷(truncated)。
例如:
Get-Process -Name powershell|Format-Table -Property Path,Name,Id,Company
通過指定AutoSize參數可以改善這一現象,使用AutoSize參數后僅最后一列可能會截斷,當然,最后一列以后的列會因為無法現實而被移除,同時powershell會通過控制台向用戶發出警告,告知用戶某些列被移除。
例如:
Get-Process -Name powershell|Format-Table -Property Path,Name,Id,Company -AutoSize
Get-Process -Name powershell|Format-Table -Property * -AutoSize
還可以使用參數GroupBy來分組顯示輸出結果,-GroupBy指定的屬性即為分組依據。
例如:
Get-Process -Name powershell|Format-Table -AutoSize
-Property Path,Name,Id,Company -GroupBy Company
4) Format-Custom:使用預定義的可選視圖格式化輸出。可以在Windows Powershell目錄下查看*format.PS1XML文件來決定可以選用的視圖。也可以創建自己的.PS1XML視圖文件。
為了得到我們想要的輸出,我們常常要指定屬性值(-Property)來確定輸出列,要查看一個對象的屬性,可以發送命令的輸出到Get-Member:
例如:
Get-Process | Get-Member -MemberType *Property