Çıkış Nesnelerini Genişletme
Cmdlet'ler, işlevler ve komut dosyaları tarafından döndürülen .NET Framework nesnelerini tür dosyalarını (.ps1xml) kullanarak genişletebilirsiniz. Tür dosyaları, mevcut nesnelere özellikler ve yöntemler eklemenizi sağlayan XML tabanlı dosyalardır. Örneğin, Windows PowerShell, mevcut birkaç .NET Framework nesnesine öğe ekleyen Types.ps1xml dosyasını sağlar. Types.ps1xml dosyası Windows PowerShell kurulum dizininde ($pshome) bulunur. Bu nesneleri daha da genişletmek veya diğer nesneleri genişletmek için kendi türler dosyanızı oluşturabilirsiniz. Bir nesneyi tür dosyası kullanarak genişlettiğinizde, nesnenin herhangi bir örneği yeni öğelerle genişletilir.
System.Array Nesnesini Genişletme
Aşağıdaki örnek, Windows PowerShell'in Types.ps1xml dosyasındaki System.Array nesnesini nasıl genişlettiğini gösterir. Varsayılan olarak System.Array nesneleri, dizideki nesnelerin sayısını listeleyen bir Length özelliğine sahiptir. Ancak "uzunluk" adı özelliği açıkça açıklamadığından Windows PowerShell, Length özelliğiyle aynı değeri görüntüleyen Count diğer ad özelliğini ekler. Aşağıdaki XML, Count özelliğini System.Array türüne ekler.
<Type>
<Name>System.Array</Name>
<Members>
<AliasProperty>
<Name>Count</Name>
<ReferencedMemberName>Length</ReferencedMemberName>
</AliasProperty>
</Members>
</Type>
Bu yeni takma ad özelliğini görmek için aşağıdaki örnekte gösterildiği gibi herhangi bir dizide Get-Member komutunu kullanın.
Get-Member -InputObject (1,2,3,4)
Komut aşağıdaki sonuçları döndürür.
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;}
Bir dizide kaç nesne olduğunu belirlemek için Count özelliğini veya Length özelliğini kullanabilirsiniz. Örneğin:
PS> (1, 2, 3, 4).Count
4
PS> (1, 2, 3, 4).Length
4
Özel Tür Dosyaları
Özel türler dosyası oluşturmak için mevcut bir türler dosyasını kopyalayarak başlayın. Yeni dosya herhangi bir ada sahip olabilir ancak .ps1xml dosya adı uzantısına sahip olmalıdır. Dosyayı kopyaladığınızda, yeni dosyayı Windows PowerShell'in erişebildiği herhangi bir dizine yerleştirebilirsiniz ancak dosyaları Windows PowerShell kurulum dizinine ($pshome) veya bir klasöre yerleştirmek yararlı olacaktır. kurulum dizininin alt dizini.
Dosyaya kendi genişletilmiş türlerinizi eklemek için genişletmek istediğiniz her nesne için bir tür öğesi ekleyin. Aşağıdaki konularda örnekler verilmektedir.
Özellikler ve özellik kümeleri ekleme hakkında daha fazla bilgi için bkz. Genişletilmiş Özellikler
Yöntem ekleme hakkında daha fazla bilgi için bkz. Genişletilmiş Yöntemler.
Üye kümeleri ekleme hakkında daha fazla bilgi için bkz. Genişletilmiş Üye Kümeleri.
Kendi genişletilmiş türlerinizi tanımladıktan sonra, genişletilmiş nesnelerinizi kullanılabilir hale getirmek için aşağıdaki yöntemlerden birini kullanın:
- Genişletilmiş türler dosyanızı geçerli oturumda kullanılabilir hale getirmek için, yeni dosyayı eklemek üzere Update-TypeData cmdlet'ini kullanın. Türlerinizin diğer tür dosyalarında (Types.ps1xml dosyası dahil) tanımlanan türlere göre öncelikli olmasını istiyorsanız Update-TypeData cmdlet'inin
PrependDataparametresini kullanın. - Genişletilmiş türler dosyanızın gelecekteki tüm oturumlarda kullanılabilir olmasını sağlamak için türler dosyasını bir modüle ekleyin, geçerli oturumu dışarı aktarın veya Update-TypeData komutunu Windows PowerShell profilinize ekleyin.
İmza Türleri Dosyaları
XML komut dosyası blokları içerebildiğinden, kurcalamayı önlemek için tür dosyaları dijital olarak imzalanmalıdır. Dijital imza ekleme hakkında daha fazla bilgi için bkz. about_Signing
Ayrıca Bakınız
Nesneler için Varsayılan Özellikleri Tanımlama
Nesneler için Varsayılan Yöntemleri Tanımlama
Nesneler için Varsayılan Üye Kümelerini Tanımlama
Windows PowerShell Cmdlet'i Yazma