Get-Command

Tüm komutları alır.

Syntax

Get-Command
   [-Verb <String[]>]
   [-Noun <String[]>]
   [-Module <String[]>]
   [-FullyQualifiedModule <ModuleSpecification[]>]
   [-TotalCount <Int32>]
   [-Syntax]
   [-ShowCommandInfo]
   [[-ArgumentList] <Object[]>]
   [-All]
   [-ListImported]
   [-ParameterName <String[]>]
   [-ParameterType <PSTypeName[]>]
   [<CommonParameters>]
Get-Command
   [[-Name] <String[]>]
   [-Module <String[]>]
   [-FullyQualifiedModule <ModuleSpecification[]>]
   [-CommandType <CommandTypes>]
   [-TotalCount <Int32>]
   [-Syntax]
   [-ShowCommandInfo]
   [[-ArgumentList] <Object[]>]
   [-All]
   [-ListImported]
   [-ParameterName <String[]>]
   [-ParameterType <PSTypeName[]>]
   [-UseFuzzyMatching]
   [<CommonParameters>]

Description

Cmdlet, cmdlet'ler Get-Command , diğer adlar, işlevler, filtreler, betikler ve uygulamalar dahil olmak üzere bilgisayarda yüklü olan tüm komutları alır. Get-Command , Diğer oturumlardan içeri aktarılan PowerShell modüllerinden ve komutlarından komutları alır. Yalnızca geçerli oturuma aktarılmış komutları almak için ListImported parametresini kullanın.

Parametreler olmadan, Get-Command bilgisayarda yüklü tüm cmdlet'leri, işlevleri ve diğer adları alır. Get-Command * , Uygulama komut türünde listelediği Yol ortam değişkenindeki ()$env:Path PowerShell olmayan tüm dosyalar dahil olmak üzere tüm komut türlerini alır.

Get-Command komutun tam adını kullanan, joker karakterler olmadan komutu içeren modülü otomatik olarak içeri aktarır, böylece komutu hemen kullanabilirsiniz. Modüllerin otomatik içeri aktarılmasını etkinleştirmek, devre dışı bırakmak ve yapılandırmak için tercih değişkenini $PSModuleAutoLoadingPreference kullanın. Daha fazla bilgi için bkz. about_Preference_Variables.

Get-Command , yardım konularından bilgilerini alan 'dan farklı olarak Get-Help, verilerini doğrudan komut kodundan alır.

Windows PowerShell 5.0 sürümünden Get-Command itibaren cmdlet'in sonuçları varsayılan olarak bir Sürüm sütunu görüntüler. CommandInfo sınıfına yeni bir Version özelliği eklendi.

Örnekler

Örnek 1: Cmdlet'leri, işlevleri ve diğer adları alma

Bu komut, bilgisayarda yüklü olan PowerShell cmdlet'lerini, işlevlerini ve diğer adlarını alır.

Get-Command

Örnek 2: Geçerli oturumdaki komutları alma

Bu komut yalnızca geçerli oturumdaki komutları almak için ListImported parametresini kullanır.

Get-Command -ListImported

Örnek 3: Cmdlet'leri alma ve sırayla görüntüleme

Bu komut tüm cmdlet'leri alır, cmdlet adındaki ada göre alfabetik olarak sıralar ve sonra ad tabanlı gruplarda görüntüler. Bu ekran, görevin cmdlet'lerini bulmanıza yardımcı olabilir.

Get-Command -Type Cmdlet | Sort-Object -Property Noun | Format-Table -GroupBy Noun

Örnek 4: Modüldeki komutları alma

Bu komut, Microsoft.PowerShell.Security ve Microsoft.PowerShell.Utility modüllerindeki komutları almak için Module parametresini kullanır.

Get-Command -Module Microsoft.PowerShell.Security, Microsoft.PowerShell.Utility

Örnek 5: Cmdlet hakkında bilgi alma

Bu komut, cmdlet hakkında Get-AppLockerPolicy bilgi alır. Ayrıca AppLocker modülündeki tüm komutları geçerli oturuma ekleyen AppLocker modülünü içeri aktarır.

Get-Command Get-AppLockerPolicy

Bir modül otomatik olarak içeri aktarıldığında, etki Import-Module cmdlet'ini kullanmakla aynıdır. Modül komutlar, türler ve biçimlendirme dosyaları ekleyebilir ve oturumda betikleri çalıştırabilir. Modüllerin otomatik içeri aktarılmasını etkinleştirmek, devre dışı bırakmak ve yapılandırmak için tercih değişkenini $PSModuleAutoLoadingPreference kullanın. Daha fazla bilgi için bkz. about_Preference_Variables.

Örnek 6: Cmdlet'in söz dizimini alma

Bu komut, Cert: sürücüsünde kullanıldığında cmdlet'in Get-ChildItem söz dizimini almak için ArgumentList ve Sözdizimi parametrelerini kullanır. Cert: sürücüsü, Sertifika Sağlayıcısı'nın oturuma eklediği bir PowerShell sürücüsüdür.

Get-Command Get-Childitem -Args Cert: -Syntax

Çıktıda görüntülenen söz dizimini Args (ArgumentList) parametresini atladığınızda görüntülenen söz dizimi ile karşılaştırdığınızda, Sertifika sağlayıcısının cmdlet'e Get-ChildItemCodeSigningCert adlı dinamik bir parametre eklediğini görürsünüz.

Sertifika sağlayıcısı hakkında daha fazla bilgi için bkz. about_Certificate_Provider.

Örnek 7: Dinamik parametreleri alma

Örnekteki komut, Sertifika sağlayıcısının Get-DynamicParameters Cert: sürücüsünde kullanıldığında cmdlet'e eklediği dinamik parametreleri almak için Get-ChildItem işlevini kullanır.

function Get-DynamicParameters
{
    param ($Cmdlet, $PSDrive)
    (Get-Command $Cmdlet -ArgumentList $PSDrive).ParameterSets | ForEach-Object {$_.Parameters} | Where-Object { $_.IsDynamic } | Select-Object -Property Name -Unique
}
Get-DynamicParameters -Cmdlet Get-ChildItem -PSDrive Cert:

Name
----
CodeSigningCert

Get-DynamicParameters Bu örnekteki işlev, bir cmdlet'in dinamik parametrelerini alır. Bu, önceki örnekte kullanılan yöntemin alternatifidir. Dinamik parametre bir cmdlet'e başka bir cmdlet veya sağlayıcı tarafından eklenebilir.

Örnek 8: Tüm türlerdeki tüm komutları alma

Bu komut, Path ortam değişkeninin ()$env:path yollarındaki yürütülebilir dosyalar da dahil olmak üzere yerel bilgisayardaki tüm türlerdeki tüm komutları alır.

Get-Command *

FileInfo nesnesi (System.IO.FileInfo) değil, her dosya için bir ApplicationInfo nesnesi (System.Management.Automation.ApplicationInfo) döndürür.

Örnek 9: Parametre adı ve türü kullanarak cmdlet'leri alma

Bu komut, adında Auth bulunan ve türü AuthenticationMechanism olan bir parametreye sahip cmdlet'leri alır.

Get-Command -ParameterName *Auth* -ParameterType AuthenticationMechanism

Kullanıcının kimliğini doğrulamak için kullanılan yöntemi belirtmenize olanak sağlayan cmdlet'leri bulmak için bunun gibi bir komut kullanabilirsiniz.

ParameterType parametresi, AuthenticationMechanism değerini alan parametreleri, benzer adlara sahip olsalar bile AuthenticationLevel parametresini alan parametrelerden ayırt eder.

Örnek 10: Diğer ad alma

Bu örnekte cmdlet'in Get-Command diğer adla nasıl kullanılacağı gösterilmektedir.

Get-Command dir

CommandType     Name                                               ModuleName
-----------     ----                                               ----------
Alias           dir -> Get-ChildItem

Genellikle cmdlet'lerde ve işlevlerde kullanılsa da betikler Get-Command , işlevler, diğer adlar ve yürütülebilir dosyalar da alınır.

Komutun çıktısı, diğer adlar için Name özellik değerinin özel görünümünü gösterir. Görünümde diğer ad ve tam komut adı gösterilir.

Örnek 11: Not Defteri komutunun tüm örneklerini alma

Bu örnekte, yerel bilgisayardaki "Not Defteri" komutunun Get-Command tüm örneklerini göstermek için cmdlet'in All parametresi kullanılır.

Get-Command Notepad -All | Format-Table CommandType, Name, Definition

CommandType     Name           Definition
-----------     ----           ----------
Application     notepad.exe    C:\WINDOWS\system32\notepad.exe
Application     NOTEPAD.EXE    C:\WINDOWS\NOTEPAD.EXE

Oturumda aynı ada sahip birden fazla komut olduğunda All parametresi kullanışlıdır.

Windows PowerShell 3.0 sürümünden başlayarak, oturum aynı ada sahip birden çok komut içerdiğinde, varsayılan olarak yalnızca Get-Command komut adını yazdığınızda çalıştırılan komutu alır. All parametresiyle, Get-Command belirtilen ada sahip tüm komutları alır ve yürütme öncelik sırasına göre döndürür. Listedeki ilk komut dışında bir komut çalıştırmak için, komutun tam yolunu yazın.

Komut önceliği hakkında daha fazla bilgi için bkz. about_Command_Precedence.

Örnek 12: Cmdlet içeren modülün adını alma

Bu komut, cmdlet'in kaynaklandığı modülün Get-Date adını alır. komutu tüm komutların ModuleName özelliğini kullanır.

(Get-Command Get-Date).ModuleName

Microsoft.PowerShell.Utility

Bu komut biçimi, oturuma aktarılmasalar bile PowerShell modüllerindeki komutlarda çalışır.

Örnek 13: Çıkış türüne sahip cmdlet'leri ve işlevleri alma

Get-Command -Type Cmdlet | Where-Object OutputType | Format-List -Property Name, OutputType

Bu komut, çıkış türüne ve döndürdikleri nesne türüne sahip cmdlet'leri ve işlevleri alır.

Komutun ilk bölümü tüm cmdlet'leri alır. İşlem hattı işleci (|) cmdlet'ine Where-Object cmdlet'leri gönderir ve bu cmdlet yalnızca OutputType özelliğinin dolduruldığı cmdlet'leri seçer. Başka bir işlem hattı işleci, seçilen cmdlet nesnelerini cmdlet'e Format-List gönderir ve bu da listedeki her cmdlet'in adını ve çıkış türünü görüntüler.

CommandInfo nesnesinin OutputType özelliği, yalnızca cmdlet kodu cmdlet için OutputType özniteliğini tanımladığında null olmayan bir değere sahiptir.

Örnek 14: Belirli bir nesne türünü giriş olarak kullanan cmdlet'leri alma

Get-Command -ParameterType (((Get-NetAdapter)[0]).PSTypeNames)

CommandType     Name                                               ModuleName
-----------     ----                                               ----------
Function        Disable-NetAdapter                                 NetAdapter
Function        Enable-NetAdapter                                  NetAdapter
Function        Rename-NetAdapter                                  NetAdapter
Function        Restart-NetAdapter                                 NetAdapter
Function        Set-NetAdapter                                     NetAdapter

Bu komut, giriş olarak ağ bağdaştırıcısı nesnelerini alan cmdlet'leri bulur. Herhangi bir komutun döndürdüğü nesne türlerini kabul eden cmdlet'leri bulmak için bu komut biçimini kullanabilirsiniz.

komutu, tüm nesnelerin PSTypeNames iç özelliğini kullanır ve bu özellik nesneyi açıklayan türleri alır. Komut, bir ağ bağdaştırıcıları koleksiyonunun PSTypeNames özelliğini değil, bir ağ bağdaştırıcısının PSTypeNames özelliğini almak için, cmdlet'in döndürdüğü ilk ağ bağdaştırıcısını almak için dizi gösterimini kullanır.

Örnek 15: Benzer eşleşme kullanarak komut alma

Bu örnekte, komutun adında kasıtlı olarak 'get-commnd' olarak bir yazım hatası vardır. -UseFuzzyMatching cmdlet'i, anahtarı kullanarak en iyi eşleşmenin sistemdeki benzer bir eşleşme olan diğer yerel komutlar tarafından takip edildiğine Get-Command karar verdi.

Get-Command get-commnd -UseFuzzyMatching

CommandType     Name                                               Version    Source
-----------     ----                                               -------    ------
Cmdlet          Get-Command                                        6.2.0.0    Microsoft.PowerShell.Core
Application     getconf                                            0.0.0.0    /usr/bin/getconf
Application     command                                            0.0.0.0    /usr/bin/command

Parametreler

-All

Bu cmdlet'in aynı ada sahip aynı türdeki komutlar da dahil olmak üzere tüm komutları aldığını gösterir. Varsayılan olarak, Get-Command yalnızca komut adını yazdığınızda çalıştırılan komutları alır.

PowerShell'in birden çok komut aynı ada sahip olduğunda çalıştırılacak komutu seçmek için kullandığı yöntem hakkında daha fazla bilgi için bkz. about_Command_Precedence. Modüle uygun komut adları ve ad çakışması nedeniyle varsayılan olarak çalışmayan komutları çalıştırma hakkında bilgi için bkz. about_Modules.

Bu parametre Windows PowerShell 3.0'da kullanıma sunulmuştur.

Windows PowerShell 2.0'da varsayılan Get-Command olarak tüm komutları alır.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-ArgumentList

Bir bağımsız değişken dizisi belirtir. Bu cmdlet, belirtilen parametrelerle ("bağımsız değişkenler") kullanıldığında bir cmdlet veya işlev hakkında bilgi alır. ArgumentList için diğer ad Args'dir.

Yalnızca diğer bazı parametreler kullanıldığında kullanılabilen dinamik parametreleri algılamak için ArgumentList değerini dinamik parametreleri tetikleyen parametrelere ayarlayın.

Sağlayıcının bir cmdlet'e eklediği dinamik parametreleri algılamak için ArgumentList parametresinin değerini sağlayıcı sürücüsündeki WSMan:, HKLM: veya Cert: gibi bir yola ayarlayın. Komut bir PowerShell sağlayıcısı cmdlet'i olduğunda, her komutta yalnızca bir yol girin. Sağlayıcı cmdlet'leri yalnızca Ilk yol için ArgumentList değerinin dinamik parametrelerini döndürür. Sağlayıcı cmdlet'leri hakkında bilgi için bkz. about_Providers.

Type:Object[]
Aliases:Args
Position:1
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-CommandType

Bu cmdlet'in aldığı komut türlerini belirtir. Bir veya daha fazla komut türü girin. CommandType veya diğer adı olan Type'i kullanın. Varsayılan olarak, Get-Command tüm cmdlet'leri, işlevleri ve diğer adları alır.

Bu parametrenin kabul edilebilir değerleri şunlardır:

  • Diğer ad. Tüm PowerShell komutlarının diğer adlarını alır. Daha fazla bilgi için bkz. about_Aliases.
  • Tüm. Tüm komut türlerini alır. Bu parametre değeri ile eşdeğerdir Get-Command *.
  • Uygulama. .txt, .exe ve .dll dosyaları dahil olmak üzere Yol ortam değişkeninde ($env:path) listelenen yollarda PowerShell olmayan dosyaları alır. Yol ortam değişkeni hakkında daha fazla bilgi için bkz. about_Environment_Variables.
  • Cmdlet. Tüm cmdlet'leri alır.
  • ExternalScript. Yol ortam değişkeninde ($env:path) listelenen yollardaki tüm .ps1 dosyalarını alır.
  • Filter ve Function. Tüm PowerShell gelişmiş ve basit işlevlerini ve filtrelerini alır.
  • Komut dosyası. Tüm betik bloklarını alır. PowerShell betiklerini (.ps1 dosyaları) almak için ExternalScript değerini kullanın.
Type:CommandTypes
Aliases:Type
Accepted values:Alias, Function, Filter, Cmdlet, ExternalScript, Application, Script, Workflow, Configuration, All
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-FullyQualifiedModule

ModuleSpecification Constructor(Hashtable) öğesinin Açıklamalar bölümünde açıklanan ModuleSpecification nesneleri biçiminde belirtilen adlara sahip modülleri belirtir. Örneğin, FullyQualifiedModule parametresi aşağıdaki biçimlerden birinde belirtilen bir modül adını kabul eder:

  • @{ModuleName = "modulename"; ModuleVersion = "version_number"}
  • @{ModuleName = "modulename"; ModuleVersion = "version_number"; Guid = "GUID"}

ModuleName ve ModuleVersion gereklidir, ancak Guid isteğe bağlıdır.

Bir Module parametresiyle aynı komutta FullyQualifiedModule parametresini belirtemezsiniz. İki parametre birbirini dışlar.

Type:ModuleSpecification[]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-ListImported

Bu cmdlet'in yalnızca geçerli oturumdaki komutları aldığını gösterir.

PowerShell 3.0'dan başlayarak, varsayılan olarak geçerli Get-Command oturumdaki komutlar dahil ancak bunlarla sınırlı olmamak üzere tüm yüklü komutları alır. PowerShell 2.0'da yalnızca geçerli oturumdaki komutları alır.

Bu parametre Windows PowerShell 3.0'da kullanıma sunulmuştur.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Module

Modül dizisini belirtir. Bu cmdlet, belirtilen modüllerden gelen komutları alır. Modüllerin veya modül nesnelerinin adlarını girin.

Bu parametre dize değerlerini alır, ancak bu parametrenin değeri ve Import-PSSession cmdlet'lerinin döndüreceği Get-Module nesneler gibi bir PSModuleInfo nesnesi de olabilir.

Type:String[]
Aliases:PSSnapin
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:True

-Name

Ad dizisini belirtir. Bu cmdlet yalnızca belirtilen ada sahip komutları alır. Bir ad veya ad deseni girin. Joker karakterlere izin verilir.

Aynı ada sahip komutları almak için Tümü parametresini kullanın. İki komut aynı ada sahip olduğunda, varsayılan olarak, Get-Command komut adını yazdığınızda çalıştırılan komutu alır.

Type:String[]
Position:0
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:True

-Noun

Komut adları dizisini belirtir. Bu cmdlet, belirtilen adı içeren adlara sahip cmdlet'leri, işlevleri ve diğer adları içeren komutları alır. Bir veya daha fazla isim veya isim deseni girin. Joker karakterlere izin verilir.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:True

-ParameterName

Parametre adları dizisini belirtir. Bu cmdlet, oturumda belirtilen parametrelere sahip komutları alır. Parametre adlarını veya parametre diğer adlarını girin. Joker karakterler desteklenmektedir.

ParameterName ve ParameterType parametreleri yalnızca geçerli oturumdaki komutları arar.

Bu parametre Windows PowerShell 3.0'da kullanıma sunulmuştur.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-ParameterType

Parametre adları dizisini belirtir. Bu cmdlet, oturumda belirtilen türde parametreleri olan komutları alır. Parametre türünün tam adını veya kısmi adını girin. Joker karakterler desteklenmektedir.

ParameterName ve ParameterType parametreleri yalnızca geçerli oturumdaki komutları arar.

Bu parametre Windows PowerShell 3.0'da kullanıma sunulmuştur.

Type:PSTypeName[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-ShowCommandInfo

Bu cmdlet'in komut bilgilerini görüntülediğini gösterir.

Bu parametre Windows PowerShell 5.0'da tanıtıldı.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Syntax

Bu cmdlet'in komut hakkında yalnızca aşağıdaki belirtilen verileri aldığını gösterir:

  • Takma. Standart adı alır.
  • Cmdlet 'leri. Söz dizimini alır.
  • İşlevler ve filtreler. İşlev tanımını alır.
  • Betikler ve uygulamalar veya dosyalar. Yolu ve dosya adını alır.
Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-TotalCount

Alınacak komut sayısını belirtir. Komutun çıkışını sınırlamak için bu parametreyi kullanabilirsiniz.

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-UseFuzzyMatching

Komutları bulurken benzer öğe eşleştirme algoritmasının kullanılmasını gösterir. Çıktının sırası en yakın eşleşmeden en düşük olası eşleşmeye kadardır. Joker karakterler, bu joker karakterleri içerebilecek komutları eşleştirmeye çalışacağı için belirsiz eşleştirme ile kullanılmamalıdır.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Verb

Komut fiilleri dizisini belirtir. Bu cmdlet, belirtilen fiili içeren adlara sahip cmdlet'leri, işlevleri ve diğer adları içeren komutları alır. Bir veya daha fazla fiil veya fiil deseni girin. Joker karakterlere izin verilir.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:True

Girişler

String

Komut adlarını bu cmdlet'e yöneltebilirsiniz.

Çıkışlar

CommandInfo

Bu cmdlet , CommandInfo sınıfından türetilen nesneleri döndürür. Döndürülen nesnenin türü, gelen komutun Get-Command türüne bağlıdır.

AliasInfo

Diğer adları temsil eder.

ApplicationInfo

Uygulamaları ve dosyaları temsil eder.

CmdletInfo

Cmdlet'leri temsil eder.

FunctionInfo

İşlevleri ve filtreleri temsil eder.

Notlar

  • Oturumda aynı ada sahip birden fazla komut kullanılabiliyorsa, Get-Command komut adını yazdığınızda çalışan komutu döndürür. Aynı ada sahip, çalıştırma sırasına göre listelenen komutları almak için Tümü parametresini kullanın. Daha fazla bilgi için bkz. about_Command_Precedence.
  • Bir modül otomatik olarak içeri aktarıldığında, etki cmdlet'ini kullanmakla Import-Module aynıdır. Modül komutlar, türler ve biçimlendirme dosyaları ekleyebilir ve oturumda betikleri çalıştırabilir. Modüllerin otomatik içeri aktarılmasını etkinleştirmek, devre dışı bırakmak ve yapılandırmak için tercih değişkenini $PSModuleAutoLoadingPreference kullanın. Daha fazla bilgi için bkz. about_Preference_Variables.