我正在學習PowerShell和我強烈閱讀的大量文章不鼓勵使用寫主機告訴我這是「壞習慣」,幾乎總是輸出可以顯示在其他方式。PowerShell:寫輸出只寫一個對象
因此,我正在採取建議,並儘量避免使用寫主機。我發現的一個建議是使用寫輸出。據我所知,這將所有內容放在一個管道中,輸出在腳本的末尾執行(?)。
但是,我有問題輸出我想要的。這一實例說明問題:
$properties = @{'OSBuild'="910ef01.2.8779";
'OSVersion'="CustomOS 3";
'BIOSSerial'="A5FT-XT2H-5A4B-X9NM"}
$object = New-Object –TypeName PSObject –Prop $properties
Write-output $object
$properties = @{'Site'="SQL site";
'Server'="SQL Server";
'Database'="SQL Database"}
$object = New-Object –TypeName PSObject –Prop $properties
Write-Output $object
這樣,我得到了顯示數據的操作系統的第一個對象的一個不錯的輸出,但包含SQL數據的第二對象從不顯示。我嘗試重命名變量名稱和其他一些不同的東西,但沒有運氣。
在對此問題進行故障診斷時,我發現類似的問題,建議使用寫主機替換寫入輸出。這讓我非常困惑。爲什麼有些人強烈地沮喪寫作主持人,而其他人鼓勵呢?
我如何以一種時尚的方式輸出這兩個對象?我不完全瞭解寫輸出的管道機制。
我試過這個在Powershell v4上,它們都以相同的方式輸出,作爲3列表。 – Sean
@sean行,感謝您的信息。我使用的是PowerShell v5,它不適合我。很煩人。 – Scopperloit
'。\ ScriptName.ps1 |格式列表' – PetSerAl