Mempelajari PowerShell, mencoba mencari tahu bagaimana menguraikan nilai pertama dari resultset ini:
IPAddresses
-----------
{10.60.50.40, fe80::5ddf:a8f4:e29c:b66}
Biasanya saya hanya mencarinya, tetapi saya tidak tahu apakah {x, x} adalah tipe data standar di Powershell
daratan.
Apakah saya harus melakukan penguraian string kasar, atau adakah perintah standar untuk mengekstrak yang pertama, seperti:
... | Select-Object IPAddresses | Select-String [0]
(Saya baru saja membuat bagian senar pilih. Saya tersesat.)
powershell
string-manipulation
dthree
sumber
sumber
IPAddresses
sepotong tuple sudah, jadi Anda tidak bisa memecahnya lebih jauh dari itu.Jawaban:
Inilah yang saya miliki sejauh ini:
Mengembalikan yang pertama.
sumber
Coba seperti ini:
sumber
Mencoba
Kumpulan hasil Anda adalah kumpulan dari beberapa jenis. The
Select-Object
cmdlet mengambil item pertama dalam koleksi itu dan kemudian menyaring untuk hanyaIPAddress
properti yang kemudian ditampilkan.Pada mesin saya, output dari perintah di atas terlihat seperti ini. Kemungkinan Anda akan berbeda karena alamat yang dikembalikan akan berbeda
Anda mendapatkan tabel karena secara default PowerShell menempatkan output melalui
Format-Table
untuk membuat tampilan yang bagus.Untuk mengakses hanya alamat IP itu sendiri, Anda dapat memodifikasi ekspresi sedikit:
$myResultSet.IPAddress|Select-Object -First 1
atau, dengan menggunakan notasi titik dan indeks ke dalam koleksi Anda dapat menghindari menggunakan
Select-Object
sepenuhnya seperti:$myResultSet[0].IPAddress
Di atas merujuk langsung ke
IPAddress
properti item pertama dalam$myResultSet
koleksi, yang memiliki indeks nol karenanya$myResultSet[0]
Salah satu dari ini akan mengembalikan hanya alamat IP itu sendiri seperti:
fe80::5581:4fbc:fc22:ec79%13
sumber
Pertama, Anda tidak perlu menebak apa jenisnya
IPAddresses
, Anda bisa mendapatkannya dengan mudah seperti ini:Mungkin itu akan menjadi semacam koleksi (array) , sehingga Anda dapat menggunakan
Select-Object
denganExpandProperty
parameter:Atau Anda dapat menggunakan operator dereference properti dan \ atau indeks seperti yang disarankan Crippledsmurf
sumber