Запись значения переменной только в Powershell - PullRequest
0 голосов
/ 27 апреля 2020

Я пытаюсь собрать 4 значения в переменные, а затем записать эти значения на экран, чтобы это выглядело так:

value1,value2,value3,value4

Вместо этого я получаю следующее:

@{name=value1},@{domain=value2},@{domainrole=value3},@{workgroup=value3}

Вот мой код. Любая обратная связь будет наиболее ценится. Спасибо.

$name = Get-CimInstance -ClassName Win32_ComputerSystem | select name
$domain = Get-CimInstance -ClassName Win32_ComputerSystem | select domain
$domainrole = Get-CimInstance -ClassName Win32_ComputerSystem | select domainrole
$workgroup = Get-CimInstance -ClassName Win32_ComputerSystem | select workgroup
write-host "$name,$domain,$domainrole,$workgroup"

Ответы [ 2 ]

0 голосов
/ 27 апреля 2020

Это очень командный вопрос. Мне нравится использовать foreach-object или% для краткости:

[pscustomobject]@{name='joe'} | % name

joe
0 голосов
/ 27 апреля 2020

У вас есть несколько вариантов для достижения этой цели. Можно использовать параметр -ExpandProperty из Select-Object, чтобы превратить объекты со свойствами в строку ... например:

$name = Get-CimInstance -ClassName Win32_ComputerSystem | Select-Object -ExpandProperty name
$domain = Get-CimInstance -ClassName Win32_ComputerSystem | Select-Object -ExpandProperty domain
$domainrole = Get-CimInstance -ClassName Win32_ComputerSystem | Select-Object -ExpandProperty domainrole
$workgroup = Get-CimInstance -ClassName Win32_ComputerSystem | Select-Object -ExpandProperty workgroup
"$name,$domain,$domainrole,$workgroup"

Или вы можете сохранить объекты и получить доступ к их свойствам с помощью точечной нотации. :

$name = Get-CimInstance -ClassName Win32_ComputerSystem
$domain = Get-CimInstance -ClassName Win32_ComputerSystem
$domainrole = Get-CimInstance -ClassName Win32_ComputerSystem
$workgroup = Get-CimInstance -ClassName Win32_ComputerSystem
"$name.name,$domain.domain,$domainrole.domainrole,$workgroup.workgroup"

Я бы порекомендовал последний, потому что вы все еще можете использовать объекты для дальнейших шагов в вашем коде, не теряя их свойств. ; -)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...