Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
U kunt de .NET Framework-objecten die worden geretourneerd door cmdlets, functies en scripts uitbreiden met behulp van typen bestanden (.ps1xml). Typen bestanden zijn XML-bestanden waarmee u eigenschappen en methoden kunt toevoegen aan bestaande objecten. Windows PowerShell biedt bijvoorbeeld het bestand Types.ps1xml, waarmee elementen worden toegevoegd aan verschillende bestaande .NET Framework-objecten. Het bestand Types.ps1xml bevindt zich in de installatiemap van Windows PowerShell ($PSHOME). U kunt uw eigen bestandstypen maken om deze objecten verder uit te breiden of om andere objecten uit te breiden. Wanneer u een object uitbreidt met behulp van een typebestand, wordt elk exemplaar van het object uitgebreid met de nieuwe elementen.
Het object System.Array uitbreiden
In het volgende voorbeeld ziet u hoe Windows PowerShell het System.Array--object uitbreidt in het bestand Types.ps1xml.
System.Array--objecten hebben standaard een Length eigenschap waarin het aantal objecten in de matrix wordt vermeld. Omdat de naam 'lengte' echter niet duidelijk de eigenschap beschrijft, voegt Windows PowerShell de eigenschap Count alias toe, waarmee dezelfde waarde wordt weergegeven als de eigenschap Length. Met de volgende XML wordt de eigenschap Count toegevoegd aan het System.Array- type.
<Type>
<Name>System.Array</Name>
<Members>
<AliasProperty>
<Name>Count</Name>
<ReferencedMemberName>Length</ReferencedMemberName>
</AliasProperty>
</Members>
</Type>
Als u deze nieuwe aliaseigenschap wilt zien, gebruikt u een opdracht Get-Member- op een matrix, zoals wordt weergegeven in het volgende voorbeeld.
Get-Member -InputObject (1,2,3,4)
De opdracht retourneert de volgende resultaten.
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;}
U kunt de eigenschap Count of de eigenschap Length gebruiken om te bepalen hoeveel objecten zich in een matrix bevinden. Voorbeeld:
PS> (1, 2, 3, 4).Count
4
PS> (1, 2, 3, 4).Length
4
Bestanden met aangepaste typen
Als u een bestand met aangepaste typen wilt maken, kopieert u eerst een bestaand bestandstype. Het nieuwe bestand kan elke naam hebben, maar het moet een .ps1xml bestandsnaamextensie hebben. Wanneer u het bestand kopieert, kunt u het nieuwe bestand in een map plaatsen die toegankelijk is voor Windows PowerShell, maar het is handig om de bestanden in de windows PowerShell-installatiemap ($PSHOME) of in een submap van de installatiemap te plaatsen.
Als u uw eigen uitgebreide typen aan het bestand wilt toevoegen, voegt u een typeelement toe voor elk object dat u wilt uitbreiden. De volgende onderwerpen bevatten voorbeelden.
Zie voor meer informatie over het toevoegen van eigenschappen en eigenschappensets uitgebreide eigenschappen
Zie Uitgebreide methodenvoor meer informatie over het toevoegen van methoden.
Zie Uitgebreide ledensetsvoor meer informatie over het toevoegen van ledensets.
Nadat u uw eigen uitgebreide typen hebt gedefinieerd, gebruikt u een van de volgende methoden om uw uitgebreide objecten beschikbaar te maken:
- Als u het bestand met uitgebreide typen beschikbaar wilt maken voor de huidige sessie, gebruikt u de cmdlet Update-TypeData om het nieuwe bestand toe te voegen. Als u wilt dat uw typen voorrang hebben op de typen die zijn gedefinieerd in andere typen bestanden (inclusief het bestand Types.ps1xml), gebruikt u de parameter
PrependDatavan de cmdlet Update-TypeData. - Als u het bestand met uitgebreide typen beschikbaar wilt maken voor alle toekomstige sessies, voegt u het bestandstype toe aan een module, exporteert u de huidige sessie of voegt u de opdracht Update-TypeData toe aan uw Windows PowerShell-profiel.
Ondertekeningstypenbestanden
Typen bestanden moeten digitaal worden ondertekend om manipulatie te voorkomen omdat de XML scriptblokken kan bevatten. Zie about_Signing voor meer informatie over het toevoegen van digitale handtekeningen
Zie ook
Standaardeigenschappen voor objecten definiëren
Standaardmethoden voor objecten definiëren