Делаем математику на переданном свойстве powershell - PullRequest
0 голосов
/ 02 мая 2018

Очень плохо знакомы с математикой на свойствах ... Я пытаюсь:

Get-WMIObject win32_diskdrive -computer $poste | Add-Member -MemberType ScriptProperty -Name  GB -Value {[int]($_.size/1GB)} -PassThru |  select model, size,GB

и я думаю, что неправильно ссылаюсь на свойство SIZE, потому что получаю:

model                                            size GB
-----                                            ---- --
Corsair Neutron XTI SSD SCSI Disk Device 480101368320  0
ST350041 3AS SCSI Disk Device            500105249280  0

Что я делаю не так? Спасибо

Ответы [ 3 ]

0 голосов
/ 02 мая 2018

Вы можете использовать Expression в своем операторе выбора для вычисления размера в ГБ.

Ex:

Get-WMIObject win32_diskdrive -computer $poste  | Select  @{Label = "Model";Expression = {$_.Model}},
        @{Label = "Size";Expression = {"{0:N1}" -f($_.Size) }},
        @{Label = "Total Capacity (GB)";Expression = {"{0:N1}" -f( $_.Size / 1gb)}} #This will devide size by 1gb
0 голосов
/ 02 мая 2018


Это выражение немного проще:

Get-WMIObject win32_diskdrive | select model, size,@{n="GB";e={[int]($_.size/1GB)}} 

И это тоже работает.

0 голосов
/ 02 мая 2018

Сделайте это как явный объект ForEach:

Get-WMIObject win32_diskdrive  | %{Add-Member -Input $_ -MemberType ScriptProperty -Name  GB -Value {[int]($_.size/1GB)} -PassThru} |  select model, size,GB
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...