about_Function_Provider

Sağlayıcı adı

İşlev

Sürücüler

Function:

Özellikler

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 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. ve gibi dir komutlar artık Get-ChildItem için diğer addır, cd Set-Location için bir diğer addırls. ve pwd Get-Location iç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 Function: alırman. İş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}

İşlevi PowerShell komut satırına yazarak da oluşturabilirsiniz. Örneğin, tpe Function:Win32: {Set-Location C:\Windows\System32}. Sürücüdeyseniz Function: , sürücü adını atlayabilirsiniz.

İş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-Itemghadını olarak değiştirmek için cmdlet'ini help 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 değerini değiştirmek için kullanınSet-Item.

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. None varsayılan değerdir.
  • Constant: İşlev silinemez ve özellikleri değiştirilemez. Constant yalnızca bir işlev oluştururken kullanılabilir. Mevcut bir işlevin seçeneğini olarak Constantdeğ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 kullanabilirsiniz Remove-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 bkz.