Add-Type
PowerShell oturumuna Bir Microsoft .NET sınıfı ekler.
Sözdizimi
FromSource EnterprisePublishing
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
Add-Type cmdlet'i, PowerShell oturumunuzda bir Microsoft .NET Core sınıfı tanımlamanıza olanak tanır. Ardından, New-Object cmdlet'ini kullanarak nesnelerin örneğini oluşturabilir ve nesneleri herhangi bir .NET Core nesnesi gibi kullanabilirsiniz. PowerShell profilinize bir Add-Type komutu eklerseniz, sınıfı tüm PowerShell oturumlarında kullanılabilir.
Var olan bir derleme veya kaynak kod dosyası belirterek türü belirtebilir veya kaynak kodu satır içinde veya bir değişkene kaydedilmiş olarak belirtebilirsiniz. Hatta yalnızca bir yöntem belirtebilirsiniz ve Add-Type sınıfını tanımlar ve oluşturur. Windows'da, PowerShell'de yönetilmeyen işlevlere Platform Çağırma (P/Invoke) çağrıları yapmak için bu özelliği kullanabilirsiniz. Kaynak kodu belirtirseniz, Add-Type belirtilen kaynak kodunu derler ve yeni .NET Core türlerini içeren bir bellek içi derleme oluşturur.
Alternatif bir dil ve derleyici belirtmek için Add-Type parametrelerini kullanabilirsiniz; C# varsayılandır, derleyici seçenekleri, derleme bağımlılıkları, sınıf ad alanı, türün adları ve sonuçta elde edilen derlemedir.
PowerShell 7'de Add-Type, aynı ada sahip bir tür zaten varsa bir tür derlemez. Ayrıca Add-Type, refiçeren klasörün altındaki bir pwsh.dll klasöründe derlemeleri arar.
Örnekler
Örnek 1: Oturuma .NET türü ekleme
Bu örnek, bir değişkende depolanan kaynak kodunu belirterek BasicTest sınıfını oturuma ekler. BasicTest sınıfı tamsayı eklemek, nesne oluşturmak ve tamsayıları çarpmak için kullanılır.
$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)
$Source değişkeni, sınıfın kaynak kodunu depolar. türü, Add adlı statik bir yönteme ve Multiplyadlı statik olmayan bir yönteme sahiptir.
Add-Type cmdlet'i sınıfını oturuma ekler. Satır içi kaynak kodu kullandığından, komut değişkenindeki kodu belirtmek için $Source parametresini kullanır.
Add sınıfının statik yöntemi, sınıfın statik bir üyesini belirtmek için iki nokta üst üste karakterlerini (::) kullanır. Tamsayılar eklenir ve toplam görüntülenir.
New-Object cmdlet'i, BasicTest sınıfının bir örneğini oluşturur. Yeni nesneyi $BasicTestObject değişkenine kaydeder.
$BasicTestObject
Multiply yöntemini kullanır. Tamsayılar çarpılır ve ürün görüntülenir.
Örnek 2: Eklenen bir türü inceleme
Bu örnekte, Get-Member ve Add-Type cmdlet'lerinin Örnek 1'de oluşturduğu nesneleri incelemek için New-Object cmdlet'ikullanılır.
[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()
Get-Member cmdlet'i, oturuma eklenen BasicTest sınıfının türünü ve üyelerini Add-Type alır.
Get-Member komutu, System.Object sınıfından türetilen bir System.RuntimeType nesnesi olduğunu gösterir.
Get-Member
Static parametresi, BasicTest sınıfının statik özelliklerini ve yöntemlerini alır. Çıktı, Add yönteminin dahil olduğunu gösterir.
Get-Member cmdlet'i, $BasicTestObject değişkeninde depolanan nesnenin üyelerini alır.
$BasicTestObject, New-Object sınıfıyla cmdlet'i kullanılarak oluşturulmuştur. Çıktı, $BasicTestObject değişkeninin değerinin BasicTest sınıfının bir örneği olduğunu ve Multiplyadlı bir üye içerdiğini gösterir.
Örnek 3: Derlemeden tür ekleme
Bu örnek, JsonSchema.NET.dll derlemesinden geçerli oturuma sınıfları ekler.
Set-Location -Path $PSHOME
$AccType = Add-Type -AssemblyName *jsonschema* -PassThru
Set-Location, değişkenini belirtmek için $PSHOME parametresini kullanır. değişkeni, DLL dosyasının bulunduğu PowerShell yükleme dizinine başvurur.
$AccType değişkeni, Add-Type cmdlet'iyle oluşturulan bir nesneyi depolar.
Add-Type, derlemenin adını belirtmek için AssemblyName parametresini kullanır. Yıldız işareti (*) joker karakteri, adından veya yazım denetiminden emin olmamanız halinde bile doğru derlemeyi almanızı sağlar.
PassThru parametresi, oturuma eklenen sınıfları temsil eden nesneler oluşturur.
Örnek 4: Yerel Windows API'lerini çağırma
Bu örnek, PowerShell'de yerel Windows API'lerinin nasıl çağrılduğunu gösterir.
Add-Type, PowerShell'den User32.dll bir işlevi çağırmak için Platform Çağırma (P/Invoke) mekanizmasını kullanır. Bu örnek yalnızca Windows işletim sistemini çalıştıran bilgisayarlarda çalışır.
$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)
$Signature değişkeni, ShowWindowAsync işlevinin C# imzasını depolar. Sonuçta elde edilen yöntemin bir PowerShell oturumunda görünür olmasını sağlamak için public anahtar sözcüğü standart imzaya eklendi. Daha fazla bilgi için bkz. ShowWindowAsync işlevini.
$ShowWindowAsync değişkeni, Add-TypePassThru parametresi tarafından oluşturulan nesneyi depolar.
Add-Type cmdlet'i ShowWindowAsync işlevini PowerShell oturumuna statik bir yöntem olarak ekler. komut, değişkenine kaydedilen yöntem tanımını belirtmek için $Signature parametresini kullanır. Komut, sınıfı için bir ad ve ad alanı belirtmek üzere ad alanı parametreleri
PowerShell konsolunu simge durumuna küçültmek ve geri yüklemek için komutlarda yeni ShowWindowAsync statik yöntemi kullanılır. yöntemi iki parametre alır: pencere tutamacı ve pencerenin nasıl görüntüleneceğini belirten bir tamsayı.
PowerShell konsolunu en aza indirmek için ShowWindowAsync, geçerli PowerShell oturumunu barındıran işlemi almak için Get-Process otomatik değişkeniyle $PID cmdlet'ini kullanır. Ardından geçerli işlemin MainWindowHandle özelliğini ve 2 değerini temsil eden SW_MINIMIZEdeğerini kullanır.
Pencereyi geri yüklemek için, ShowWindowAsync pencere konumu için 4 değerini temsil eden SW_RESTORE değerini kullanır.
Pencereyi en üst düzeye çıkarmak için 3temsil eden SW_MAXIMIZE değerini kullanın.
Parametreler
-AssemblyName
Türleri içeren bir derlemenin adını belirtir.
Add-Type belirtilen derlemeden türleri alır. Derleme adını temel alan türler oluştururken bu parametre gereklidir.
Derlemenin kısmi adı olarak da bilinen tam veya basit adını girin. Derleme adında joker karakterlere izin verilir. Basit veya kısmi bir ad girerseniz, Add-Type bunu tam ada çözümler ve sonra derlemeyi yüklemek için tam adı kullanır.
Yolu veya LiteralPath parametrelerini kullanmak, yüklemeyi amaçladığınız derlemeyi yükleyebilmek için garanti eder.
AssemblyName parametresini kullandığınızda PowerShell, standart .NET derleme çözümleme işlemini kullanarak .NET'den derleme adını çözümlemesini ister. .NET önce uygulama klasöründe arama Add-Type, geçerli klasördeki sürüm yerine $PSHOME bir derleme yükleyebilir. Daha fazla bilgi için bkz. Derleme konumu.
.NET adı çözemezse PowerShell, derlemeyi bulmak için geçerli konuma bakar. AssemblyName parametresinde joker karakterler kullandığınızda, .NET derleme çözümleme işlemi PowerShell'in geçerli konuma bakmasına neden olmaz.
Parametre özellikleri
| Tür: | String[] |
| Default value: | None |
| Joker karakterleri destekler: | True |
| DontShow: | False |
| Diğer adlar: | BİR |
Parametre kümeleri
FromAssemblyName
| Position: | Named |
| Zorunlu: | True |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | False |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
-CompilerOptions
Kaynak kod derleyicisi seçeneklerini belirtir. Bu seçenekler düzeltme yapılmadan derleyiciye gönderilir.
Bu parametre, derleyiciyi yürütülebilir dosya oluşturmaya, kaynakları eklemeye veya /unsafe seçeneği gibi komut satırı seçeneklerini ayarlamaya yönlendirmenizi sağlar.
Parametre özellikleri
| Tür: | String[] |
| Default value: | None |
| Joker karakterleri destekler: | False |
| DontShow: | False |
Parametre kümeleri
FromSource
| Position: | Named |
| Zorunlu: | False |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | False |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
FromMember
| Position: | Named |
| Zorunlu: | False |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | False |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
FromPath
| Position: | Named |
| Zorunlu: | False |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | False |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
FromLiteralPath
| Position: | Named |
| Zorunlu: | False |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | False |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
-IgnoreWarnings
Derleyici uyarılarını yoksayar.
Add-Type derleyici uyarılarını hata olarak işlemesini önlemek için bu parametreyi kullanın.
Parametre özellikleri
| Tür: | SwitchParameter |
| Default value: | False |
| Joker karakterleri destekler: | False |
| DontShow: | False |
Parametre kümeleri
FromSource
| Position: | Named |
| Zorunlu: | False |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | False |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
FromMember
| Position: | Named |
| Zorunlu: | False |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | False |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
FromPath
| Position: | Named |
| Zorunlu: | False |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | False |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
FromLiteralPath
| Position: | Named |
| Zorunlu: | False |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | False |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
-Language
Kaynak kodda kullanılan dili belirtir. Bu parametre için kabul edilebilir değer CSharp.
Parametre özellikleri
| Tür: | Language |
| Default value: | CSharp |
| Kabul edilen değerler: | CSharp |
| Joker karakterleri destekler: | False |
| DontShow: | False |
Parametre kümeleri
FromSource
| Position: | Named |
| Zorunlu: | False |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | False |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
FromMember
| Position: | Named |
| Zorunlu: | False |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | False |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
-LiteralPath
Kaynak kod dosyalarının veya türleri içeren derleme DLL dosyalarının yolunu belirtir. Path'in aksine, LiteralPath parametresinin değeri tam olarak yazıldığı gibi kullanılır. Hiçbir karakter joker karakter olarak yorumlanmamıştır. Yol kaçış karakterleri içeriyorsa, yolu tek tırnak işaretleriyle çevreleyin. Tek tırnak işaretleri, PowerShell'in hiçbir karakteri kaçış dizisi olarak yorumlamamasını sağlar.
Yolu veya LiteralPath parametrelerini kullanmak, yüklemeyi amaçladığınız derlemeyi yükleyebilmek için garanti eder.
Parametre özellikleri
| Tür: | String[] |
| Default value: | None |
| Joker karakterleri destekler: | False |
| DontShow: | False |
| Diğer adlar: | PSPath, LP |
Parametre kümeleri
FromLiteralPath
| Position: | Named |
| Zorunlu: | True |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | False |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
-MemberDefinition
Sınıfı için yeni özellikleri veya yöntemleri belirtir.
Add-Type özellikleri veya yöntemleri desteklemek için gereken şablon kodunu oluşturur.
Windows'da, PowerShell'de yönetilmeyen işlevlere Platform Çağırma (P/Invoke) çağrıları yapmak için bu özelliği kullanabilirsiniz.
Parametre özellikleri
| Tür: | String[] |
| Default value: | None |
| Joker karakterleri destekler: | False |
| DontShow: | False |
Parametre kümeleri
FromMember
| Position: | 1 |
| Zorunlu: | True |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | False |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
-Name
Oluşturulacak sınıfın adını belirtir. Bir üye tanımından tür oluşturulurken bu parametre gereklidir.
Tür adı ve ad alanı bir oturum içinde benzersiz olmalıdır. Bir türü kaldıramaz veya değiştiremezsiniz. Bir türün kodunu değiştirmek için adı değiştirmeniz veya yeni bir PowerShell oturumu başlatmanız gerekir. Aksi takdirde, komut başarısız olur.
Parametre özellikleri
| Tür: | String |
| Default value: | None |
| Joker karakterleri destekler: | False |
| DontShow: | False |
Parametre kümeleri
FromMember
| Position: | 0 |
| Zorunlu: | True |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | False |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
-Namespace
Varsayılan olarak, bu komut Microsoft.PowerShell.Commands.AddType.AutoGeneratedTypes ad alanında türünü oluşturur. Bu parametreyi kullandığınızda, türü belirtilen ad alanında oluşturulur. Değer boş bir dizeyse, tür genel ad alanında oluşturulur.
Parametre özellikleri
| Tür: | String |
| Default value: | None |
| Joker karakterleri destekler: | False |
| DontShow: | False |
| Diğer adlar: | NS |
Parametre kümeleri
FromMember
| Position: | Named |
| Zorunlu: | False |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | False |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
-OutputAssembly
Konumda belirtilen ada sahip derleme için bir DLL dosyası oluşturur. İsteğe bağlı bir yol ve dosya adı girin. Joker karakterlere izin verilir. Varsayılan olarak, Add-Type derlemeyi yalnızca bellekte oluşturur. Derlemenin çıkışını bir dosyaya alırsanız, yeni oluşturulan derlemeden tür döndürmek için PassThru parametresini eklemeniz gerekir.
Parametre özellikleri
| Tür: | String |
| Default value: | None |
| Joker karakterleri destekler: | True |
| DontShow: | False |
| Diğer adlar: | OA |
Parametre kümeleri
FromSource
| Position: | Named |
| Zorunlu: | False |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | False |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
FromMember
| Position: | Named |
| Zorunlu: | False |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | False |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
FromPath
| Position: | Named |
| Zorunlu: | False |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | False |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
FromLiteralPath
| Position: | Named |
| Zorunlu: | False |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | False |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
-OutputType
Çıkış derlemesinin çıkış türünü belirtir. Varsayılan olarak, hiçbir çıkış türü belirtilmez. Bu parametre yalnızca komutta bir çıkış derlemesi belirtildiğinde geçerlidir. Değerler hakkında daha fazla bilgi için bkz. OutputAssemblyType Numaralandırması.
Bu parametre için kabul edilebilir değerler aşağıdaki gibidir:
ConsoleApplicationLibraryWindowsApplication
Önemli
PowerShell 7.1 itibarıyla ConsoleApplication ve WindowsApplication desteklenmez ve OutputType parametresi için değer olarak belirtilmişse PowerShell sonlandırıcı bir hata oluşturur.
Parametre özellikleri
| Tür: | OutputAssemblyType |
| Default value: | None |
| Kabul edilen değerler: | ConsoleApplication, Library, WindowsApplication |
| Joker karakterleri destekler: | False |
| DontShow: | False |
| Diğer adlar: | OT |
Parametre kümeleri
FromSource
| Position: | Named |
| Zorunlu: | False |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | False |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
FromMember
| Position: | Named |
| Zorunlu: | False |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | False |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
FromPath
| Position: | Named |
| Zorunlu: | False |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | False |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
FromLiteralPath
| Position: | Named |
| Zorunlu: | False |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | False |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
-PassThru
Eklenen türleri temsil eden bir System.Runtime nesnesi döndürür. Varsayılan olarak, bu cmdlet herhangi bir çıkış oluşturmaz. Dll dosyası oluşturmak için OutputAssembly kullandıysanız ve yeni oluşturulan derlemeden türü döndürmek istiyorsanız bu parametreyi kullanın.
Parametre özellikleri
| Tür: | SwitchParameter |
| Default value: | False |
| Joker karakterleri destekler: | False |
| DontShow: | False |
Parametre kümeleri
(All)
| Position: | Named |
| Zorunlu: | False |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | False |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
-Path
Kaynak kod dosyalarının veya türleri içeren derleme DLL dosyalarının yolunu belirtir.
Kaynak kod dosyalarını gönderirseniz, Add-Type dosyalarındaki kodu derler ve türlerin bellek içi bir derlemesini oluşturur.
Path değerinde belirtilen dosya uzantısı, Add-Type kullanan derleyiciyi belirler.
Yolu veya LiteralPath parametrelerini kullanmak, yüklemeyi amaçladığınız derlemeyi yükleyebilmek için garanti eder.
Parametre özellikleri
| Tür: | String[] |
| Default value: | None |
| Joker karakterleri destekler: | False |
| DontShow: | False |
Parametre kümeleri
FromPath
| Position: | 0 |
| Zorunlu: | True |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | False |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
-ReferencedAssemblies
Türün bağlı olduğu derlemeleri belirtir. Varsayılan olarak, Add-TypeSystem.dll ve System.Management.Automation.dllbaşvurur. PowerShell 6'da ReferencedAssemblies varsayılan .NET derlemelerini içermez. Bu parametreye geçirilen değere bunlara belirli bir başvuru eklemeniz gerekir.
Parametre özellikleri
| Tür: | String[] |
| Default value: | None |
| Joker karakterleri destekler: | False |
| DontShow: | False |
| Diğer adlar: | RA |
Parametre kümeleri
FromSource
| Position: | Named |
| Zorunlu: | False |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | False |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
FromMember
| Position: | Named |
| Zorunlu: | False |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | False |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
FromPath
| Position: | Named |
| Zorunlu: | False |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | False |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
FromLiteralPath
| Position: | Named |
| Zorunlu: | False |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | False |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
-TypeDefinition
Tür tanımlarını içeren kaynak kodunu belirtir. Kaynak kodu bir dizeye veya here-string'e girin ya da kaynak kodu içeren bir değişken girin. Here-strings hakkında daha fazla bilgi için bkz. about_Quoting_Rules.
Tür tanımınıza bir ad alanı bildirimi ekleyin. Ad alanı bildirimini atlarsanız, türünüz başka bir türle aynı ada veya başka bir tür için kısayola sahip olabilir ve yanlışlıkla üzerine yazılmasının nedeni olabilir. Örneğin, Özel Durumadlı bir tür tanımlarsanız, System.Exception kısayolu olarak Özel Durum kullanan betikler başarısız olur.
Parametre özellikleri
| Tür: | String |
| Default value: | None |
| Joker karakterleri destekler: | False |
| DontShow: | False |
Parametre kümeleri
FromSource
| Position: | 0 |
| Zorunlu: | True |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | False |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
-UsingNamespace
sınıfı için gereken diğer ad alanlarını belirtir. Bu, C# anahtar sözcüğüne çok benzer Using.
Varsayılan olarak, Add-TypeSystem ad alanına başvurur.
MemberDefinition parametresi kullanıldığında, Add-Type varsayılan olarak System.Runtime.InteropServices ad alanına da başvurur.
UsingNamespace parametresini kullanarak eklediğiniz ad alanlarına, varsayılan ad alanlarına ek olarak başvurulur.
Parametre özellikleri
| Tür: | String[] |
| Default value: | System namespace |
| Joker karakterleri destekler: | False |
| DontShow: | False |
| Diğer adlar: | Kullanma |
Parametre kümeleri
FromMember
| Position: | Named |
| Zorunlu: | False |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | False |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
CommonParameters
Bu cmdlet yaygın parametreleri destekler: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction ve -WarningVariable. Daha fazla bilgi için bkz. about_CommonParameters.
Girişler
None
Nesneleri bu cmdlet'e yöneltemezsiniz.
Çıkışlar
None
Varsayılan olarak, bu cmdlet çıkış döndürmez.
Type
PassThru parametresini kullandığınızda, bu cmdlet yeni türü temsil eden bir System.Type nesnesi döndürür.
Notlar
Eklediğiniz türler yalnızca geçerli oturumda bulunur. Tüm oturumlarda türleri kullanmak için bunları PowerShell profilinize ekleyin. Profil hakkında daha fazla bilgi için bkz. about_Profiles.
Tür adları ve ad alanları bir oturum içinde benzersiz olmalıdır. Bir türü kaldıramaz veya değiştiremezsiniz. Bir türün kodunu değiştirmeniz gerekiyorsa, adı değiştirmeniz veya yeni bir PowerShell oturumu başlatmanız gerekir. Aksi takdirde, komut başarısız olur.
Windows PowerShell'de (sürüm 5.1 ve üstü), önceden yüklenmemiş her şey için Add-Type kullanmanız gerekir. En yaygın olarak bu, Genel Bütünleştirilmiş Kod Önbelleği'nde (GAC) bulunan derlemeler için geçerlidir.
PowerShell 6 ve üzeri sürümlerde GAC yoktur, bu nedenle PowerShell kendi derlemelerini $PSHOMEyükler.
Bu derlemeler istek üzerine otomatik olarak yüklenir, bu nedenle bunları yüklemek için Add-Type kullanmanız gerekmez. Ancak, Add-Type kullanmanın betiklerin PowerShell'in herhangi bir sürümüyle örtük olarak uyumlu olmasını sağlamak için hala izin verilir.
GAC'deki derlemeler yol yerine tür adına göre yüklenebilir. Derlemelerin rastgele bir yoldan yüklenmesi gerekir Add-Typeçünkü bu derlemeler otomatik olarak yüklenemez.