Fonksiyonlar hakkında
Kısa açıklama
PowerShell'de işlevlerin nasıl oluşturulacağını ve kullanılacağını açıklar.
Uzun açıklama
İşlev, atadığınız bir adı olan PowerShell ifadelerinin listesidir. Bir işlevi çalıştırdığınızda işlevin adını yazarsınız. Listedeki ifadeler sanki komut istemine yazmışsınız gibi çalışır.
İşlevler şu kadar basit olabilir:
function Get-PowerShellProcess { Get-Process pwsh }
Bir işlev tanımlandıktan sonra onu yerleşik cmdlet'ler gibi kullanabilirsiniz. Örneğin, yeni tanımlanan Get-PowerShellProcess işlevini çağırmak için:
Get-PowerShellProcess
NPM(K) PM(M) WS(M) CPU(s) Id SI ProcessName
------ ----- ----- ------ -- -- -----------
110 78.72 172.39 10.62 10936 1 pwsh
Bir işlev aynı zamanda bir cmdlet veya uygulama kadar karmaşık da olabilir.
Cmdlet'ler gibi işlevlerin de parametreleri olabilir. Parametreler adlandırılabilir, konumsal, anahtar veya dinamik parametreler olabilir. İşlev parametreleri komut satırından veya işlem hattından okunabilir.
İşlevler görüntülenebilen, değişkenlere atanabilen veya diğer işlevlere veya cmdlet'lere aktarılabilen değerleri döndürebilir. return anahtar sözcüğünü kullanarak da bir dönüş değeri belirleyebilirsiniz. return anahtar sözcüğü, işlevinizden döndürülen diğer çıktıları etkilemez veya bastırmaz. Ancak return anahtar sözcüğü o satırda işlevden çıkar. Daha fazla bilgi için bkz. about_Return.
İşlevin ifade listesi, begin, process, end ve clean anahtar sözcüklerini içeren farklı türde ifade listeleri içerebilir. . Bu ifade listeleri, işlem hattından gelen girişi farklı şekilde ele alır.
Filter anahtar sözcüğü, ardışık düzendeki her nesne üzerinde çalışan bir işlev türü oluşturmak için kullanılır. Filtre, tüm ifadelerinin bir process bloğunda yer aldığı bir fonksiyona benzer.
İşlevler ayrıca cmdlet'ler gibi davranabilir. C# programlamayı kullanmadan tıpkı cmdlet gibi çalışan bir işlev oluşturabilirsiniz. Daha fazla bilgi için bkz. about_Functions_Advanced.
Bu önemli
Betik dosyalarında ve betik tabanlı modüllerde, işlevlerin çağrılabilmesi için önce tanımlanması gerekir.
Sözdizimi
Bir fonksiyonun sözdizimi aşağıdadır:
function [<scope:>]<name> [([type]$parameter1[,[type]$parameter2])]
{
begin {<statement list>}
process {<statement list>}
end {<statement list>}
clean {<statement list>}
}
function [<scope:>]<name>
{
param([type]$parameter1 [,[type]$parameter2])
dynamicparam {<statement list>}
begin {<statement list>}
process {<statement list>}
end {<statement list>}
clean {<statement list>}
}
Bir işlev aşağıdaki öğeleri içerir:
- Bir
işlevanahtar kelimesi - Bir kapsam (isteğe bağlı)
- Seçtiğiniz bir ad
- Herhangi bir sayıda adlandırılmış parametre (isteğe bağlı)
- {comcode> parantezleri içine alınmış bir veya daha fazla PowerShell komutu
dynamicparam anahtar sözcüğü ve işlevlerdeki dinamik parametreler hakkında daha fazla bilgi için bkz. about_Functions_Advanced_Parameters.
Giriş işleme yöntemleri
Bu bölümde anlatılan yöntemlere girdi işleme yöntemleri adı verilmektedir. İşlevler için bu üç yöntem, işlevin begin, process ve end bloklarıyla temsil edilir. PowerShell 7.3 bir temiz blok işlem yöntemi ekler.
İşlevlerinizde bu bloklardan herhangi birini kullanmanıza gerek yoktur. Adlandırılmış bir blok kullanmazsanız PowerShell, kodu işlevin end bloğuna yerleştirir. Ancak bu adlandırılmış bloklardan herhangi birini kullanırsanız veya bir dynamicparam bloğu tanımlarsanız, tüm kodu adlandırılmış bir bloğa koymalısınız.
Aşağıdaki örnek, tek seferlik ön işleme için bir begin bloğu, çoklu kayıt işleme için bir process bloğu ve bir end bloğu içeren bir fonksiyonun ana hatlarını gösterir. tek seferlik son işlem için blok.
Function Test-ScriptCmdlet
{
[CmdletBinding(SupportsShouldProcess=$True)]
Param ($Parameter1)
begin{}
process{}
end{}
}
başla
Bu blok, işlev için isteğe bağlı bir kerelik ön işleme sağlamak için kullanılır. PowerShell çalışma zamanı, bu bloktaki kodu ardışık düzendeki işlevin her örneği için bir kez kullanır.
işlem
Bu blok, işlev için kayıt bazında işlem sağlamak için kullanılır. Bir process bloğunu diğer blokları tanımlamadan kullanabilirsiniz. işlem blok yürütmelerinin sayısı, işlevi nasıl kullandığınıza ve işlevin hangi girdiyi aldığına bağlıdır.
Otomatik değişken $_ veya $PSItem, process bloğunda kullanılmak üzere ardışık düzendeki geçerli nesneyi içerir. $input otomatik değişkeni, yalnızca işlevler ve kod blokları için kullanılabilen bir numaralandırıcı içerir. Daha fazla bilgi için bkz. about_Automatic_Variables.
- İşlevi başlangıçta veya bir işlem hattının dışında çağırmak,
processbloğunu bir kez yürütür. - Bir işlem hattında
processbloğu, işleve ulaşan her giriş nesnesi için bir kez yürütülür. İşleve ulaşan ardışık düzen girişi boşsa,
işlembloğu yürütülmez.begin,endvecleanblokları çalışmaya devam eder.
Bu önemli
Bir işlev parametresi ardışık düzen girişini kabul edecek şekilde ayarlanmışsa ve bir işlem bloğu tanımlanmamışsa, kayıt bazında kayıt işleme başarısız olur. Bu durumda, işleviniz girişten bağımsız olarak yalnızca bir kez yürütülür.
son
Bu blok, işlev için isteğe bağlı bir kerelik son işlem sağlamak için kullanılır.
temizle
clean bloğu PowerShell 7.3'e eklendi.
clean bloğu, kullanıcıların begin, process ve end boyunca uzanan kaynakları temizlemesinin kullanışlı bir yoludur. > bloklar. Anlamsal olarak, bir komut dosyası işlevinin veya bir komut dosyası cmdlet'inin tüm diğer adlandırılmış bloklarını kapsayan bir finally bloğuna benzer. Kaynak temizleme aşağıdaki senaryolar için uygulanır:
- boru hattı yürütmesi hatayı sonlandırmadan normal şekilde tamamlandığında
- sonlandırma hatası nedeniyle boru hattının yürütülmesi kesintiye uğradığında
- ardışık düzen
Select-Object -Firsttarafından durdurulduğunda - ardışık düzen Ctrl+c veya
StopProcessing()tarafından durdurulduğunda
Temiz blok, Başarı akışına yazılan tüm çıktıları atar.
Dikkat
clean bloğunun eklenmesi son derece önemli bir değişikliktir. clean anahtar kelime olarak ayrıştırıldığından, kullanıcıların bir komut dosyası bloğundaki ilk ifade olarak doğrudan clean adlı komutu çağırmasını engeller. Ancak sorun olması pek muhtemel değildir. Komut yine de çağrı operatörü (& clean) kullanılarak çağrılabilir.
Basit işlevler
İşlevlerin yararlı olması için karmaşık olması gerekmez. En basit işlevler aşağıdaki formata sahiptir:
function <function-name> {statements}
Örneğin, aşağıdaki işlev PowerShell'i Yönetici Olarak Çalıştır seçeneğiyle başlatır.
function Start-PSAdmin {Start-Process PowerShell -Verb RunAs}
İşlevi kullanmak için şunu yazın: Start-PSAdmin
İşleve ifadeler eklemek için, her bir ifadeyi ayrı bir satıra yazın veya ifadeleri ayırmak için noktalı virgül ; kullanın.
Örneğin, aşağıdaki işlev, geçerli kullanıcının dizinlerinde başlangıç tarihinden sonra değiştirilen tüm .jpg dosyalarını bulur.
function Get-NewPix
{
$start = Get-Date -Month 1 -Day 1 -Year 2010
$allpix = Get-ChildItem -Path $env:UserProfile\*.jpg -Recurse
$allpix | Where-Object {$_.LastWriteTime -gt $Start}
}
Yararlı küçük işlevlerden oluşan bir araç kutusu oluşturabilirsiniz. Bu işlevleri, about_Profiles bölümünde ve bu konunun ilerleyen kısımlarında açıklandığı şekilde PowerShell profilinize ekleyin.
İşlev Adları
Bir işleve herhangi bir ad atayabilirsiniz ancak başkalarıyla paylaştığınız işlevler, tüm PowerShell komutları için oluşturulmuş adlandırma kurallarına uymalıdır.
İşlev adları, fiilin işlevin gerçekleştirdiği eylemi tanımladığı ve ismin cmdlet'in eylemini gerçekleştirdiği öğeyi tanımladığı bir fiil-isim çiftinden oluşmalıdır.
İşlevler, tüm PowerShell komutları için onaylanmış standart fiilleri kullanmalıdır. Bu fiiller, komut adlarımızı tutarlı ve kullanıcıların anlayabileceği şekilde tutmamıza yardımcı olur.
Standart PowerShell fiilleri hakkında daha fazla bilgi için bkz. Onaylanan Fiiller.
Parametreli Fonksiyonlar
Adlandırılmış parametreler, konumsal parametreler, anahtar parametreleri ve dinamik parametreler dahil olmak üzere parametreleri işlevlerle birlikte kullanabilirsiniz. İşlevlerdeki dinamik parametreler hakkında daha fazla bilgi için bkz. about_Functions_Advanced_Parameters.
Adlandırılmış Parametreler
İstediğiniz sayıda adlandırılmış parametre tanımlayabilirsiniz. Bu konunun ilerleyen kısımlarında açıklandığı gibi, adlandırılmış parametreler için varsayılan bir değer ekleyebilirsiniz.
Aşağıdaki örnek sözdiziminde gösterildiği gibi param anahtar sözcüğünü kullanarak parantezlerin içindeki parametreleri tanımlayabilirsiniz:
function <name> {
param ([type]$parameter1 [,[type]$parameter2])
<statement list>
}
Aşağıdaki örnek sözdiziminde gösterildiği gibi, parantezlerin dışındaki parametreleri Param anahtar sözcüğü olmadan da tanımlayabilirsiniz:
function <name> [([type]$parameter1[,[type]$parameter2])] {
<statement list>
}
Aşağıda bu alternatif sözdiziminin bir örneği verilmiştir.
function Add-Numbers([int]$one, [int]$two) {
$one + $two
}
Birinci yöntem tercih edilmekle birlikte bu iki yöntem arasında herhangi bir fark bulunmamaktadır.
Fonksiyonu çalıştırdığınızda, bir parametre için sağladığınız değer, parametre adını içeren bir değişkene atanır. Bu değişkenin değeri fonksiyonda kullanılabilir.
Aşağıdaki örnek, Get-SmallFiles adlı bir işlevdir. Bu işlevin bir $Size parametresi vardır. İşlev, $Size parametresinin değerinden daha küçük olan tüm dosyaları görüntüler ve dizinleri hariç tutar:
function Get-SmallFiles {
Param($Size)
Get-ChildItem $HOME | Where-Object {
$_.Length -lt $Size -and !$_.PSIsContainer
}
}
Fonksiyonda parametreye tanımlanan isim olan $Size değişkenini kullanabilirsiniz.
Bu işlevi kullanmak için aşağıdaki komutu yazın:
Get-SmallFiles -Size 50
Adlandırılmış bir parametre için parametre adı olmadan da bir değer girebilirsiniz. Örneğin, aşağıdaki komut Size parametresini adlandıran komutla aynı sonucu verir:
Get-SmallFiles 50
Bir parametre için varsayılan bir değer tanımlamak üzere, Get-SmallFiles örneğinin aşağıdaki varyasyonunda gösterildiği gibi eşittir işaretini ve parametre adından sonra değeri yazın:
function Get-SmallFiles ($Size = 100) {
Get-ChildItem $HOME | Where-Object {
$_.Length -lt $Size -and !$_.PSIsContainer
}
}
Bir değer olmadan Get-SmallFiles yazarsanız, işlev $size'a 100 değerini atar. Bir değer sağlarsanız işlev bu değeri kullanır.
İsteğe bağlı olarak, parametrenizin açıklamasına PSDefaultValue özelliğini ekleyerek ve Help özelliğini belirterek parametrenizin varsayılan değerini açıklayan kısa bir yardım dizesi sağlayabilirsiniz. PSDefaultValue. Get-SmallFiles işlevindeki Size parametresinin varsayılan değerini (100) açıklayan bir yardım dizesi sağlamak için PSDefaultValue özelliğini şu şekilde ekleyin: aşağıdaki örnekte gösterilmiştir.
function Get-SmallFiles {
param (
[PSDefaultValue(Help = '100')]
$Size = 100
)
Get-ChildItem $HOME | Where-Object {
$_.Length -lt $Size -and !$_.PSIsContainer
}
}
PSDefaultValue öznitelik sınıfı hakkında daha fazla bilgi için bkz. PSDefaultValue Öznitelik Üyeleri.
Konumsal Parametreler
Konumsal parametre, parametre adı olmayan bir parametredir. PowerShell, her parametre değerini işlevdeki bir parametreyle ilişkilendirmek için parametre değeri sırasını kullanır.
Konumsal parametreleri kullandığınızda, işlev adından sonra bir veya daha fazla değer yazın. Konumsal parametre değerleri $args dizi değişkenine atanır. İşlev adından sonra gelen değer, $args dizisinin ilk konumuna ($args[0]) atanır.
Aşağıdaki Get-Extension işlevi, sağladığınız dosya adına .txt dosya adı uzantısını ekler:
function Get-Extension {
$name = $args[0] + ".txt"
$name
}
Get-Extension myTextFile
myTextFile.txt
Parametreleri Değiştir
Anahtar, değer gerektirmeyen bir parametredir. Bunun yerine, işlev adını ve ardından switch parametresinin adını yazarsınız.
Bir anahtar parametresi tanımlamak için, aşağıdaki örnekte gösterildiği gibi, parametre adından önce [switch] türünü belirtin:
function Switch-Item {
param ([switch]$on)
if ($on) { "Switch on" }
else { "Switch off" }
}
İşlev adından sonra Açık anahtar parametresini yazdığınızda, işlev Açma öğesini görüntüler. Switch parametresi olmadığında Kapat mesajı görüntülenir.
Switch-Item -on
Switch on
Switch-Item
Switch off
Aşağıdaki örnekte gösterildiği gibi, işlevi çalıştırdığınızda anahtara bir Boolean değeri de atayabilirsiniz:
Switch-Item -on:$true
Switch on
Switch-Item -on:$false
Switch off
Komut Parametrelerini Temsil Etmek İçin Splatting Kullanma
Bir komutun parametrelerini temsil etmek için sıçramayı kullanabilirsiniz. Bu özellik Windows PowerShell 3.0'da sunulmuştur.
Bu tekniği oturumda komut çağıran işlevlerde kullanın. Komut parametrelerini bildirmenize veya numaralandırmanıza veya komut parametreleri değiştiğinde işlevi değiştirmenize gerek yoktur.
Aşağıdaki örnek işlev Get-Command cmdlet'ini çağırır. Komut, Get-Command'ın parametrelerini temsil etmek için @Args'ı kullanır.
function Get-MyCommand { Get-Command @Args }
Get-MyCommand işlevini çağırdığınızda Get-Command'ın tüm parametrelerini kullanabilirsiniz. Parametreler ve parametre değerleri komuta @Args kullanılarak aktarılır.
Get-MyCommand -Name Get-ChildItem
CommandType Name ModuleName
----------- ---- ----------
Cmdlet Get-ChildItem Microsoft.PowerShell.Management
@Args özelliği, bildirilmemiş cmdlet parametrelerini ve kalan bağımsız değişkenlerden gelen değerleri temsil eden $Args otomatik parametresini kullanır.
Daha fazla bilgi için bkz. about_Splatting.
Nesneleri İşlevlere Bağlama
Herhangi bir işlev boru hattından girdi alabilir. begin, process, end ve clean anahtar sözcüklerini kullanarak bir işlevin işlem hattından gelen girişi nasıl işlediğini kontrol edebilirsiniz. Aşağıdaki örnek sözdizimi bu anahtar kelimeleri gösterir:
process deyim listesi, ardışık düzendeki her nesne için bir kez çalıştırılır. process bloğu çalışırken, her ardışık düzen nesnesi, her defasında bir ardışık düzen nesnesi olacak şekilde $_ otomatik değişkenine atanır.
Aşağıdaki işlev process anahtar sözcüğünü kullanır. İşlev, ardışık düzendeki değerleri görüntüler:
function Get-Pipeline
{
process {"The value is: $_"}
}
1,2,4 | Get-Pipeline
The value is: 1
The value is: 2
The value is: 4
Boru hattı girişini veya bir parametreden giriş alabilen bir işlev istiyorsanız process bloğunun her iki durumu da ele alması gerekir. Örneğin:
function Get-SumOfNumbers {
param (
[int[]]$Numbers
)
begin { $retValue = 0 }
process {
if ($null -ne $Numbers) {
foreach ($n in $Numbers) {
$retValue += $n
}
} else {
$retValue += $_
}
}
end { $retValue }
}
PS> 1,2,3,4 | Get-SumOfNumbers
10
PS> Get-SumOfNumbers 1,2,3,4
10
Bir işlem hattında bir işlev kullandığınızda, işleve aktarılan nesneler $input otomatik değişkenine atanır. İşlev, işlem hattından herhangi bir nesne gelmeden önce begin anahtar sözcüğünü içeren ifadeleri çalıştırır. İşlev, tüm nesneler ardışık düzenden alındıktan sonra end anahtar sözcüğünü içeren ifadeleri çalıştırır.
Aşağıdaki örnek, begin ve end anahtar sözcükleriyle birlikte $input otomatik değişkenini göstermektedir.
function Get-PipelineBeginEnd {
begin { "Begin: The input is $input" }
end { "End: The input is $input" }
}
Bu işlev işlem hattı kullanılarak çalıştırılırsa aşağıdaki sonuçları görüntüler:
1,2,4 | Get-PipelineBeginEnd
Begin: The input is
End: The input is 1 2 4
begin deyimi çalıştırıldığında, işlev işlem hattından girdi almaz. end ifadesi, fonksiyon değerleri aldıktan sonra çalıştırılır.
İşlev bir process anahtar sözcüğüne sahipse, $input içindeki her nesne $input'tan kaldırılır ve $_. Aşağıdaki örnekte bir process ifade listesi bulunmaktadır:
function Get-PipelineInput
{
process {"Processing: $_ " }
end {"End: The input is: $input" }
}
Bu örnekte, işleve aktarılan her nesne process deyim listesine gönderilir. process ifadeleri her nesne üzerinde, her seferinde bir nesne olmak üzere çalışır. İşlev end anahtar sözcüğüne ulaştığında $input otomatik değişkeni boştur.
1,2,4 | Get-PipelineInput
Processing: 1
Processing: 2
Processing: 4
End: The input is:
Daha fazla bilgi için bkz. Numaralandırıcıları Kullanma
PowerShell 7.3, clean bloğunu ekledi. clean bloğu, kullanıcıların begin, process ve end'de oluşturulan ve kullanılan kaynakları temizlemesinin kullanışlı bir yoludur. kod > bloklar. Anlamsal olarak, bir komut dosyası işlevinin veya bir komut dosyası cmdlet'inin tüm diğer adlandırılmış bloklarını kapsayan bir finally bloğuna benzer. Kaynak temizleme aşağıdaki senaryolar için uygulanır:
- boru hattı yürütmesi hatayı sonlandırmadan normal şekilde tamamlandığında
- sonlandırma hatası nedeniyle boru hattının yürütülmesi kesintiye uğradığında
- ardışık düzen
Select-Object -Firsttarafından durdurulduğunda - ardışık düzen Ctrl+C veya
StopProcessing()tarafından durdurulduğunda
Dikkat
clean bloğunun eklenmesi son derece önemli bir değişikliktir. clean anahtar kelime olarak ayrıştırıldığından, kullanıcıların bir komut dosyası bloğundaki ilk ifade olarak doğrudan clean adlı komutu çağırmasını engeller. Ancak sorun olması pek muhtemel değildir. Komut yine de çağrı operatörü (& clean) kullanılarak çağrılabilir.
Filtreler
Filtre, işlem hattındaki her nesne üzerinde çalışan bir işlev türüdür. Filtre, tüm ifadelerinin bir process bloğunda yer aldığı bir fonksiyona benzer.
Bir filtrenin sözdizimi aşağıdaki gibidir:
filter [<scope:>]<name> {<statement list>}
Aşağıdaki filtre, günlük girişlerini işlem hattından alır ve ardından girişin tamamını veya yalnızca girişin mesaj kısmını görüntüler:
filter Get-ErrorLog ([switch]$Message)
{
if ($Message) { Out-Host -InputObject $_.Message }
else { $_ }
}
Aşağıdaki şekilde kullanılabilir:
Get-WinEvent -LogName System -MaxEvents 100 | Get-ErrorLog -Message
Fonksiyon Kapsamı
Oluşturulduğu kapsamda bir işlev mevcuttur.
Bir işlev bir betiğin parçasıysa, işlev o betiğin içindeki ifadelerde kullanılabilir. Varsayılan olarak, bir komut dosyasındaki bir işlev, o komut dosyasının dışında kullanılamaz.
Bir işlevin kapsamını belirtebilirsiniz. Örneğin, aşağıdaki örnekte fonksiyon global kapsama eklenmiştir:
function global:Get-DependentSvs {
Get-Service | Where-Object {$_.DependentServices}
}
Bir işlev genel kapsamda olduğunda, işlevi komut dosyalarında, işlevlerde ve komut satırında kullanabilirsiniz.
Fonksiyonlar yeni bir kapsam yaratır. Değişkenler gibi bir fonksiyonda oluşturulan öğeler yalnızca fonksiyon kapsamında bulunur.
Daha fazla bilgi için bkz. about_Scopes.
İşlevi Kullanarak İşlevleri Bulma ve Yönetme: Drive
PowerShell'deki tüm işlevler ve filtreler otomatik olarak Function: sürücüsünde depolanır. Bu sürücü PowerShell İşlev sağlayıcısı tarafından kullanıma sunulur.
Function: sürücüsüne başvururken, tıpkı C veya D<'ye başvururken yapacağınız gibi, Function'dan sonra iki nokta üst üste yazın. /code> bir bilgisayarın sürücüsü.
Aşağıdaki komut geçerli PowerShell oturumundaki tüm işlevleri görüntüler:
Get-ChildItem function:
Fonksiyondaki komutlar, fonksiyonun tanım özelliğinde bir kod bloğu olarak saklanır. Örneğin, PowerShell ile birlikte gelen Yardım işlevindeki komutları görüntülemek için şunu yazın:
(Get-ChildItem function:help).Definition
Aşağıdaki sözdizimini de kullanabilirsiniz.
$function:help
İşlev: sürücüsü hakkında daha fazla bilgi için İşlev sağlayıcısının yardım konusuna bakın. Get-Help İşlevi yazın.
İşlevleri Yeni Oturumlarda Yeniden Kullanma
PowerShell komut istemine bir işlev yazdığınızda, işlev geçerli oturumun bir parçası haline gelir. İşlev, oturum bitene kadar kullanılabilir.
İşlevinizi tüm PowerShell oturumlarında kullanmak için işlevi PowerShell profilinize ekleyin. Profiller hakkında daha fazla bilgi için bkz. about_Profiles.
İşlevinizi bir PowerShell betik dosyasına da kaydedebilirsiniz. İşlevinizi bir metin dosyasına yazın ve ardından dosyayı .ps1 dosya adı uzantısıyla kaydedin.
İşlevler için Yardım Yazma
Get-Help cmdlet'i, işlevlerin yanı sıra cmdlet'ler, sağlayıcılar ve komut dosyaları için de yardım alır. Bir işlevle ilgili yardım almak için Get-Help ve ardından işlev adını yazın.
Örneğin, Get-MyDisks işlevine ilişkin yardım almak için şunu yazın:
Get-Help Get-MyDisks
Aşağıdaki iki yöntemden birini kullanarak bir işlev için yardım yazabilirsiniz:
İşlevler için Yorum Tabanlı Yardım
Yorumlarda özel anahtar kelimeler kullanarak bir yardım konusu oluşturun. Bir işleve yönelik yoruma dayalı yardım oluşturmak için, yorumların işlev gövdesinin başına veya sonuna ya da işlev anahtar sözcüğünden önceki satırlara yerleştirilmesi gerekir. Yoruma dayalı yardım hakkında daha fazla bilgi için bkz. about_Comment_Based_Help.
İşlevler için XML Tabanlı Yardım
Genellikle cmdlet'ler için oluşturulan tür gibi XML tabanlı bir yardım konusu oluşturun. Yardım konularını birden fazla dile yerelleştiriyorsanız XML tabanlı yardım gereklidir.
İşlevi XML tabanlı yardım konusuyla ilişkilendirmek için
.EXTERNALHELPyorum tabanlı yardım anahtar sözcüğünü kullanın. Bu anahtar kelime olmadanGet-Help, işlev yardımı konusunu bulamaz ve işlevin yalnızca otomatik olarak oluşturulan yardımını döndürmek içinGet-Help'e çağrı yapar..EXTERNALHELPanahtar sözcüğü hakkında daha fazla bilgi için bkz. about_Comment_Based_Help. XML tabanlı yardım hakkında daha fazla bilgi için bkz. Cmdlet Yardımı Nasıl Yazılır.
Ayrıca bakınız
- about_Automatic_Variables
- about_Comment_Based_Help
- about_Function_Provider
- about_Functions_Advanced
- about_Functions_Advanced_Methods
- about_Functions_Advanced_Parameters
- about_Functions_CmdletBindingAttribute
- about_Functions_OutputTypeAttribute
- about_Parameters
- about_Profiles
- about_Scopes
- about_Script_Blocks