Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Sisteme bir modül yükledikten sonra modülü içeri aktarmak isteyebilirsiniz. İçeri aktarma, kullanıcının PowerShell oturumunda bu modüle erişebilmesi için modülü etkin belleğe yükleyen işlemdir. PowerShell 2.0'da, import-module cmdlet'ini çağrısıyla yeni yüklenen bir PowerShell modülünü içeri aktarabilirsiniz. PowerShell 3.0'da, modüldeki işlevlerden veya cmdlet'lerden biri kullanıcı tarafından çağrıldığında PowerShell örtük olarak bir modülü içeri aktarabilir. Her iki sürümde de modülünüzü PowerShell'in bulabildiği bir konuma yüklediğiniz varsayılır; Daha fazla bilgi için bkz. PowerShell Modülü Yükleme. Modülünüzün hangi bölümlerinin dışarı aktarılacağını kısıtlamak için bir modül bildirimi kullanabilir ve hangi bölümlerin içeri aktarılacağını kısıtlamak için Import-Module çağrısının parametrelerini kullanabilirsiniz.
Snap-In içeri aktarma (PowerShell 1.0)
Modüller PowerShell 1.0'da mevcut değildi: bunun yerine ek bileşenleri kaydetmeniz ve kullanmanız gerekiyordu. Ancak modüllerin yüklenmesi ve içeri aktarılması genellikle daha kolay olduğundan bu teknolojiyi kullanmanız önerilmez. Daha fazla bilgi için bkz. Windows PowerShell Ek Bileşeni Oluşturma.
Import-Module ile Modül İçeri Aktarma (PowerShell 2.0)
PowerShell 2.0, modülleri içeri aktarmak için uygun adlandırılmış Import-Module cmdlet'ini kullanır. Bu cmdlet çalıştırıldığında, Windows PowerShell PSModulePath değişkeninde belirtilen dizinler içinde belirtilen modülü arar. Belirtilen dizin bulunduğunda, Windows PowerShell dosyaları şu sırayla arar: modül bildirim dosyaları (.psd1), betik modülü dosyaları (.psm1), ikili modül dosyaları (.dll). Aramaya dizin ekleme hakkında daha fazla bilgi için bkz. about_PSModulePath.
Aşağıdaki kodda bir modülün nasıl içeri aktarıldığı açıklanmaktadır:
Import-Module myModule
myModule öğesinin PSModulePatholduğunu varsayarsak PowerShell, myModule öğesini etkin belleğe yükler. myModule bir PSModulePath yolunda yer almadıysa PowerShell'e bunu nerede bulacağını açıkça söyleyebilirsiniz:
Import-Module -Name C:\myRandomDirectory\myModule -Verbose
Modül dışında nelerin dışarı aktarıldığını ve etkin belleğe nelerin içeri aktarıldığını belirlemek için -Verbose parametresini de kullanabilirsiniz. Hem dışarı aktarmalar hem de içeri aktarmalar kullanıcıya sunulanları kısıtlar: fark, görünürlüğü kimin denetleyen olduğudur. Temelde, dışarı aktarmalar modüldeki kod tarafından denetlenmektedir. Buna karşılık, içeri aktarmalar Import-Module çağrısı tarafından denetlenir. Daha fazla bilgi için aşağıdaki İçeri Aktarılan Üyeleri Kısıtlama bölümüne bakın.
Bir Modülü Örtük Olarak İçeri Aktarma (PowerShell 3.0)
Windows PowerShell 3.0'dan başlayarak modüldeki herhangi bir cmdlet veya işlev bir komutta kullanıldığında modüller otomatik olarak içeri aktarılır. Bu özellik, PSModulePath ortam değişkeninin değerine dahil edilen bir dizindeki tüm modüllerde çalışır. Ancak modülünüzü geçerli bir yola kaydetmezseniz, yukarıda açıklanan açık Import-Module seçeneğini kullanarak bunları yine de yükleyebilirsiniz.
Aşağıdaki eylemler, "modül otomatik yükleme" olarak da bilinen bir modülün otomatik içeri aktarılmasını tetikler.
Komutta cmdlet kullanma. Örneğin,
Get-ExecutionPolicyyazmak,Get-ExecutionPolicycmdlet'ini içeren Microsoft.PowerShell.Security modülünü içeri aktarır.Komutu almak için Get-Command cmdlet'ini kullanma. Örneğin,
Get-Command Get-JobTriggeryazmak,Get-JobTriggercmdlet'ini içeren PSScheduledJob modülünü içeri aktarır. Joker karakter içeren birGet-Commandkomutu bulma olarak kabul edilir ve modülün içeri aktarılmasını tetiklemez.cmdlet'i için yardım almak için Get-Help cmdlet'ini kullanma. Örneğin,
Get-Help Get-WinEventyazmak,Get-WinEventcmdlet'ini içeren Microsoft.PowerShell.Diagnostics modülünü içeri aktarır.
Modüllerin otomatik içeri aktarılmasını desteklemek için Get-Command cmdlet'i, modül oturuma aktarılmasa bile tüm yüklü modüllerdeki tüm cmdlet'leri ve işlevleri alır. Daha fazla bilgi için Get-Command cmdlet'inin yardım konusuna bakın.
İçeri Aktarma İşlemi
Modül içeri aktarıldığında modül için yeni bir oturum durumu oluşturulur ve bellekte system.management.automation.PSModuleInfo nesnesi oluşturulur. İçeri aktarılan her modül için bir oturum durumu oluşturulur (bu, kök modülü ve iç içe yerleştirilmiş modülleri içerir). İç içe modüller tarafından kök modüle dışarı aktarılan üyeler de dahil olmak üzere kök modülden dışarı aktarılan üyeler daha sonra çağıranın oturum durumuna aktarılır.
Bir modülden dışarı aktarılan üyelerin meta verilerinin ModuleName özelliği vardır. Bu özellik, bunları dışarı aktaran modülün adıyla doldurulur.
Uyarı
Dışarı aktarılan üyenin adı onaylanmamış bir fiil kullanıyorsa veya üyenin adı kısıtlanmış karakterler kullanıyorsa, Import-Module cmdlet'i çalıştırıldığında bir uyarı görüntülenir.
Varsayılan olarak, Import-Module cmdlet'i işlem hattına hiçbir nesne döndürmez. Ancak cmdlet, içeri aktarılan her modül için bir System.Management.Automation.PSModuleInfo nesnesi döndürmek için kullanılabilecek bir PassThru parametresini destekler. Çıktıyı konağa göndermek için kullanıcıların Write-Host cmdlet'ini çalıştırması gerekir.
İçeri Aktarılan Üyeleri Kısıtlama
Bir modül, Import-Module cmdlet'i kullanılarak içeri aktarıldığında, iç içe modül tarafından modüle aktarılan komutlar da dahil olmak üzere, dışarı aktarılan tüm modül üyeleri varsayılan olarak oturuma aktarılır. Varsayılan olarak, değişkenler ve diğer adlar dışarı aktarılmaz. Dışarı aktarılan üyeleri kısıtlamak için birmodülü bildirimi kullanın. İçeri aktarılan üyeleri kısıtlamak için Import-Module cmdlet'in aşağıdaki parametrelerini kullanın.
İşlev: Bu parametre dışarı aktarılan işlevleri kısıtlar. (Modül bildirimi kullanıyorsanız bkz. FunctionsToExport anahtarı.)
` Cmdlet: Bu parametre dışarı aktarılan cmdlet'leri kısıtlar (Modül bildirimi kullanıyorsanız bkz. CmdletsToExport anahtarı.)
Değişken: Bu parametre dışarı aktarılan değişkenleri kısıtlar (Modül bildirimi kullanıyorsanız Bkz. VariablesToExport anahtarı.)
Diğer Ad: Bu parametre dışarı aktarılan diğer adları kısıtlar (Modül bildirimi kullanıyorsanız AliasesToExport anahtarına bakın.)
Ayrıca Bkz.
PowerShell