Add-Type
Lägger till en Microsoft .NET-klass i en PowerShell-session.
Syntax
		FromSource (Standard)
	 
	Add-Type
    [-TypeDefinition] <String>
    [-CodeDomProvider <CodeDomProvider>]
    [-CompilerParameters <CompilerParameters>]
    [-Language <Language>]
    [-ReferencedAssemblies <String[]>]
    [-OutputAssembly <String>]
    [-OutputType <OutputAssemblyType>]
    [-PassThru]
    [-IgnoreWarnings]
    [<CommonParameters>]
	
		FromMember
	 
	Add-Type
    [-Name] <String>
    [-MemberDefinition] <String[]>
    [-CodeDomProvider <CodeDomProvider>]
    [-CompilerParameters <CompilerParameters>]
    [-Namespace <String>]
    [-UsingNamespace <String[]>]
    [-Language <Language>]
    [-ReferencedAssemblies <String[]>]
    [-OutputAssembly <String>]
    [-OutputType <OutputAssemblyType>]
    [-PassThru]
    [-IgnoreWarnings]
    [<CommonParameters>]
	
		FromPath
	 
	Add-Type
    [-Path] <String[]>
    [-CompilerParameters <CompilerParameters>]
    [-ReferencedAssemblies <String[]>]
    [-OutputAssembly <String>]
    [-OutputType <OutputAssemblyType>]
    [-PassThru]
    [-IgnoreWarnings]
    [<CommonParameters>]
	
		FromLiteralPath
	  
	Add-Type
    -LiteralPath <String[]>
    [-CompilerParameters <CompilerParameters>]
    [-ReferencedAssemblies <String[]>]
    [-OutputAssembly <String>]
    [-OutputType <OutputAssemblyType>]
    [-PassThru]
    [-IgnoreWarnings]
    [<CommonParameters>]
	
		FromAssemblyName
	  
	Add-Type
    -AssemblyName <String[]>
    [-PassThru]
    [-IgnoreWarnings]
    [<CommonParameters>]
	Description
Med cmdleten Add-Type kan du definiera en Microsoft .NET Framework-klass i powershell-sessionen.
Du kan sedan instansiera objekt med hjälp av cmdleten New-Object och använda objekten på samma sätt som med alla .NET Framework-objekt. Om du lägger till ett Add-Type kommando i powershell-profilen är klassen tillgänglig i alla PowerShell-sessioner.
Du kan ange typen genom att ange en befintlig sammansättning eller källkodsfiler, eller så kan du ange källkoden infogad eller sparad i en variabel. Du kan till och med bara ange en metod och Add-Type definierar och genererar klassen. I Windows kan du använda den här funktionen för att göra P/Invoke-anrop (Platform Invoke) till ohanterade funktioner i PowerShell. Om du anger källkod kompilerar Add-Type den angivna källkoden och genererar en minnesintern sammansättning som innehåller de nya .NET Framework-typerna.
Du kan använda parametrarna för Add-Type för att ange ett alternativt språk och kompilator, C# är standard, kompilatoralternativ, sammansättningsberoenden, klassnamnområdet, namnen på typen och den resulterande sammansättningen.
Exempel
Exempel 1: Lägg till en .NET-typ i en session
I det här exemplet läggs klassen BasicTest till i sessionen genom att ange källkod som lagras i en variabel. Klassen BasicTest används för att lägga till heltal, skapa ett objekt och multiplicera heltal.
$Source = @"
public class BasicTest
{
  public static int Add(int a, int b)
    {
        return (a + b);
    }
  public int Multiply(int a, int b)
    {
    return (a * b);
    }
}
"@
Add-Type -TypeDefinition $Source
[BasicTest]::Add(4, 3)
$BasicTestObject = New-Object BasicTest
$BasicTestObject.Multiply(5, 2)
Variabeln $Source lagrar källkoden för klassen. Typen har en statisk metod som heter Add och en icke-statisk metod som kallas Multiply.
Cmdleten Add-Type lägger till klassen i sessionen. Eftersom det använder infogad källkod använder kommandot parametern TypeDefinition för att ange koden i variabeln $Source.
Den Add statiska metoden för klassen BasicTest använder dubbelkolontecken (::) för att ange en statisk medlem i klassen. Heltalen läggs till och summan visas.
Cmdleten New-Object instanserar en instans av klassen BasicTest. Det sparar det nya objektet i variabeln $BasicTestObject.
              $BasicTestObject använder metoden Multiply. Heltalen multipliceras och produkten visas.
Exempel 2: Undersök en tillagd typ
I det här exemplet används cmdleten Get-Member för att undersöka de objekt som Add-Type och New-Object cmdletar som skapats i Exempel 1.
[BasicTest] | Get-Member
   TypeName: System.RuntimeType
Name                 MemberType Definition
----                 ---------- ----------
AsType               Method     type AsType()
Clone                Method     System.Object Clone(), System.Object ICloneable.Clone()
Equals               Method     bool Equals(System.Object obj), bool Equals(type o)
FindInterfaces       Method     type[] FindInterfaces(System.Reflection.TypeFilter filter...
...
[BasicTest] | Get-Member -Static
  TypeName: BasicTest
Name            MemberType Definition
----            ---------- ----------
Add             Method     static int Add(int a, int b)
Equals          Method     static bool Equals(System.Object objA, System.Object objB)
new             Method     BasicTest new()
ReferenceEquals Method     static bool ReferenceEquals(System.Object objA, System.Object objB)
$BasicTestObject | Get-Member
   TypeName: BasicTest
Name        MemberType Definition
----        ---------- ----------
Equals      Method     bool Equals(System.Object obj)
GetHashCode Method     int GetHashCode()
GetType     Method     type GetType()
Multiply    Method     int Multiply(int a, int b)
ToString    Method     string ToString()
Cmdleten Get-Member hämtar typen och medlemmarna i klassen BasicTest som Add-Type lagt till i sessionen. Kommandot Get-Member visar att det är ett System.RuntimeType--objekt som härleds från klassen System.Object.
Parametern Get-MemberStatic hämtar statiska egenskaper och metoder för klassen BasicTest. Utdata visar att metoden Add ingår.
Cmdleten Get-Member hämtar medlemmarna i objektet som lagras i variabeln $BasicTestObject.
              $BasicTestObject skapades med hjälp av cmdleten New-Object med klassen BasicTest. Utdata visar att värdet för variabeln $BasicTestObject är en instans av klassen BasicTest och att den innehåller en medlem som heter Multiply.
Exempel 3: Lägga till typer från en sammansättning
I det här exemplet läggs klasserna från Accessibility.dll sammansättning till den aktuella sessionen.
$AccType = Add-Type -AssemblyName "accessib*" -PassThru
Variabeln $AccType lagrar ett objekt som skapats med cmdleten Add-Type. 
              Add-Type använder parametern AssemblyName för att ange namnet på sammansättningen. Med jokertecknet asterisk (*) kan du få rätt sammansättning även om du inte är säker på namnet eller stavningen. Parametern PassThru genererar objekt som representerar de klasser som läggs till i sessionen.
Exempel 4: Anropa interna Windows-API:er
Det här exemplet visar hur du anropar interna Windows-API:er i PowerShell. 
              Add-Type använder mekanismen Platform Invoke (P/Invoke) för att anropa en funktion i User32.dll från PowerShell. Det här exemplet fungerar bara på datorer som kör Windows-operativsystemet.
$Signature = @"
[DllImport("user32.dll")]public static extern bool ShowWindowAsync(IntPtr hWnd, int nCmdShow);
"@
$addTypeSplat = @{
    MemberDefinition = $Signature
    Name = "Win32ShowWindowAsync"
    Namespace = 'Win32Functions'
    PassThru = $true
}
$ShowWindowAsync = Add-Type @addTypeSplat
# Minimize the PowerShell console
$ShowWindowAsync::ShowWindowAsync((Get-Process -Id $PID).MainWindowHandle, 2)
# Restore the PowerShell console
$ShowWindowAsync::ShowWindowAsync((Get-Process -Id $PID).MainWindowHandle, 4)
Variabeln $Signature lagrar C#-signaturen för funktionen ShowWindowAsync. För att säkerställa att den resulterande metoden visas i en PowerShell-session lades nyckelordet public till i standardsignaturen. Mer information finns i funktionen ShowWindowAsync.
Variabeln $ShowWindowAsync lagrar objektet som skapades av parametern Add-TypePassThru.
Cmdleten Add-Type lägger till funktionen ShowWindowAsync i PowerShell-sessionen som en statisk metod. Kommandot använder parametern MemberDefinition för att ange den metoddefinition som sparats i variabeln $Signature. Kommandot använder parametrarna Name och Namespace för att ange ett namn och namnområde för klassen. Parametern PassThru genererar ett objekt som representerar typerna.
Den nya ShowWindowAsync statiska metoden används i kommandona för att minimera och återställa PowerShell-konsolen. Metoden tar två parametrar: fönsterhandtaget och ett heltal som anger hur fönstret visas.
För att minimera PowerShell-konsolen använder ShowWindowAsync cmdleten Get-Process med den $PID automatiska variabeln för att hämta processen som är värd för den aktuella PowerShell-sessionen. Sedan används egenskapen MainWindowHandle för den aktuella processen och värdet 2, som representerar värdet SW_MINIMIZE.
För att återställa fönstret använder ShowWindowAsync värdet 4 för fönsterpositionen, som representerar SW_RESTORE-värdet.
Om du vill maximera fönstret använder du värdet för 3 som representerar SW_MAXIMIZE.
Exempel 5: Lägg till en typ från en Visual Basic-fil
I det här exemplet används cmdleten Add-Type för att lägga till klassen VBFromFile som definieras i Hello.vb-filen i den aktuella sessionen. Texten i Hello.vb-filen visas i kommandoutdata.
Add-Type -Path "C:\PS-Test\Hello.vb"
[VBFromFile]::SayHello(", World")
# From Hello.vb
Public Class VBFromFile
  Public Shared Function SayHello(sourceName As String) As String
    Dim myValue As String = "Hello"
    return myValue + sourceName
  End Function
End Class
Hello, World
              Add-Type använder parametern Path för att ange källfilen Hello.vboch lägger till den typ som definierats i filen. Funktionen SayHello anropas som en statisk metod för klassen VBFromFile.
Exempel 6: Lägg till en klass med JScript.NET 
	I det här exemplet används JScript.NET för att skapa en ny klass, FRectanglei PowerShell-sessionen.
Add-Type @'
 class FRectangle {
   var Length : double;
   var Height : double;
   function Perimeter() : double {
       return (Length + Height) * 2; }
   function Area() : double {
       return Length * Height;  } }
'@ -Language JScript
$rect = [FRectangle]::new()
$rect
Length Height
------ ------
     0      0
	Exempel 7: Lägg till en F#-kompilator
Det här exemplet visar hur du använder cmdleten Add-Type för att lägga till en F#-kodkompilerare i PowerShell-sessionen. Om du vill köra det här exemplet i PowerShell måste du ha den FSharp.Compiler.CodeDom.dll som är installerad med språket F#.
Add-Type -Path "FSharp.Compiler.CodeDom.dll"
$Provider = New-Object Microsoft.FSharp.Compiler.CodeDom.FSharpCodeProvider
$FSharpCode = @"
let rec loop n =if n <= 0 then () else beginprint_endline (string_of_int n);loop (n-1)end
"@
$FSharpType = Add-Type -TypeDefinition $FSharpCode -CodeDomProvider $Provider -PassThru |
   Where-Object { $_.IsPublic }
$FSharpType::loop(4)
4
3
2
1
              Add-Type använder parametern Path för att ange en sammansättning och hämtar typerna i sammansättningen.
              New-Object skapar en instans av F#-kodprovidern och sparar resultatet i variabeln $Provider. Variabeln $FSharpCode sparar F#-koden som definierar metoden Loop.
Variabeln $FSharpType lagrar resultatet av cmdleten Add-Type som sparar de offentliga typer som definierats i $FSharpCode. Parametern TypeDefinition anger källkoden som definierar typerna. Parametern CodeDomProvider anger källkodskompilatorn. Parametern PassThru dirigerar Add-Type att returnera ett Runtime--objekt som representerar typerna.
Objekten skickas ned i pipelinen till cmdleten Where-Object, som endast returnerar de offentliga typerna. Cmdleten Where-Object används eftersom F#-providern genererar icke-offentliga typer för att stödja den resulterande offentliga typen.
Metoden Loop anropas som en statisk metod av den typ som lagras i variabeln $FSharpType.
Parametrar
-AssemblyName 
		Anger namnet på en sammansättning som innehåller typerna. 
              Add-Type tar typerna från den angivna sammansättningen. Den här parametern krävs när du skapar typer baserat på ett sammansättningsnamn.
Ange det fullständiga eller enkla namnet, även kallat partiellt namn, för en sammansättning. Jokertecken tillåts i sammansättningsnamnet. Om du anger ett enkelt eller partiellt namn, Add-Type löser det till det fullständiga namnet och använder sedan det fullständiga namnet för att läsa in sammansättningen.
Med parametrarna Path eller LiteralPath ser du till att du läser in den sammansättning som du avsåg att läsa in. När du använder parametern AssemblyName ber PowerShell .NET att matcha sammansättningsnamnet med standardlösningsprocessen för .NET-sammansättning. Eftersom .NET söker i programmappen först kan Add-Type läsa in en sammansättning från $PSHOME i stället för versionen i den aktuella mappen. Mer information finns i Sammansättningsplats.
Om .NET inte kan matcha namnet letar PowerShell efter sammansättningen på den aktuella platsen. När du använder jokertecken i parametern AssemblyName misslyckas .NET-sammansättningsmatchningsprocessen, vilket gör att PowerShell söker på den aktuella platsen.
Parameteregenskaper
| Typ: | String[]  | 
| Standardvärde: | None | 
| Stöder jokertecken: | True | 
| DontShow: | False | 
| Alias: | EN | 
Parameteruppsättningar
					FromAssemblyName 
					
				  
				| Position: | Named | 
| Obligatorisk: | True | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | False | 
-CodeDomProvider  
		Anger en kodgenerator eller kompilator. 
              Add-Type använder den angivna kompilatorn för att kompilera källkoden. Standardvärdet är C#-kompilatorn. Använd den här parametern om du använder ett språk som inte kan anges med parametern Language. Den CodeDomProvider som du anger måste kunna generera sammansättningar från källkoden.
Parameteregenskaper
| Typ: | CodeDomProvider | 
| Standardvärde: | C# compiler | 
| Stöder jokertecken: | False | 
| DontShow: | False | 
| Alias: | Leverantör | 
Parameteruppsättningar
					FromSource 
					
				 
				| Position: | Named | 
| Obligatorisk: | False | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | False | 
					FromMember 
					
				 
				| Position: | Named | 
| Obligatorisk: | False | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | False | 
-CompilerParameters 
		Anger alternativen för källkodskompilatorn. Dessa alternativ skickas till kompilatorn utan revision.
Med den här parametern kan du dirigera kompilatorn att generera en körbar fil, bädda in resurser eller ange kommandoradsalternativ, till exempel alternativet /unsafe. Den här parametern implementerar CompilerParameters-klassen System.CodeDom.Compiler.CompilerParameters.
Du kan inte använda parametrarna CompilerParameters och ReferencedAssemblies i samma kommando.
Parameteregenskaper
| Typ: | CompilerParameters | 
| Standardvärde: | None | 
| Stöder jokertecken: | False | 
| DontShow: | False | 
| Alias: | CP | 
Parameteruppsättningar
					FromSource 
					
				 
				| Position: | Named | 
| Obligatorisk: | False | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | False | 
					FromMember 
					
				 
				| Position: | Named | 
| Obligatorisk: | False | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | False | 
					FromPath 
					
				 
				| Position: | Named | 
| Obligatorisk: | False | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | False | 
					FromLiteralPath 
					
				  
				| Position: | Named | 
| Obligatorisk: | False | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | False | 
-IgnoreWarnings 
		Ignorerar kompilatorvarningar. Använd den här parametern för att förhindra att Add-Type hanterar kompilatorvarningar som fel.
Parameteregenskaper
| Typ: | SwitchParameter | 
| Standardvärde: | False | 
| Stöder jokertecken: | False | 
| DontShow: | False | 
Parameteruppsättningar
(All)
| Position: | Named | 
| Obligatorisk: | False | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | False | 
-Language
Anger det språk som används i källkoden. Cmdleten Add-Type använder värdet för den här parametern för att välja lämplig CodeDomProvider. CSharp är standardvärdet. Godkända värden för den här parametern är följande:
CSharpCSharpVersion2CSharpVersion3JScriptVisualBasic
Parameteregenskaper
| Typ: | Language | 
| Standardvärde: | CSharp | 
| Godkända värden: | CSharp, CSharpVersion2, CSharpVersion3, JScript, VisualBasic | 
| Stöder jokertecken: | False | 
| DontShow: | False | 
Parameteruppsättningar
					FromSource 
					
				 
				| Position: | Named | 
| Obligatorisk: | False | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | False | 
					FromMember 
					
				 
				| Position: | Named | 
| Obligatorisk: | False | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | False | 
-LiteralPath 
		Anger sökvägen till källkodsfiler eller sammansättnings-DLL-filer som innehåller typerna. Till skillnad från Pathanvänds värdet för parametern LiteralPath exakt som den skrivs. Inga tecken tolkas som wildcards. Om sökvägen innehåller escape-tecken omger du den med enkla citattecken. Enkla citattecken gör att PowerShell inte tolkar några tecken som escape-sekvenser.
Med parametrarna Path eller LiteralPath ser du till att du läser in den sammansättning som du avsåg att läsa in.
Parameteregenskaper
| Typ: | String[]  | 
| Standardvärde: | None | 
| Stöder jokertecken: | False | 
| DontShow: | False | 
| Alias: | PSPath | 
Parameteruppsättningar
					FromLiteralPath 
					
				  
				| Position: | Named | 
| Obligatorisk: | True | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | False | 
-MemberDefinition 
		Anger nya egenskaper eller metoder för klassen. 
              Add-Type genererar den mallkod som krävs för att stödja egenskaperna eller metoderna.
I Windows kan du använda den här funktionen för att göra P/Invoke-anrop (Platform Invoke) till ohanterade funktioner i PowerShell.
Parameteregenskaper
| Typ: | String[]  | 
| Standardvärde: | None | 
| Stöder jokertecken: | False | 
| DontShow: | False | 
Parameteruppsättningar
					FromMember 
					
				 
				| Position: | 1 | 
| Obligatorisk: | True | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | False | 
-Name
Anger namnet på den klass som ska skapas. Den här parametern krävs när du genererar en typ från en medlemsdefinition.
Typnamnet och namnområdet måste vara unika i en session. Du kan inte ta bort en typ eller ändra den. Om du vill ändra koden för en typ måste du ändra namnet eller starta en ny PowerShell-session. Annars misslyckas kommandot.
Parameteregenskaper
| Typ: | String | 
| Standardvärde: | None | 
| Stöder jokertecken: | False | 
| DontShow: | False | 
Parameteruppsättningar
					FromMember 
					
				 
				| Position: | 0 | 
| Obligatorisk: | True | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | False | 
-Namespace
Som standard skapar det här kommandot typen i Microsoft.PowerShell.Commands.AddType.AutoGeneratedTypes namnrymd. När du använder den här parametern skapas typen i det angivna namnområdet. Om värdet är en tom sträng skapas typen i det globala namnområdet.
Parameteregenskaper
| Typ: | String | 
| Standardvärde: | None | 
| Stöder jokertecken: | False | 
| DontShow: | False | 
| Alias: | NS | 
Parameteruppsättningar
					FromMember 
					
				 
				| Position: | Named | 
| Obligatorisk: | False | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | False | 
-OutputAssembly 
		Genererar en DLL-fil för sammansättningen med det angivna namnet på platsen. Ange en valfri sökväg och filnamn. Jokertecken tillåts. Som standard genererar Add-Type endast sammansättningen i minnet. Om du matar ut sammansättningen till en fil bör du inkludera parametern PassThru för att returnera typen från den nyligen skapade sammansättningen.
Parameteregenskaper
| Typ: | String | 
| Standardvärde: | None | 
| Stöder jokertecken: | True | 
| DontShow: | False | 
| Alias: | OA | 
Parameteruppsättningar
					FromSource 
					
				 
				| Position: | Named | 
| Obligatorisk: | False | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | False | 
					FromMember 
					
				 
				| Position: | Named | 
| Obligatorisk: | False | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | False | 
					FromPath 
					
				 
				| Position: | Named | 
| Obligatorisk: | False | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | False | 
					FromLiteralPath 
					
				  
				| Position: | Named | 
| Obligatorisk: | False | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | False | 
-OutputType 
		Anger utdatatypen för utdatasammansättningen. Som standard anges ingen utdatatyp. Den här parametern är endast giltig när en utdatasammansättning anges i kommandot . Mer information om värdena finns i OutputAssemblyType Enumeration.
Godkända värden för den här parametern är följande:
ConsoleApplicationLibraryWindowsApplication
Parameteregenskaper
| Typ: | OutputAssemblyType | 
| Standardvärde: | None | 
| Godkända värden: | ConsoleApplication, Library, WindowsApplication | 
| Stöder jokertecken: | False | 
| DontShow: | False | 
| Alias: | OT | 
Parameteruppsättningar
					FromSource 
					
				 
				| Position: | Named | 
| Obligatorisk: | False | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | False | 
					FromMember 
					
				 
				| Position: | Named | 
| Obligatorisk: | False | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | False | 
					FromPath 
					
				 
				| Position: | Named | 
| Obligatorisk: | False | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | False | 
					FromLiteralPath 
					
				  
				| Position: | Named | 
| Obligatorisk: | False | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | False | 
-PassThru 
		Returnerar ett System.Runtime- objekt som representerar de typer som har lagts till. Som standard genererar den här cmdleten inga utdata. Använd den här parametern om du använde OutputAssembly för att skapa en DLL-fil och du vill returnera typen från den nyligen skapade sammansättningen.
Parameteregenskaper
| Typ: | SwitchParameter | 
| Standardvärde: | False | 
| Stöder jokertecken: | False | 
| DontShow: | False | 
Parameteruppsättningar
(All)
| Position: | Named | 
| Obligatorisk: | False | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | False | 
-Path
Anger sökvägen till källkodsfiler eller sammansättnings-DLL-filer som innehåller typerna.
Om du skickar källkodsfiler kompilerar Add-Type koden i filerna och skapar en minnesintern sammansättning av typerna. Filtillägget som anges i värdet för Path avgör vilken kompilator som Add-Type använder.
Om du skickar en sammansättningsfil tar Add-Type typerna från sammansättningen. Om du vill ange en minnesintern sammansättning eller den globala sammansättningscachen använder du parametern AssemblyName.
Parameteregenskaper
| Typ: | String[]  | 
| Standardvärde: | None | 
| Stöder jokertecken: | False | 
| DontShow: | False | 
Parameteruppsättningar
					FromPath 
					
				 
				| Position: | 0 | 
| Obligatorisk: | True | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | False | 
-ReferencedAssemblies 
		Anger de sammansättningar som typen är beroende av. Som standard refererar Add-Type till System.dll och System.Management.Automation.dll. De sammansättningar som du anger med hjälp av den här parametern refereras utöver standardsammansättningarna.
Du kan inte använda parametrarna CompilerParameters och ReferencedAssemblies i samma kommando.
Parameteregenskaper
| Typ: | String[]  | 
| Standardvärde: | None | 
| Stöder jokertecken: | False | 
| DontShow: | False | 
| Alias: | RA | 
Parameteruppsättningar
					FromSource 
					
				 
				| Position: | Named | 
| Obligatorisk: | False | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | False | 
					FromMember 
					
				 
				| Position: | Named | 
| Obligatorisk: | False | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | False | 
					FromPath 
					
				 
				| Position: | Named | 
| Obligatorisk: | False | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | False | 
					FromLiteralPath 
					
				  
				| Position: | Named | 
| Obligatorisk: | False | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | False | 
-TypeDefinition 
		Anger källkoden som innehåller typdefinitionerna. Ange källkoden i en sträng eller här-sträng, eller ange en variabel som innehåller källkoden. Mer information om här-strängar finns i about_Quoting_Rules.
Inkludera en namnområdesdeklaration i din typdefinition. Om du utelämnar namnområdesdeklarationen kan din typ ha samma namn som en annan typ eller genvägen för en annan typ, vilket orsakar en oavsiktlig överskrivning. Om du till exempel definierar en typ med namnet Exceptionmisslyckas skript som använder Exception som genväg för System.Exception.
Parameteregenskaper
| Typ: | String | 
| Standardvärde: | None | 
| Stöder jokertecken: | False | 
| DontShow: | False | 
Parameteruppsättningar
					FromSource 
					
				 
				| Position: | 0 | 
| Obligatorisk: | True | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | False | 
-UsingNamespace 
		Anger andra namnområden som krävs för klassen. Det här liknar nyckelordet C# Using.
Som standard refererar Add-Type till namnområdet System. När parametern MemberDefinition används refererar Add-Type även till System.Runtime.InteropServices namnområde som standard. De namnområden som du lägger till med hjälp av parametern UsingNamespace refereras utöver standardnamnrymderna.
Parameteregenskaper
| Typ: | String[]  | 
| Standardvärde: | System namespace | 
| Stöder jokertecken: | False | 
| DontShow: | False | 
| Alias: | Använda | 
Parameteruppsättningar
					FromMember 
					
				 
				| Position: | Named | 
| Obligatorisk: | False | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | False | 
CommonParameters
Den här cmdleten stöder vanliga parametrar: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction och -WarningVariable. Mer information finns i about_CommonParameters.
Indata
None
Du kan inte skicka objekt till den här cmdleten.
Utdata
None
Som standard returnerar den här cmdleten inga utdata.
Type
När du använder parametern PassThru returnerar den här cmdleten ett System.Type-objekt som representerar den nya typen.
Kommentarer
De typer som du lägger till finns bara i den aktuella sessionen. Om du vill använda typerna i alla sessioner lägger du till dem i din PowerShell-profil. Mer information om profilen finns i about_Profiles.
Typnamn och namnområden måste vara unika i en session. Du kan inte ta bort en typ eller ändra den. Om du behöver ändra koden för en typ måste du ändra namnet eller starta en ny PowerShell-session. Annars misslyckas kommandot.
Klassen CodeDomProvider för vissa språk, till exempel IronPython och J#, genererar inte utdata. Därför kan typer som skrivs på dessa språk inte användas med Add-Type.
Den här cmdleten baseras på Microsoft .NET Framework CodeDomProvider Class.