我想將“GB”添加到“Size”的每個實體中,以便每個輸出顯示“8GB”。我不確定如何將字串添加或連接到表中的整數...
我曾嘗試簡單地添加 "GB",將“GB”分配給一個變數,然后添加 $GB. 但是回來Select-Object : A positional parameter cannot be found that accepts argument 'System.Object[]'.
輸入:
$RAM = Get-WmiObject Win32_PhysicalMemory -ComputerName $Computer |
select DeviceLocator,Manufacturer,PartNumber, @{n="Size";e={[math]::truncate($_.Capacity / 1073741824)}},Speed | FT -AutoSize
Write-Output $RAM
輸出:
DeviceLocator Manufacturer PartNumber Size Speed
------------- ------------ ---------- ---- -----
DIMM1 000000000000 8 1600
DIMM2 000000000000 8 1600
DIMM3 000000000000 8 1600
DIMM4 000000000000 8 1600
uj5u.com熱心網友回復:
你有很多選擇:
String Formatting
@{n="Size";e={'{0}GB' -f ($_.Capacity / 1Gb)}}
Subexpression operator $( )
@{n="Size";e={"$($_.Capacity / 1Gb)GB"}}
String Concatenation with Operator
@{n="Size";e={$($_.Capacity / 1Gb).ToString() 'GB'}}
請注意,這里需要.ToString()按照亞伯拉罕在他的評論中的建議呼叫該方法,否則您最終會得到一個空的屬性,甚至更糟:
PS \> 1 'a'
Cannot convert value "a" to type "System.Int32". Error: "Input string was not in a correct format."
- 轉換
[string]到操作也可以在這里作業:
@{n="Size";e={[string]($_.Capacity / 1Gb) 'GB'}}
- 使用
-joinOperator,對于這個用例來說非常非正統,但有效
@{n="Size";e={-join (($_.Capacity / 1Gb), 'GB')}}
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/345239.html
標籤:电源外壳 获取-wmiobject
