When I look at the Win32_ComputerSystem class, it shows loads of properties like Status
, PowerManagementCapabilities
, etc. However, when in PowerShell I do the below I only get back a couple:
PS C:\Windows\System32\drivers> Get-WmiObject -Class "Win32_computersystem"
Domain : YYY.com
Manufacturer : VMware, Inc.
Model : VMware Virtual Platform
Name : LONINEGFQEF58
PrimaryOwnerName : Authorised User
TotalPhysicalMemory : 2147016704
How can I see all proper开发者_StackOverflow中文版ties?
Try this:
Get-WmiObject -Class "Win32_computersystem" | Format-List *
Get-WmiObject -Class "Win32_computersystem" | Format-List -Property *
For certain objects, PowerShell provides a set of formatting instructions that can affect either the table or list formats. These are usually meant to limit the display of reams of properties down to just the essential properties. However there are times when you really want to see everything. In those cases Format-List *
will show all the properties. Note that in the case where you're trying to view a PowerShell error record, you need to use "Format-List * -Force" to truly see all the error information, for example,
$error[0] | Format-List * -force
Note that the wildcard can be used like a traditional wilcard this:
Get-WmiObject -Class "Win32_computersystem" | Format-List M*
If you want to know what properties (and methods) there are:
Get-WmiObject -Class "Win32_computersystem" | Get-Member
You can also use:
Get-WmiObject -Class "Win32_computersystem" | Select *
This will show the same result as Format-List * used in the other answers here.
I like
Get-WmiObject Win32_computersystem | format-custom *
That seems to expand everything.
There's also a show-object command in the PowerShellCookbook module that does it in a GUI. Jeffrey Snover, the PowerShell creator, uses it in his unplugged videos (recommended).
Although most often I use
Get-WmiObject Win32_computersystem | fl *
It avoids the .format.ps1xml file that defines a table or list view for the object type, if there are any. The format file may even define column headers that don't match any property names.
The most succinct way to do this is:
Get-WmiObject -Class win32_computersystem -Property *
You can list all properties of object using Four ways
Method-1: Format-Table
Get-Process | Format-Table -Property * -Wrap | Out-File abc.txt -Width 5000
OR
Get-Process | Format-Table * -Wrap | Out-File abc.txt -Width 5000
OR
Get-Process | FT * -Wrap | Out-File abc.txt -Width 5000
Method-2: Format-List
Get-Process | Format-List -Property *
OR
Get-Process | Format-List *
OR
Get-Process | FL *
Method-3: ConvertTo-Html
Get-Process | ConvertTo-Html | Out-File services1.html ; invoke-item services1.html
Method-4: Out-GridView
Get-Process | Select * | Out-GridView
Comparision of results to show parameters usage:
Format-Table
/Format-List
If you want to include all columns then always use-Property *
parameterFormat-Table
always capture output to a file usingOut-File
because sometime not all columns are included if you show result on screen.FormatTable
always specify reasonable width using-Width
parameter otherwise column values are truncated in result.
Format-Table
always use -Wrap so that column with large text is not trimmed but is shown in multiple line in long column.
CovertTo-Html
properties with collections will only displayType Name
of Collection insted of comma seperated values of collection items. This display is bit different from how Format-Table, Format-List & ConvertTo-Html display property with collection
精彩评论