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.
Sağlayıcı adı
İşlev
Drives
Function:
Capabilities
ShouldProcess
Kısa açıklama
PowerShell'de tanımlanan işlevlere erişim sağlar.
Ayrıntılı açıklama
PowerShell İşlevi sağlayıcısı, PowerShell'deki işlevleri ve filtreleri almanıza, eklemenize, değiştirmenize, temizlemenize ve silmenize olanak tanır.
İşlev, bir eylem gerçekleştiren adlandırılmış kod bloğudur. İşlev adını yazdığınızda işlevdeki kod çalışır. Filtre, bir eylem için koşullar oluşturan adlandırılmış bir kod bloğudur. Koşulun yerine filtrenin adını yazabilirsiniz, örneğin bir Where-Object komut.
İşlev sürücüsü, yalnızca işlev ve filtre nesnelerini içeren düz bir ad alanıdır. İşlevlerin veya filtrelerin alt öğeleri yoktur.
İşlev sağlayıcısı, bu makalede ele alınan aşağıdaki cmdlet'leri destekler.
Bu sağlayıcı tarafından kullanıma sunulan türler
Her işlev System.Management.Automation.FunctionInfo sınıfının bir örneğidir. Her filtre System.Management.Automation.FilterInfo sınıfının bir örneğidir.
İşlev sürücüsünde gezinme
İşlev sağlayıcısı, veri deposunu sürücüde Function: kullanıma sunar. İşlevlerle çalışmak için konumunuzu sürücü (Function:Set-Location Function:) olarak değiştirebilirsiniz. Alternatif olarak, başka bir PowerShell sürücüsünden de çalışabilirsiniz. Başka bir konumdan bir işleve başvurmak için yoldaki sürücü adını (Function:) kullanın.
Set-Location Function:
Bir dosya sistemi sürücüsüne dönmek için sürücü adını yazın. Örneğin, şunu yazın:
Set-Location C:
İşlev sağlayıcısıyla başka bir PowerShell sürücüsünden de çalışabilirsiniz. Başka bir konumdan bir işleve başvurmak için yoldaki sürücü adını Function: kullanın.
Not
PowerShell, sağlayıcı yollarıyla çalışmak için tanıdık bir yol sağlamak için diğer adları kullanır.
dir ve ls gibi komutlar artık Get-ChildItemiçin bir diğer ad, cdSet-Location için bir diğer ad ve pwdGet-Locationiçin bir diğer addır.
İşlevleri alma
Bu komut geçerli oturumdaki tüm işlevlerin listesini alır. Bu komutu herhangi bir PowerShell sürücüsünden kullanabilirsiniz.
Get-ChildItem -Path Function:
İşlev sağlayıcısının kapsayıcısı yoktur, bu nedenle yukarıdaki komut ile Get-ChildItemkullanıldığında aynı etkiye sahiptir.
Get-ChildItem -Path Function:
Aşağıda gösterildiği gibi Tanım özelliğine erişerek bir işlevin tanımını alabilirsiniz.
(Get-Item -Path Function:more).Definition
Ayrıca, bir işlevin tanımını dolar işareti ()$ ön ekli sağlayıcı yolunu kullanarak da alabilirsiniz.
$Function:more
Adında tire (-) bulunan bir işlevin tanımını almak için, dolar işaretinden sonraki küme ayraçlarını sarmalayın.
${Function:Clear-Host}
Seçili işlevleri alma
Bu komut, işlevi sürücüden man alırFunction:. İşlevi Get-Item almak için cmdlet'ini kullanır. İşlem hattı işleci (|), sonucu öğesine Format-Tablegönderir. parametresi, -Wrap satıra sığmayan metni bir sonraki satıra yönlendirir. parametresi, -AutoSize tablo sütunlarını metne uyacak şekilde yeniden boyutlandırır.
Get-Item -Path man | Format-Table -Wrap -AutoSize
İşlev sağlayıcısı yollarıyla çalışma
Bu komutların her ikisi de adlı C:işlevi alır. İlk komut herhangi bir sürücüde kullanılabilir. İkinci komut sürücüde Function: kullanılır. Ad bir sürücünün söz dizimi olan iki nokta üst üste ile sona erdiğinden, yolu sürücü adıyla nitelemeniz gerekir. Sürücüde Function: her iki biçimi de kullanabilirsiniz. İkinci komutta nokta (.) geçerli konumu temsil eder.
PS C:\> Get-Item -Path Function:c:
PS Function:\> Get-Item -Path .\c:
İşlev oluşturma
Bu komut cmdlet'ini New-Item kullanarak adlı Win32:bir işlev oluşturur.
Küme ayraçlarındaki ifade, işlev adıyla temsil edilen betik bloğudur.
New-Item -Path Function:Win32: -Value {Set-Location C:\Windows\System32}
Kapsamlar
Değişkenler gibi işlevler de belirli bir kapsama aittir. İşlev oluşturduğunuzda, yalnızca oluşturulduğu kapsamda kullanılabilir. İşlevi kullanılabilir hale getirmek için, işlevi oluştururken kapsam değiştirici kullanın. Daha fazla bilgi için bkz. about_Scopes.
Aşağıdaki örnekte, genel kapsamda bir işlev oluşturmak için Global: kapsam değiştiricisi kullanılmaktadır.
function New-Function {
param(
[string] $Name,
[scriptblock] $Script
)
$lp = "Function:\Global:$($Name)"
Set-Item -LiteralPath $lp -Value $Script -PassThru -Force
}
New-Function -Name 'Win32:' -Script { Set-Location C:\Windows\System32 }
Global: kapsam değiştiricisi olmadan işlev yerel kapsamda oluşturulur.
New-Function çıktığında yeni oluşturulan işlev artık mevcut olmayacaktır.
İşlev silme
Bu komut işlevi geçerli oturumdan siler more .
Remove-Item Function:more
İşlevi değiştirme
Bu komut Set-Item , cmdlet'ini kullanarak işlevi yoldan önceki zamanı görüntüleyebilecek şekilde değiştirir prompt .
Set-Item -Path Function:prompt -Value {
'PS '+ (Get-Date -Format t) + " " + (Get-Location) + '> '
}
İşlevi yeniden adlandırma
Bu komut, işlevin Rename-Itemhelpadını olarak değiştirmek için cmdlet'ini gh kullanır.
Rename-Item -Path Function:help -NewName gh
İşlev kopyalama
Bu komut, işlevini öğesine oldPromptkopyalar prompt ve komut istemi işleviyle ilişkili betik bloğu için etkili bir şekilde yeni bir ad oluşturur.
Bunu, değiştirmeyi planlıyorsanız özgün istem işlevini kaydetmek için kullanabilirsiniz.
Yeni işlevin Options özelliği değeri vardırNone. Options özelliğinin
Copy-Item -Path Function:prompt -Destination Function:oldPrompt
Dinamik parametreler
Dinamik parametreler, bir PowerShell sağlayıcısı tarafından eklenen cmdlet parametreleridir ve yalnızca cmdlet sağlayıcı etkin sürücüde kullanıldığında kullanılabilir.
Seçenekler <[System.Management.Automation.ScopedItemOptions]>
bir işlevin Options özelliğinin değerini belirler.
-
None: Seçenek yok.Nonevarsayılan değerdir. -
Constant: İşlev silinemez ve özellikleri değiştirilemez.Constantyalnızca bir işlev oluştururken kullanılabilir. Mevcut bir işlevin seçeneğini olarakConstantdeğiştiremezsiniz. -
Private: İşlev yalnızca geçerli kapsamda görünür - (alt kapsamlarda değil).
-
ReadOnly: parametresinin kullanılması dışında işlevin-Forceözellikleri değiştirilemez. işlevini silmek için kullanabilirsinizRemove-Item. -
AllScope: İşlev, oluşturulan tüm yeni kapsamlara kopyalanır.
Desteklenen cmdlet'ler
İşlem hattını kullanma
Sağlayıcı cmdlet'leri işlem hattı girişini kabul eder. Bir cmdlet'ten başka bir sağlayıcı cmdlet'ine sağlayıcı verileri göndererek görevi basitleştirmek için işlem hattını kullanabilirsiniz. İşlem hattını sağlayıcı cmdlet'leriyle kullanma hakkında daha fazla bilgi edinmek için bu makalenin tamamında sağlanan cmdlet başvurularına bakın.
Yardım alma
Windows PowerShell 3.0'dan başlayarak, bu cmdlet'lerin bir dosya sistemi sürücüsünde nasıl davrandığını açıklayan sağlayıcı cmdlet'leri için özelleştirilmiş yardım konuları alabilirsiniz.
Dosya sistemi sürücüsü için özelleştirilmiş yardım konularını almak için bir dosya sistemi sürücüsünde Get-Help komutunu çalıştırın veya Get-Help parametresini kullanarak -Path bir dosya sistemi sürücüsü belirtin.
Get-Help Get-ChildItem
Get-Help Get-ChildItem -Path Function:
Ayrıca bakınız
PowerShell