Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Deskripsi singkat
Menjelaskan cara menggunakan properti objek di PowerShell.
Deskripsi panjang
PowerShell menggunakan kumpulan informasi terstruktur yang disebut objek untuk mewakili item di penyimpanan data atau status komputer. Biasanya, Anda bekerja dengan objek yang merupakan bagian dari Microsoft .NET Framework, tetapi Anda juga dapat membuat objek kustom di PowerShell.
Hubungan antara item dan objeknya sangat dekat. Saat Anda mengubah objek, Anda biasanya mengubah item yang diwakilinya. Misalnya, saat Anda mendapatkan file di PowerShell, Anda tidak mendapatkan file aktual. Sebagai gantinya, Anda mendapatkan objek FileInfo yang mewakili file. Saat Anda mengubah objek FileInfo, file juga berubah.
Sebagian besar objek memiliki properti. Properti adalah data yang terkait dengan objek. Jenis objek yang berbeda memiliki properti yang berbeda. Misalnya, objek FileInfo, yang mewakili file, memiliki properti IsReadOnly yang berisi $true jika file memiliki atribut baca-saja dan $false jika tidak. Objek DirectoryInfo, yang mewakili direktori sistem file, memiliki properti Induk yang berisi jalur ke direktori induk.
Properti objek
Untuk mendapatkan properti objek, gunakan cmdlet Get-Member. Misalnya, untuk mendapatkan properti objek FileInfo, gunakan cmdlet Get-ChildItem untuk mendapatkan objek FileInfo yang mewakili file. Kemudian, gunakan operator alur (|) untuk mengirim objek FileInfo ke Get-Member. Perintah berikut mendapatkan file pwsh.exe dan mengirimkannya ke Get-Member. Variabel otomatis $PSHOME berisi jalur direktori penginstalan PowerShell.
Get-ChildItem $PSHOME\pwsh.exe | Get-Member
Output perintah mencantumkan anggota objek FileInfo. Anggota mencakup properti dan metode. Saat Anda bekerja di PowerShell, Anda memiliki akses ke semua anggota objek.
Untuk mendapatkan hanya properti objek dan bukan metode, gunakan parameter MemberType cmdlet Get-Member dengan nilai Property, seperti yang ditunjukkan dalam contoh berikut.
Get-ChildItem $PSHOME\pwsh.exe | Get-Member -MemberType Property
TypeName: System.IO.FileInfo
Name MemberType Definition
---- ---------- ----------
Attributes Property System.IO.FileAttributes Attributes {get;set;}
CreationTime Property System.DateTime CreationTime {get;set;}
CreationTimeUtc Property System.DateTime CreationTimeUtc {get;set;}
Directory Property System.IO.DirectoryInfo Directory {get;}
DirectoryName Property System.String DirectoryName {get;}
Exists Property System.Boolean Exists {get;}
Extension Property System.String Extension {get;}
FullName Property System.String FullName {get;}
IsReadOnly Property System.Boolean IsReadOnly {get;set;}
LastAccessTime Property System.DateTime LastAccessTime {get;set;}
LastAccessTimeUtc Property System.DateTime LastAccessTimeUtc {get;set;}
LastWriteTime Property System.DateTime LastWriteTime {get;set;}
LastWriteTimeUtc Property System.DateTime LastWriteTimeUtc {get;set;}
Length Property System.Int64 Length {get;}
Name Property System.String Name {get;}
Setelah menemukan properti, Anda bisa menggunakannya di perintah PowerShell Anda.
Nilai properti
Meskipun setiap objek dari jenis tertentu memiliki properti yang sama, nilai properti tersebut menjelaskan objek tertentu. Misalnya, setiap objek FileInfo memiliki properti CreationTime, tetapi nilai properti tersebut berbeda untuk setiap file.
Cara paling umum untuk mendapatkan nilai properti objek adalah dengan menggunakan operator akses anggota (.). Ketik referensi ke objek, seperti variabel yang berisi objek, atau perintah yang mendapatkan objek. Kemudian, ketik operator (.) diikuti dengan nama properti.
Misalnya, perintah berikut menampilkan nilai properti CreationTime dari file pwsh.exe. Perintah Get-ChildItem mengembalikan objek FileInfo yang mewakili pwsh.exe file. Perintah diapit dalam tanda kurung untuk memastikan bahwa perintah dijalankan sebelum properti diakses.
(Get-ChildItem $PSHOME\pwsh.exe).CreationTime
Tuesday, June 14, 2022 5:17:14 PM
Anda juga dapat menyimpan objek dalam variabel lalu mendapatkan propertinya menggunakan metode akses anggota (.), seperti yang ditunjukkan dalam contoh berikut:
$a = Get-ChildItem $PSHOME\pwsh.exe
$a.CreationTime
Wednesday, November 13, 2024 10:12:26 PM
Anda juga dapat menggunakan cmdlet Select-Object dan Format-List untuk menampilkan nilai properti objek.
Select-Object dan Format-List masing-masing memiliki parameter Properti. Anda dapat menggunakan parameter Properti untuk menentukan satu atau beberapa properti dan nilainya. Atau, Anda dapat menggunakan karakter kartubebas (*) untuk mewakili semua properti.
Misalnya, perintah berikut menampilkan nilai semua properti file pwsh.exe.
Get-ChildItem $PSHOME\pwsh.exe | Format-List -Property *
PSPath : Microsoft.PowerShell.Core\FileSystem::C:\Program Files\PowerShell\7-preview\pwsh.exe
PSParentPath : Microsoft.PowerShell.Core\FileSystem::C:\Program Files\PowerShell\7-preview
PSChildName : pwsh.exe
PSDrive : C
PSProvider : Microsoft.PowerShell.Core\FileSystem
PSIsContainer : False
Mode : -a---
ModeWithoutHardLink : -a---
VersionInfo : File: C:\Program Files\PowerShell\7-preview\pwsh.exe
InternalName: pwsh.dll
OriginalFilename: pwsh.dll
FileVersion: 7.5.0.101
FileDescription: PowerShell 7
Product: PowerShell
ProductVersion: 7.5.0-rc.1 SHA: c0142dde17137e436e302b3c4e93e2d6dc50c5c4+c0142dde17137e436e302b3c4e93e2d6dc50c5c4
Debug: False
Patched: False
PreRelease: False
PrivateBuild: False
SpecialBuild: False
Language: Language Neutral
BaseName : pwsh
ResolvedTarget : C:\Program Files\PowerShell\7-preview\pwsh.exe
Target :
LinkType :
Name : pwsh.exe
Length : 284704
DirectoryName : C:\Program Files\PowerShell\7-preview
Directory : C:\Program Files\PowerShell\7-preview
IsReadOnly : False
Exists : True
FullName : C:\Program Files\PowerShell\7-preview\pwsh.exe
Extension : .exe
CreationTime : 11/13/2024 10:12:26 PM
CreationTimeUtc : 11/14/2024 4:12:26 AM
LastAccessTime : 1/3/2025 1:38:13 PM
LastAccessTimeUtc : 1/3/2025 7:38:13 PM
LastWriteTime : 11/13/2024 10:12:26 PM
LastWriteTimeUtc : 11/14/2024 4:12:26 AM
LinkTarget :
UnixFileMode : -1
Attributes : Archive
Properti statis
Anda dapat menggunakan properti statis kelas .NET di PowerShell. Properti statis adalah properti kelas, tidak seperti properti standar, yang merupakan properti objek.
Untuk mendapatkan properti statis kelas, gunakan parameter Statis cmdlet Get-Member. Misalnya, perintah berikut mendapatkan properti statis dari kelas System.DateTime.
Get-Date | Get-Member -MemberType Property -Static
TypeName: System.DateTime
Name MemberType Definition
---- ---------- ----------
MaxValue Property static datetime MaxValue {get;}
MinValue Property static datetime MinValue {get;}
Now Property datetime Now {get;}
Today Property datetime Today {get;}
UtcNow Property datetime UtcNow {get;}
Untuk mendapatkan nilai properti statis, gunakan sintaks berikut.
[<ClassName>]::<Property>
Misalnya, perintah berikut mendapatkan nilai properti statis UtcNow dari kelas System.DateTime.
[System.DateTime]::UtcNow
Enumerasi akses anggota
Dimulai di PowerShell 3.0, saat Anda menggunakan operator akses anggota (.) untuk mengakses properti yang tidak ada, PowerShell secara otomatis menghitung item dalam koleksi dan mengembalikan nilai properti untuk setiap item.
Perintah ini mengembalikan nilai properti DisplayName dari setiap layanan yang Get-Service kembalikan.
(Get-Service).DisplayName
Application Experience
Application Layer Gateway Service
Windows All-User Install Agent
Application Identity
Application Information
...
Sebagian besar koleksi di PowerShell memiliki properti Count yang mengembalikan item angka dalam koleksi.
(Get-Service).Count
176
Jika properti ada pada objek individual dan pada koleksi, hanya properti koleksi yang dikembalikan.
PS> $collection = @(
[pscustomobject]@{Length = "foo"}
[pscustomobject]@{Length = "bar"}
)
# PowerShell returns the collection's Length.
$collection.Length
2
# Get the Length property of each item in the collection.
PS> $collection.GetEnumerator().Length
foo
bar
Untuk informasi selengkapnya, lihat about_Member-Access_Enumeration.
Lihat juga
- about_Objects
- about_Member-Access_Enumeration
- about_Methods
- Daftar Format
- Get-Member
- Pilih Objek