Megosztás a következőn keresztül:


Add-Type

Hozzáad egy Microsoft .NET-osztályt egy PowerShell-munkamenethez.

Syntax

FromSource (Alapértelmezett)

Add-Type
    [-TypeDefinition] <String>
    [-Language <Language>]
    [-ReferencedAssemblies <String[]>]
    [-OutputAssembly <String>]
    [-OutputType <OutputAssemblyType>]
    [-PassThru]
    [-IgnoreWarnings]
    [-CompilerOptions <String[]>]
    [<CommonParameters>]

FromMember

Add-Type
    [-Name] <String>
    [-MemberDefinition] <String[]>
    [-Namespace <String>]
    [-UsingNamespace <String[]>]
    [-Language <Language>]
    [-ReferencedAssemblies <String[]>]
    [-OutputAssembly <String>]
    [-OutputType <OutputAssemblyType>]
    [-PassThru]
    [-IgnoreWarnings]
    [-CompilerOptions <String[]>]
    [<CommonParameters>]

FromPath

Add-Type
    [-Path] <String[]>
    [-ReferencedAssemblies <String[]>]
    [-OutputAssembly <String>]
    [-OutputType <OutputAssemblyType>]
    [-PassThru]
    [-IgnoreWarnings]
    [-CompilerOptions <String[]>]
    [<CommonParameters>]

FromLiteralPath

Add-Type
    -LiteralPath <String[]>
    [-ReferencedAssemblies <String[]>]
    [-OutputAssembly <String>]
    [-OutputType <OutputAssemblyType>]
    [-PassThru]
    [-IgnoreWarnings]
    [-CompilerOptions <String[]>]
    [<CommonParameters>]

FromAssemblyName

Add-Type
    -AssemblyName <String[]>
    [-PassThru]
    [<CommonParameters>]

Description

A Add-Type parancsmaggal Microsoft .NET Core-osztályt definiálhat a PowerShell-munkamenetben. Ezután a New-Object parancsmaggal példányosíthatja az objektumokat, és ugyanúgy használhatja az objektumokat, mint bármely .NET Core-objektumot. Ha Add-Type parancsot ad hozzá a PowerShell-profiljához, az osztály minden PowerShell-munkamenetben elérhető.

A típust megadhatja egy meglévő szerelvény- vagy forráskódfájl megadásával, vagy a forráskód beágyazott vagy változóban mentett megadásával. Akár csak egy metódust is megadhat, és Add-Type definiálja és létrehozza az osztályt. Windows rendszeren ezzel a funkcióval platformhívási (P/Invoke) hívásokat kezdeményezhet nem felügyelt függvények felé a PowerShellben. Ha forráskódot ad meg, Add-Type lefordítja a megadott forráskódot, és létrehoz egy memórián belüli szerelvényt, amely tartalmazza az új .NET Core-típusokat.

A Add-Type paramétereivel alternatív nyelvet és fordítót adhat meg, a C# az alapértelmezett, fordítóbeállítások, szerelvényfüggőségek, az osztálynévtér, a típus neve és az eredményként kapott szerelvény.

A PowerShell 7-től kezdődően Add-Type nem állít össze típust, ha már létezik ilyen nevű típus. Emellett Add-Type a reftartalmazó mappa alatti pwsh.dll mappában keres szerelvényeket.

Példák

1. példa: .NET-típus hozzáadása munkamenethez

Ez a példa hozzáadja a BasicTest osztályt a munkamenethez egy változóban tárolt forráskód megadásával. A BasicTest osztály egész számokat ad hozzá, objektumot hoz létre, és egész számokat szoroz.

$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)

A $Source változó tárolja az osztály forráskódját. A típus egy Add nevű statikus metódussal és egy Multiplynevű nem statikus metódussal rendelkezik.

A Add-Type parancsmag hozzáadja az osztályt a munkamenethez. Mivel beágyazott forráskódot használ, a parancs a TypeDefinition paraméterrel adja meg a kódot a $Source változóban.

Az Add osztály statikus metódusa a kettőspont karaktereket (::) használja az osztály statikus tagjának megadásához. A rendszer hozzáadja az egész számokat, és megjelenik az összeg.

A New-Object parancsmag a BasicTest osztály egy példányát példányosítja. Menti az új objektumot a $BasicTestObject változóba.

$BasicTestObject a Multiply metódust használja. Az egész számok meg vannak szorozva, és megjelenik a termék.

2. példa: Hozzáadott típus vizsgálata

Ez a példa a Get-Member parancsmaggal vizsgálja meg az Add-Type és New-Object1. példa.

[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()

A Get-Member parancsmag lekéri a munkamenethez Add-Type osztály típusát és tagjait. A Get-Member parancs felfedi, hogy ez egy System.RuntimeType objektum, amely a System.Object osztályból származik.

A Get-MemberStatikus paraméter lekéri a BasicTest osztály statikus tulajdonságait és metódusait. A kimenet azt mutatja, hogy a Add metódus szerepel a fájlban.

A Get-Member parancsmag lekéri a $BasicTestObject változóban tárolt objektum tagjait. $BasicTestObject a New-Object parancsmag és a BasicTest osztály használatával hozták létre. A kimenetből kiderül, hogy a $BasicTestObject változó értéke a BasicTest osztály egy példánya, és egy Multiplynevű tagot tartalmaz.

3. példa: Típusok hozzáadása szerelvényből

Ez a példa hozzáadja a JsonSchema.NET.dll szerelvény osztályait az aktuális munkamenethez.

Set-Location -Path $PSHOME
$AccType = Add-Type -AssemblyName *jsonschema* -PassThru

Set-Location a változó megadásához a $PSHOME paramétert használja. A változó arra a PowerShell telepítési könyvtárra hivatkozik, amelyben a DLL-fájl található.

A $AccType változó a Add-Type parancsmaggal létrehozott objektumot tárolja. Add-Type a AssemblyName paraméter használatával adja meg a szerelvény nevét. A csillag (*) helyettesítő karakterrel akkor is megkaphatja a megfelelő szerelvényt, ha nem biztos a névben vagy a helyesírásban. A PassThru paraméter olyan objektumokat hoz létre, amelyek a munkamenethez hozzáadott osztályokat képviselik.

4. példa: Natív Windows API-k meghívása

Ez a példa bemutatja, hogyan hívhat meg natív Windows API-kat a PowerShellben. Add-Type a platformhívási (P/Invoke) mechanizmussal meghív egy függvényt User32.dll a PowerShellből. Ez a példa csak a Windows operációs rendszert futtató számítógépeken működik.

$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)

A $Signature változó tárolja a ShowWindowAsync függvény C#-aláírását. Annak érdekében, hogy az eredményként kapott metódus látható legyen egy PowerShell-munkamenetben, a public kulcsszó hozzá lett adva a standard aláíráshoz. További információ: ShowWindowAsync függvény.

A $ShowWindowAsync változó tárolja a Add-TypePassThru paraméter által létrehozott objektumot. A Add-Type parancsmag statikus metódusként hozzáadja a ShowWindowAsync függvényt a PowerShell-munkamenethez. A parancs a MemberDefinition paraméter használatával adja meg a $Signature változóban mentett metódusdefiníciót. A parancs a Név és Névtér paraméterekkel adja meg az osztály nevét és névterét. A PassThru paraméter létrehoz egy objektumot, amely a típusokat jelöli.

A parancsok az új ShowWindowAsync statikus metódust használják a PowerShell-konzol minimalizálásához és visszaállításához. A metódus két paramétert használ: az ablakfogópontot és egy egész számot, amely meghatározza az ablak megjelenítésének módját.

A PowerShell-konzol minimalizálása érdekében ShowWindowAsync a Get-Process parancsmagot használja az $PID automatikus változóval az aktuális PowerShell-munkamenetet futtató folyamat lekéréséhez. Ezután az aktuális folyamat MainWindowHandle tulajdonságát és egy 2értéket használ, amely a SW_MINIMIZE értéket jelöli.

Az ablak visszaállításához ShowWindowAsync4 értéket használ az ablak pozíciójához, amely a SW_RESTORE értéket jelöli.

Az ablak maximalizálásához használja a 3képviselő SW_MAXIMIZE értékét.

Paraméterek

-AssemblyName

Megadja a típusokat tartalmazó szerelvény nevét. Add-Type a megadott szerelvényből veszi át a típusokat. Ez a paraméter akkor szükséges, ha szerelvénynév alapján hoz létre típusokat.

Adja meg egy szerelvény teljes vagy egyszerű nevét, más néven részleges nevét. A szerelvény nevében helyettesítő karakterek használhatók. Ha egyszerű vagy részleges nevet ad meg, Add-Type feloldja a teljes névre, majd a teljes név használatával betölti a szerelvényt.

A Path vagy LiteralPath paraméterekkel garantálható, hogy betölti a betölteni kívánt szerelvényt. Amikor a AssemblyName paramétert használja, a PowerShell felkéri a .NET-et, hogy oldja fel a szerelvény nevét a szabványos .NET-szerelvényfeloldási folyamattal. Mivel a .NET először az alkalmazásmappában keres, Add-Type betölthet egy szerelvényt $PSHOME helyett az aktuális mappában lévő verzióból. További információ: szerelvény helye.

Ha a .NET nem tudja feloldani a nevet, a PowerShell az aktuális helyen keresi meg a szerelvényt. Ha helyettesítő karaktereket használ a AssemblyName paraméterben, a .NET szerelvényfeloldási folyamata meghiúsul, ezért a PowerShell az aktuális helyen keres.

Paramétertulajdonságok

Típus:

String[]

Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:True
DontShow:False
Aliasok:EGY

Paraméterkészletek

FromAssemblyName
Position:Named
Kötelező:True
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-CompilerOptions

Megadja a forráskódfordító beállításait. Ezeket a beállításokat a rendszer korrektúra nélkül továbbítja a fordítónak.

Ez a paraméter lehetővé teszi, hogy a fordítót végrehajtható fájl létrehozására, erőforrások beágyazására vagy parancssori beállítások, például a /unsafe beállítás beállítására irányítsa.

Paramétertulajdonságok

Típus:

String[]

Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

FromSource
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
FromMember
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
FromPath
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
FromLiteralPath
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-IgnoreWarnings

Figyelmen kívül hagyja a fordító figyelmeztetéseit. Ezzel a paramétersel megakadályozhatja, hogy Add-Type hibaként kezelje a fordítói figyelmeztetéseket.

Paramétertulajdonságok

Típus:SwitchParameter
Alapértelmezett érték:False
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

FromSource
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
FromMember
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
FromPath
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
FromLiteralPath
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-Language

Megadja a forráskódban használt nyelvet. A paraméter elfogadható értéke CSharp.

Paramétertulajdonságok

Típus:Language
Alapértelmezett érték:CSharp
Elfogadott értékek:CSharp
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

FromSource
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
FromMember
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-LiteralPath

Megadja a típusokat tartalmazó forráskódfájlok vagy szerelvény DLL-fájlok elérési útját. A Path-tal ellentétben a LiteralPath paraméter értéke pontosan a beírt módon lesz használva. A rendszer egyetlen karaktert sem értelmez helyettesítő karakterként. Ha az elérési útvonal escape karaktereket tartalmaz, tedd azt egyes idézőjelek közé. Az egyes idézőjelek azt mondják a PowerShellnek, hogy egyetlen karaktert se értelmezzen escape szekvenciaként.

A Path vagy LiteralPath paraméterekkel garantálható, hogy betölti a betölteni kívánt szerelvényt.

Paramétertulajdonságok

Típus:

String[]

Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:False
DontShow:False
Aliasok:PSPath, LP

Paraméterkészletek

FromLiteralPath
Position:Named
Kötelező:True
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-MemberDefinition

Új tulajdonságokat vagy metódusokat ad meg az osztályhoz. Add-Type létrehozza a tulajdonságok vagy metódusok támogatásához szükséges sablonkódot.

Windows rendszeren ezzel a funkcióval platformhívási (P/Invoke) hívásokat kezdeményezhet nem felügyelt függvények felé a PowerShellben.

Paramétertulajdonságok

Típus:

String[]

Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

FromMember
Position:1
Kötelező:True
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-Name

Megadja a létrehozandó osztály nevét. Erre a paraméterre akkor van szükség, ha egy tagdefinícióból hoz létre típust.

A típusnévnek és a névtérnek egyedinek kell lennie egy munkameneten belül. Nem távolíthat el egy típust, és nem módosíthatja azt. Egy típus kódjának módosításához módosítania kell a nevet, vagy el kell indítania egy új PowerShell-munkamenetet. Ellenkező esetben a parancs meghiúsul.

Paramétertulajdonságok

Típus:String
Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

FromMember
Position:0
Kötelező:True
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-Namespace

Ez a parancs alapértelmezés szerint létrehozza a típust a Microsoft.PowerShell.Commands.AddType.AutoGeneratedTypes névtérben. A paraméter használatakor a típus a megadott névtérben jön létre. Ha az érték üres sztring, a típus a globális névtérben jön létre.

Paramétertulajdonságok

Típus:String
Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:False
DontShow:False
Aliasok:NS

Paraméterkészletek

FromMember
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-OutputAssembly

Létrehoz egy DLL-fájlt a szerelvényhez a megadott névvel a helyen. Adjon meg egy választható elérési utat és fájlnevet. A helyettesítő karakterek használata engedélyezett. Alapértelmezés szerint Add-Type csak a memóriában hozza létre a szerelvényt. Ha egy fájlba adja ki a szerelvényt, a PassThru paramétert kell tartalmaznia, hogy visszaadja a típust az újonnan létrehozott szerelvényből.

Paramétertulajdonságok

Típus:String
Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:True
DontShow:False
Aliasok:OA

Paraméterkészletek

FromSource
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
FromMember
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
FromPath
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
FromLiteralPath
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-OutputType

A kimeneti szerelvény kimeneti típusát adja meg. Alapértelmezés szerint nincs megadva kimeneti típus. Ez a paraméter csak akkor érvényes, ha egy kimeneti szerelvény van megadva a parancsban. További információ az értékekről: OutputAssemblyType Enumeration.

A paraméter elfogadható értékei a következők:

  • ConsoleApplication
  • Library
  • WindowsApplication

Fontos

A PowerShell 7.1-ben a ConsoleApplication és a WindowsApplication nem támogatottak, és a PowerShell leállítási hibát jelez, ha az OutputType paraméter értékeként van megadva.

Paramétertulajdonságok

Típus:OutputAssemblyType
Alapértelmezett érték:None
Elfogadott értékek:ConsoleApplication, Library, WindowsApplication
Támogatja a helyettesítő karaktereket:False
DontShow:False
Aliasok:OT

Paraméterkészletek

FromSource
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
FromMember
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
FromPath
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
FromLiteralPath
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-PassThru

Egy System.Runtime objektumot ad vissza, amely a hozzáadott típusokat jelöli. Ez a parancsmag alapértelmezés szerint nem hoz létre kimenetet. Ezt a paramétert akkor használja, ha OutputAssembly használt DLL-fájl létrehozásához, és vissza szeretné adni a típust az újonnan létrehozott szerelvényből.

Paramétertulajdonságok

Típus:SwitchParameter
Alapértelmezett érték:False
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

(All)
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-Path

Megadja a típusokat tartalmazó forráskódfájlok vagy szerelvény DLL-fájlok elérési útját.

Ha forráskódfájlokat küld be, Add-Type lefordítja a kódot a fájlokban, és létrehozza a típusok memóriabeli szerelvényét. A Elérési út értékében megadott fájlkiterjesztés határozza meg a Add-Type által használt fordítót.

A Path vagy LiteralPath paraméterekkel garantálható, hogy betölti a betölteni kívánt szerelvényt.

Paramétertulajdonságok

Típus:

String[]

Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

FromPath
Position:0
Kötelező:True
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-ReferencedAssemblies

Meghatározza azokat a szerelvényeket, amelyektől a típus függ. Alapértelmezés szerint Add-TypeSystem.dll és System.Management.Automation.dllhivatkozik. A PowerShell 6-tól kezdődően ReferencedAssemblies nem tartalmazzák az alapértelmezett .NET-szerelvényeket. A paraméternek átadott értékben egy konkrét hivatkozást kell megadnia rájuk.

Paramétertulajdonságok

Típus:

String[]

Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:False
DontShow:False
Aliasok:Újrakonfigurálási ügynök

Paraméterkészletek

FromSource
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
FromMember
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
FromPath
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
FromLiteralPath
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-TypeDefinition

Megadja a típusdefiníciókat tartalmazó forráskódot. Adja meg a forráskódot egy sztringben vagy egy itt szereplő sztringben, vagy adjon meg egy változót, amely tartalmazza a forráskódot. További információ a here-stringekről: lásd about_Quoting_Rules.

Adjon meg névtérdeklarációt a típusdefinícióban. Ha kihagyja a névtér deklarációját, előfordulhat, hogy a típus neve megegyezik egy másik típuséval, vagy egy másik típus parancsikonja, ami nem szándékos felülírást okoz. Ha például Kivételnevű típust határoz meg, az System.Exception parancsikonjaként Kivétel parancsikont használó szkriptek sikertelenek lesznek.

Paramétertulajdonságok

Típus:String
Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

FromSource
Position:0
Kötelező:True
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-UsingNamespace

Az osztályhoz szükséges egyéb névtereket adja meg. Ez hasonlít a C# kulcsszóhoz, Using.

Alapértelmezés szerint Add-Type a Rendszer névtérre hivatkozik. A MemberDefinition paraméter használatakor a Add-Type alapértelmezés szerint a System.Runtime.InteropServices névtérre is hivatkozik. Az alapértelmezett névterek mellett a UsingNamespace paraméterrel hozzáadott névterekre is hivatkozunk.

Paramétertulajdonságok

Típus:

String[]

Alapértelmezett érték:System namespace
Támogatja a helyettesítő karaktereket:False
DontShow:False
Aliasok:Használat

Paraméterkészletek

FromMember
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

CommonParameters

Ez a parancsmag a következő gyakori paramétereket támogatja: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction és -WarningVariable. További információért lásd about_CommonParameters.

Bevitelek

None

Ehhez a parancsmaghoz nem lehet objektumokat csövezni.

Kimenetek

None

Ez a parancsmag alapértelmezés szerint nem ad vissza kimenetet.

Type

A PassThru paraméter használatakor ez a parancsmag egy System.Type objektumot ad vissza, amely az új típust jelöli.

Jegyzetek

A hozzáadott típusok csak az aktuális munkamenetben léteznek. Ha minden munkamenetben használni szeretné a típusokat, vegye fel őket a PowerShell-profiljába. A profillal kapcsolatos további információkért lásd: about_Profiles.

A típusneveknek és névtereknek egyedinek kell lenniük egy munkameneten belül. Nem távolíthat el egy típust, és nem módosíthatja azt. Ha módosítania kell egy típus kódját, módosítania kell a nevet, vagy új PowerShell-munkamenetet kell indítania. Ellenkező esetben a parancs meghiúsul.

A Windows PowerShellben (5.1-es vagy újabb verzió) minden olyan Add-Type kell használnia, amely még nincs betöltve. Ez leggyakrabban a globális szerelvény-gyorsítótárban (GAC) található szerelvényekre vonatkozik. A PowerShell 6-os és újabb verzióiban nincs GAC, így a PowerShell saját szerelvényeket telepít $PSHOME. Ezeket a szerelvényeket a rendszer kérésre automatikusan betölti, így nincs szükség Add-Type a betöltésükre. A Add-Type használata azonban továbbra is lehetővé teszi, hogy a szkriptek implicit módon kompatibilisek legyenek a PowerShell bármely verziójával.

A GAC-beli szerelvények típusnév alapján tölthetők be, nem elérési út alapján. A szerelvények tetszőleges útvonalról való betöltése megköveteli Add-Type, mivel ezek a szerelvények nem tölthetők be automatikusan.