Bagikan melalui


Memperluas Objek Output

Anda dapat memperluas objek .NET Framework yang dikembalikan oleh cmdlet, fungsi, dan skrip dengan menggunakan file jenis (.ps1xml). File jenis adalah file berbasis XML yang memungkinkan Anda menambahkan properti dan metode ke objek yang ada. Misalnya, Windows PowerShell menyediakan file Type.ps1xml, yang menambahkan elemen ke beberapa objek .NET Framework yang ada. File Types.ps1xml terletak di direktori penginstalan Windows PowerShell ($PSHOME). Anda dapat membuat file jenis Anda sendiri untuk memperluas objek tersebut lebih lanjut atau untuk memperluas objek lain. Saat Anda memperluas objek dengan menggunakan file jenis, instans objek apa pun diperluas dengan elemen baru.

Memperluas Objek System.Array

Contoh berikut menunjukkan bagaimana Windows PowerShell memperluas objek System.Array dalam file Type.ps1xml. Secara default, objek System.Array memiliki properti Length yang mencantumkan jumlah objek dalam array. Namun, karena nama "panjang" tidak menjelaskan properti dengan jelas, Windows PowerShell menambahkan properti alias Count, yang menampilkan nilai yang sama dengan properti Length. XML berikut menambahkan properti Count ke jenis System.Array.

<Type>
  <Name>System.Array</Name>
  <Members>
    <AliasProperty>
      <Name>Count</Name>
      <ReferencedMemberName>Length</ReferencedMemberName>
    </AliasProperty>
  </Members>
</Type>

Untuk melihat properti alias baru ini, gunakan perintah Get-Member pada array apa pun, seperti yang ditunjukkan dalam contoh berikut.

Get-Member -InputObject (1,2,3,4)

Perintah mengembalikan hasil berikut.

Name           MemberType    Definition
----           ----------    ----------
Count          AliasProperty Count = Length
Address        Method        System.Object& Address(Int32 )
Clone          Method        System.Object Clone()
CopyTo         Method        System.Void CopyTo(Array array, Int32 index):
Equals         Method        System.Boolean Equals(Object obj)
Get            Method        System.Object Get(Int32 )
...
Length         Property      System.Int32 Length {get;}

Anda dapat menggunakan properti Count atau properti Length untuk menentukan berapa banyak objek dalam array. Contohnya:

PS> (1, 2, 3, 4).Count
4
PS> (1, 2, 3, 4).Length
4

File Tipe Kustom

Untuk membuat file jenis kustom, mulailah dengan menyalin file jenis yang sudah ada. File baru dapat memiliki nama apa pun, tetapi harus memiliki ekstensi nama file .ps1xml. Saat menyalin file, Anda dapat menempatkan file baru di direktori apa pun yang dapat diakses oleh Windows PowerShell, tetapi berguna untuk menempatkan file di direktori penginstalan Windows PowerShell ($PSHOME) atau di subdirektori direktori penginstalan.

Untuk menambahkan jenis perluasan Anda sendiri ke file, tambahkan elemen jenis untuk setiap objek yang ingin Anda perluas. Topik berikut memberikan contoh.

Setelah Anda menentukan jenis yang diperluas sendiri, gunakan salah satu metode berikut untuk membuat objek yang diperluas tersedia:

  • Untuk membuat file tipe yang diperluas tersedia untuk sesi saat ini, gunakan cmdlet Update-TypeData untuk menambahkan file baru. Jika Anda ingin jenis Anda lebih diutamakan daripada jenis yang ditentukan dalam file jenis lain (termasuk file Type.ps1xml), gunakan parameter PrependData cmdlet Update-TypeData.
  • Untuk membuat file jenis yang diperluas tersedia untuk semua sesi mendatang, tambahkan file jenis ke modul, ekspor sesi saat ini, atau tambahkan perintah Update-TypeData ke profil Windows PowerShell Anda.

File Tipe Penandatanganan

File jenis harus ditandatangani secara digital untuk mencegah perubahan karena XML dapat menyertakan blok skrip. Untuk informasi selengkapnya tentang menambahkan tanda tangan digital, lihat about_Signing

Lihat Juga

Menentukan Properti Default untuk Objek

Mendefinisikan Metode Default untuk Objek

Menentukan Set Anggota Default untuk Objek

Menulis Cmdlet Windows PowerShell