Bagaimana saya bisa mendapatkan properti objek di PowerShell tanpa menggunakan tanda kurung?

13

Saya sering menemukan bahwa saya harus mengelilingi perintah dalam tanda kurung dan kemudian menggunakan operator akses properti (dot-sintaks) untuk mendapatkan nilai properti. Ini agak menjengkelkan karena saya harus kembali ke awal baris ketika saya lebih suka terus mengetik di mana saya berada. Terutama menyebalkan ketika saya berada di tengah-tengah seperangkat perintah pipa yang lebih besar.

Contoh

Jika saya memiliki perintah berikut

Get-PSProvider FileSystem

dan saya ingin mendapatkan Drivesproperti, saya harus mengelilingi seluruh perintah dalam tanda kurung terlebih dahulu:

(Get-PSProvider FileSystem).Drives

Apakah ada cara yang lebih cepat untuk mendapatkan nilai dari satu properti?

brianpeiris
sumber

Jawaban:

14

Anda bisa menggunakannya Select-Object -ExpandProperty <property name>. Ini dapat dipersingkat menggunakan alias selectdan hanya mengetik bagian dari nama properti:

Get-PSProvider FileSystem| select -exp Drives

Manfaat tambahan untuk metode ini adalah Anda dapat mengakses satu properti untuk beberapa objek.

Ini tidak akan mengembalikan apa pun ( Pembaruan: Ini berfungsi di PowerShell v3.):

(Get-PSProvider).Drives

Namun, ini akan mengembalikan drive untuk semua penyedia:

Get-PSProvider| select -exp Drives
Rynant
sumber
Sangat menarik. Terima kasih atas koreksinya.
soandos