Назад | Перейти на главную страницу

Windows PowerShell Выбор удаления столбцов

Я специалист по Linux, поэтому привык к "grep". С grep он сохраняет столбцы, однако в PowerShell он меняет вывод. Например:

Get-WmiObject -List | Select-String -Pattern "Win32_LogicalDisk$"

\\COMP\ROOT\cimv2:Win32_LogicalDisk

Где "Get-WmiObject -List" выводит такие столбцы, как:

  CIM_Tachometer                      {SetPowerState, R... {Accuracy, Availability, Caption, ConfigManagerErrorCode...

Я хотел бы, чтобы мой «Выбор» выдавал весь столбец, а не только объект или что-то еще, что он возвращает. Я хотел бы подражать grep фактического вывода Get-WmiObject -List

Также в качестве побочного вопроса: помимо MSDN, какой хороший сайт содержит все объекты WMI и то, что они возвращают? Они кажутся очень мощным способом получить информацию о любом аспекте системы Windows. Я прав?

Вы не хотите использовать Select-String. Powershell предлагает Where-Object командлет для такого рода фильтрации:

Get-WmiObject -List | Where-Object { $_.Name -eq "Win32_LogicalDisk" }

Вы также можете использовать Select-Object развернуть свойство «Свойства» объекта, возвращенного из Where-Object:

Get-WmiObject -List | Where-Object { $_.Name -eq "Win32_LogicalDisk" } | Select-Object -ExpandProperty Properties

Если вы хотите изучить WMI, доступно множество инструментов. Одна версия Powershell, WMI Explorer могут представлять для вас особый интерес.