我想寫我的第一個腳本,但我有PowerShell的一些問題。Powershell回聲vs寫主機和不同的輸出
我使用下面的代碼:
$Disk = Get-Disk | Where-Object {$_.Path -match "USBSTOR" -and $_.Size -gt 20Gb -and $_.Size -lt 200Gb -and -not $_.IsBoot }
我想不通爲什麼
PS C:\> echo $disk
Number Friendly Name OperationalStatus Total Size Partition Style
------ ------------- ----------------- ---------- ---------------
1 Imation IronKey Wkspace USB Device Online 59.63 GB MBR
和
PS C:\> write-host $disk
MSFT_Disk (ObjectId = "\\?\usbstor#disk&ven_imation&prod_ironk...)
更復雜的是,以下PowerShell腳本:
$Disk = Get-Disk | Where-Object {$_.Path -match "USBSTOR" -and $_.Size -gt 20Gb -and $_.Size -lt 200Gb -and -not $_.IsBoot }
$WIM = Get-PSDrive -PSProvider FileSystem | Where { Test-Path (join-path $_.Root "\sources\install.wim") }
echo $Disk
echo $WIM
Write-Host $WIM
Write-Host $Disk
,然後改變回聲的順序和寫入我得到不同的輸出
有人能解釋這是怎麼回事?
這有助於解釋的事情。但你能解釋爲什麼改變回聲的順序很重要嗎? 如果我在命令行上執行最終腳本,它按預期工作(兩個回聲都是表格)。如果我將它放在powershell腳本中,第一個回顯是表格,最後一個回顯是完整對象。如果我切換它們,輸出結果是相同的(表,對象)。 – user3365921