輸出

已寫入標準輸出串流的輸出將會寫入電腦輸出檔案中。 若錯誤是由 Security Controls 指令碼引擎所偵測,詳細的錯誤訊息將會寫入電腦錯誤檔案中。

我們建議您可以依您的偏好明確格式化輸出在檔案中的顯示方式。 若您並未明確格式化輸出,則會使用預設格式器。 這將會限制輸出的欄位以及其呈現方式。

尤其重要的是,請務必針對使用 PowerShell 遠端的指令碼格式化輸出。 遠端指令碼的預設行為是序列化目標電腦上的指令碼輸出物件,然後在控制台上還原序列化。 已還原序列化的物件就是具有內容但沒有方法的快照。 除非您已將輸出明確格式化為字串,否則可能會發生錯誤或未預期的結果。

有多種方式可以格式化您的輸出。 這裡列舉一些範例。

  • Out-String: 輸出一系列字串
  • Format-List: 將輸出格式化為屬性清單,且每個屬性都位於新行上
  • Format-Table: 將物件格式化為表格
  • Format-Wide: 將物件格式化為寬表格,其中每個物件僅顯示一個屬性
  • Select-Object: 選取您要輸出的屬性並選擇性變更屬性名稱。 這可讓您針對輸出進行微調控制。
  • Export-CSV: 將輸出另存為 CSV 檔案。 您可以輸出至暫存檔案,然後使用「取得內容」將其寫入標準輸出。

以下範例會擷取服務清單,然後建立電腦名稱、狀態、服務名稱和顯示名稱的 CSV 輸出。

$fn = [io.path]::GetTempFileName()

Get-Service -ComputerName "$ST_ComputerName" | select-object

@{Name="ComputerName"; Expression={$ST_ComputerName}}, Status, Name,

DisplayName | export-csv "$fn" -notype

get-content $fn

remove-item $fn