我是一个
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...
我希望我的“选择”能够产生整个列,而不仅仅是对象或它返回的任何东西.我想模拟Get-WmiObject -List的实际输出的grep
同样作为布恩斯方面的问题:
除了MSDN之外,什么是列出所有WMI对象及其返回内容的好站点?这些似乎是获取有关Windows系统任何方面的信息的超级强大方法.我对吗?
您不想使用Select-String. Powershell为这种过滤提供了
Where-Object
cmdlet:
Get-WmiObject -List | Where-Object { $_.Name -eq "Win32_LogicalDisk" }
您还可以使用Select-Object
扩展从Where-Object返回的对象的属性“Properties”:
Get-WmiObject -List | Where-Object { $_.Name -eq "Win32_LogicalDisk" } | Select-Object -ExpandProperty Properties
如果您想探索WMI,可以使用许多工具.一个Powershell版本,WMI Explorer可能对您特别感兴趣.