Bir PowerShell nesnesinin tüm özelliklerini listeleme


121

Ben baktığımızda Win32_ComputerSystem sınıfı , bu gibi özelliklerinin yükleri gösterir Status, PowerManagementCapabilitiesvb Ancak, PowerShell ben yaptığımda sadece birkaç geri almak aşağıda:

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

Tüm özellikleri nasıl görebilirim?

Yanıtlar:


139

Bunu dene:

Get-WmiObject -Class "Win32_computersystem" | Format-List *
Get-WmiObject -Class "Win32_computersystem" | Format-List -Property *

Belirli nesneler için PowerShell, tablo veya liste formatlarını etkileyebilecek bir dizi formatlama talimatı sağlar. Bunlar genellikle özelliklerin tomarlarının gösterimini sadece temel özelliklerle sınırlandırmak içindir. Ancak her şeyi gerçekten görmek istediğiniz zamanlar vardır. Bu durumlarda Format-List *tüm özellikleri gösterecektir. Bir PowerShell hata kaydını görüntülemeye çalıştığınız durumda, tüm hata bilgilerini gerçekten görmek için "Format-List * -Force" kullanmanız gerektiğini unutmayın, örneğin,

$error[0] | Format-List * -force

Joker karakterin geleneksel bir wilcard gibi kullanılabileceğini unutmayın:

Get-WmiObject -Class "Win32_computersystem" | Format-List M*

1
Tercih ederim Get-WmiObject -Class win32_computersystem -Property *. Kısa ve tatlı
Kolob Canyon

38

Hangi özelliklerin (ve yöntemlerin) olduğunu bilmek istiyorsanız:

Get-WmiObject -Class "Win32_computersystem" | Get-Member

6
Orijinal sorunun üslubu yüzünden sizi not etmeyeceğim. Ancak Get-Member'ın özellikleri ve değerlerini yalnızca özellik / yöntem adlarını ve türlerini listelemediğini belirtmekte fayda var.
soymak

1
Bu, komut dosyası oluştururken her alanın içerdiği veri türünü bilmek ve verileri getirmeden tüm kullanılabilir alan adlarını listelemek için çok kullanışlıdır. Teşekkürler!
Yanick Girouard

30

Ayrıca kullanabilirsiniz:

Get-WmiObject -Class "Win32_computersystem" | Select *

Bu, buradaki diğer cevaplarda kullanılan Biçim Listesi * ile aynı sonucu gösterecektir.


4
Bu aslında kabul edilen cevaptaki yöntemden daha iyidir, çünkü bu yöntemi kullanırken hala zengin nesneleriniz vardır, oysa kullanmak Format-Listboru hattındaki tüm nesneleri yok eder.
Jessie Westlake

7

severim

 Get-WmiObject Win32_computersystem | format-custom *

Bu her şeyi genişletiyor gibi görünüyor.

PowerShellCookbook modülünde bunu bir GUI'de yapan bir nesne göster komutu da vardır. PowerShell'in yaratıcısı Jeffrey Snover, bunu bağlantısız videolarında kullanıyor (önerilen).

Çoğu zaman kullansam da

Get-WmiObject Win32_computersystem | fl *

Varsa, nesne türü için bir tablo veya liste görünümünü tanımlayan .format.ps1xml dosyasından kaçınır. Biçim dosyası, herhangi bir özellik adıyla eşleşmeyen sütun başlıklarını bile tanımlayabilir.


4
format-custom *gerçekten her şeyi gösteren yanıt gibi görünüyor
Chris F Carroll

4

Bunu yapmanın en kısa ve öz yolu şudur:

Get-WmiObject -Class win32_computersystem -Property *

1
Belki kısa, ama eksik. Bu yalnızca orijinal olarak görülen (5) özellikleri, kullanırken görünen 83 özellikleri listeler: Get-WmiObject -Class "Win32_computersystem" | Seç *
boB
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.