Aracılığıyla paylaş


Bölüm 2 - Yardım sistemi

PowerShell'de yeterliliği değerlendirmek için tasarlanan bir denemede, yeni başlayanlar ve uzmanlar olmak üzere iki farklı BT uzmanı grubuna ilk olarak bir bilgisayara erişim olmadan yazılı bir sınav verildi. Şaşırtıcı bir şekilde, test puanları her iki grupta da karşılaştırılabilir becerileri gösteriyordu. Ardından ilkini yansıtan ancak tek bir önemli farkla sonraki bir test uygulandı: katılımcıların PowerShell ile donatılmış çevrimdışı bir bilgisayara erişimi vardı. Sonuçlar, bu kez iki grup arasında önemli bir beceri boşluğu olduğunu ortaya koydu.

İki değerlendirme arasında gözlemlenen sonuçlara hangi faktörler katkıda bulundu?

Uzmanlar her zaman yanıtları bilmez, ancak yanıtları nasıl çözeceklerini bilirler.

İki testin sonuçlarında gözlemlenen sonuçlar, uzmanların binlerce PowerShell komutunu ezberlememelerinden kaynaklanıyordu. Bunun yerine, PowerShell'deki Yardım sistemini kullanma konusunda uzmandır ve gerektiğinde komutları bulmayı ve kullanmayı öğrenmelerini sağlar.

Yardım sistemiyle yetkin olmak, PowerShell ile başarının anahtarıdır.

PowerShell'in yaratıcısı Jeffrey Snover'ın benzer bir hikayeyi birden çok kez paylaştığını duydum.

Bulunabilirlik

PowerShell'de derlenen komutlar, "CMD-let" olarak değil, "command-let" olarak telaffuz edilen cmdlet'ler olarak bilinir. Cmdlet'ler için adlandırma kuralı, kolayca bulunabilir hale getirmek için tekil bir Fiil-İsim biçimini izler. Örneğin, Get-Process hangi işlemlerin çalıştığını belirleyen cmdlet ve Get-Service hizmetlerin listesini almak için kullanılan cmdlet'tir. Betik cmdlet'leri olarak da bilinen işlevler ve diğer adlar, bu kitabın ilerleyen bölümlerinde ele alınan diğer PowerShell komut türleridir. "PowerShell komutu" terimi, cmdlet, işlev veya diğer addan bağımsız olarak PowerShell'deki tüm komutları açıklar.

PowerShell'den ve ipconfig.exegibi ping.exe geleneksel komut satırı programları gibi işletim sistemi yerel komutlarını da çalıştırabilirsiniz.

PowerShell'deki üç çekirdek cmdlet'i

  • Get-Help
  • Get-Command
  • Get-Member (3. bölümde ele alınmıştır)

Sık sık şu soruldu: "PowerShell'de komutların ne olduğunu nasıl anlıyorsunuz?". Hem hem Get-Command de Get-Help PowerShell'deki komutları bulmak ve anlamak için çok değerli kaynaklardır.

Get-Help

PowerShell'deki Yardım sistemi hakkında bilmeniz gereken ilk şey, cmdlet'in Get-Help nasıl kullanılacağıdır.

Get-Help , komutları bulduğunuzda nasıl kullanacağınızı öğrenmenize yardımcı olan çok amaçlı bir komutdur. komutlarını bulmak için de kullanabilirsiniz Get-Help , ancak ile karşılaştırıldığında Get-Commandfarklı ve daha dolaylı bir şekilde kullanabilirsiniz.

komutlarını bulmak için kullanırken Get-Help , başlangıçta girişinize göre komut adları için bir joker karakter araması gerçekleştirir. Bu herhangi bir eşleşme bulamazsa sisteminizdeki tüm PowerShell yardım makalelerinde kapsamlı bir tam metin araması yürütür. Bu da herhangi bir sonuç bulamazsa bir hata döndürür.

Cmdlet'in yardım içeriğini görüntülemek için Get-Help şu şekilde kullanılırGet-Help.

Get-Help -Name Get-Help

PowerShell sürüm 3.0'da başlayarak, yardım içeriği işletim sistemiyle önceden yüklenmez. İlk kez çalıştırdığınızda Get-Help , PowerShell yardım dosyalarını bilgisayarınıza indirmek isteyip istemediğinizi soran bir ileti görüntülenir.

Y tuşuna basarak Evet yanıtlanması cmdlet'ini Update-Help yürütür ve yardım içeriğini indirir.

Do you want to run Update-Help?
The Update-Help cmdlet downloads the most current Help files for Windows
PowerShell modules, and installs them on your computer. For more information
about the Update-Help cmdlet, see
https:/go.microsoft.com/fwlink/?LinkId=210614.
[Y] Yes  [N] No  [S] Suspend  [?] Help (default is "Y"):

Bu iletiyi almazsanız, yönetici olarak çalışan yükseltilmiş bir PowerShell oturumundan komutunu çalıştırın Update-Help .

Güncelleştirme tamamlandıktan sonra yardım makalesi görüntülenir.

Örneği bilgisayarınızda çalıştırmak için bir dakikanızı ayırın, çıkışı gözden geçirin ve yardım sisteminin bilgileri nasıl düzenlediğini gözlemleyin.

  • AD
  • ÖZET
  • SÖZ DİZİMİ
  • AÇIKLAMA
  • İLGİLİ BAĞLANTILAR
  • AÇIKLAMALAR

Çıkışı gözden geçirirken, yardım makalelerinin genellikle çok fazla miktarda bilgi içerdiğini ve varsayılan olarak gördüğünüz şeyin yardım makalesinin tamamı olmadığını unutmayın.

Parametreler

PowerShell'de bir komut çalıştırdığınızda, komutuna ek bilgi veya giriş sağlamanız gerekebilir. Parametreler, bir komutun davranışını değiştiren seçenekleri ve bağımsız değişkenleri belirtmenize olanak sağlar. Her yardım makalesinin SÖZ DIZIMİ bölümünde komut için kullanılabilir parametreler özetlenmiştir.

Get-Help , yardım makalesinin tamamını veya bir komut alt kümesini döndürmek için belirtebileceğiniz çeşitli parametrelere sahiptir. için tüm kullanılabilir parametreleri görüntülemek içinGet-Help, aşağıdaki örnekte gösterildiği gibi yardım makalesinin SÖZ DIZIMİ bölümüne bakın.

...
SYNTAX
    Get-Help [[-Name] <System.String>] [-Category {Alias | Cmdlet | Provider
    | General | FAQ | Glossary | HelpFile | ScriptCommand | Function |
    Filter | ExternalScript | All | DefaultHelp | Workflow | DscResource |
    Class | Configuration}] [-Component <System.String[]>] [-Full]
    [-Functionality <System.String[]>] [-Path <System.String>] [-Role
    <System.String[]>] [<CommonParameters>]

    Get-Help [[-Name] <System.String>] [-Category {Alias | Cmdlet | Provider
    | General | FAQ | Glossary | HelpFile | ScriptCommand | Function |
    Filter | ExternalScript | All | DefaultHelp | Workflow | DscResource |
    Class | Configuration}] [-Component <System.String[]>] -Detailed
    [-Functionality <System.String[]>] [-Path <System.String>] [-Role
    <System.String[]>] [<CommonParameters>]

    Get-Help [[-Name] <System.String>] [-Category {Alias | Cmdlet | Provider
    | General | FAQ | Glossary | HelpFile | ScriptCommand | Function |
    Filter | ExternalScript | All | DefaultHelp | Workflow | DscResource |
    Class | Configuration}] [-Component <System.String[]>] -Examples
    [-Functionality <System.String[]>] [-Path <System.String>] [-Role
    <System.String[]>] [<CommonParameters>]

    Get-Help [[-Name] <System.String>] [-Category {Alias | Cmdlet | Provider
    | General | FAQ | Glossary | HelpFile | ScriptCommand | Function |
    Filter | ExternalScript | All | DefaultHelp | Workflow | DscResource |
    Class | Configuration}] [-Component <System.String[]>] [-Functionality
    <System.String[]>] -Online [-Path <System.String>] [-Role
    <System.String[]>] [<CommonParameters>]

    Get-Help [[-Name] <System.String>] [-Category {Alias | Cmdlet | Provider
    | General | FAQ | Glossary | HelpFile | ScriptCommand | Function |
    Filter | ExternalScript | All | DefaultHelp | Workflow | DscResource |
    Class | Configuration}] [-Component <System.String[]>] [-Functionality
    <System.String[]>] -Parameter <System.String> [-Path <System.String>]
    [-Role <System.String[]>] [<CommonParameters>]

    Get-Help [[-Name] <System.String>] [-Category {Alias | Cmdlet | Provider
    | General | FAQ | Glossary | HelpFile | ScriptCommand | Function |
    Filter | ExternalScript | All | DefaultHelp | Workflow | DscResource |
    Class | Configuration}] [-Component <System.String[]>] [-Functionality
    <System.String[]>] [-Path <System.String>] [-Role <System.String[]>]
    -ShowWindow [<CommonParameters>]
...

Parametre kümeleri

için Get-HelpSÖZ DIZIMİ bölümünü gözden geçirirken, bilgilerin altı kez yinelendiğini görebilirsiniz. Bu blokların her biri ayrı bir parametre kümesidir ve cmdlet'in altı ayrı parametre kümesine sahip olduğunu gösterir Get-Help . Daha yakından bir bakış, her parametre kümesinin en az bir benzersiz parametre içerdiğini ortaya çıkararak diğerlerinden farklı hale getirir.

Parametre kümeleri birbirini dışlar. Yalnızca bir parametre kümesinde bulunan benzersiz bir parametre belirttiğinizde, PowerShell sizi bu parametre kümesinin içinde yer alan parametreleri kullanmakla sınırlar. Örneğin, tam ve ayrıntılı parametrelerini Get-Help birlikte kullanamazsınız çünkü bunlar farklı parametre kümelerine aittir.

Aşağıdaki parametrelerin her biri cmdlet için farklı bir parametre kümesine Get-Help aittir.

  • Tam
  • Ayrıntılı
  • Örnekler
  • Çevrimiçi
  • Parametre
  • GösterWindow

Komut söz dizimi

PowerShell'i yeni kullanıyorsanız SÖZ DIZIMİ bölümünde şifreli bilgileri (kare ve açılı ayraçlarla karakterize) kavramak zor görünebilir. Ancak, bu söz dizimi öğelerini öğrenmek, PowerShell ile yetkin olmak için gereklidir. PowerShell Yardım sistemini ne kadar sık kullanırsanız, tüm nüansları hatırlamak o kadar kolay olur.

Cmdlet'in söz dizimini Get-EventLog görüntüleyin.

Get-Help Get-EventLog

Aşağıdaki çıkışta yardım makalesinin ilgili bölümü gösterilmektedir.

...
SYNTAX
    Get-EventLog [-LogName] <System.String> [[-InstanceId]
    <System.Int64[]>] [-After <System.DateTime>] [-AsBaseObject] [-Before
    <System.DateTime>] [-ComputerName <System.String[]>] [-EntryType {Error
    | Information | FailureAudit | SuccessAudit | Warning}] [-Index
    <System.Int32[]>] [-Message <System.String>] [-Newest <System.Int32>]
    [-Source <System.String[]>] [-UserName <System.String[]>]
    [<CommonParameters>]

    Get-EventLog [-AsString] [-ComputerName <System.String[]>] [-List]
    [<CommonParameters>]
...

Söz dizimi bilgileri köşeli ayraç çiftlerini ([]) içerir. Kullanımlarına bağlı olarak, bu köşeli ayraçlar iki farklı amaca hizmet eder.

  • Köşeli ayraç içine alınmış öğeler isteğe bağlıdır.
  • gibi <string[]>bir veri türünü izleyen boş köşeli ayraç kümesi, parametrenin dizi veya koleksiyon nesnesi olarak geçirilen birden çok değeri kabulebileceğini gösterir.

Konumsal parametreler

Bazı cmdlet'ler konumsal parametreleri kabul etmek üzere tasarlanmıştır. Konumsal parametreler, parametrenin adını belirtmeden bir değer sağlamanıza olanak sağlar. Bir parametreyi konum olarak kullanırken, değerini komut satırında doğru konumda belirtmeniz gerekir. Bir parametrenin konum bilgilerini, komutun yardım makalesinin PARAMETERS bölümünde bulabilirsiniz. Parametre adlarını açıkça belirttiğinizde, parametreleri herhangi bir sırada kullanabilirsiniz.

cmdlet'i Get-EventLog için, ilk parametre kümesindeki ilk parametre LogName'dir. LogName köşeli ayraç içine alınır ve bunun konumsal bir parametre olduğunu gösterir.

Get-EventLog [-LogName] <System.String>

LogName konumsal bir parametre olduğundan, bunu ada veya konuma göre belirtebilirsiniz. Parametre adını izleyen açılı ayraçlara göre LogName değeri tek bir dize olmalıdır. Hem parametre adını hem de veri türünü kapsayan köşeli ayraçların olmaması, LogName'in bu parametre kümesi içinde gerekli bir parametre olduğunu gösterir.

Bu parametre kümesindeki ikinci parametre InstanceId'dir. Hem parametre adı hem de veri türü tamamen köşeli ayraç içine alınır ve InstanceId'nin isteğe bağlı bir parametre olduğunu gösterir.

[[-InstanceId] <System.Int64[]>]

Ayrıca, InstanceId'nin logname parametresine benzer bir konumsal parametre olduğunu belirten kendi köşeli ayraç çifti vardır. Veri türünün ardından boş bir köşeli ayraç kümesi, InstanceId'nin birden çok değeri kabul ettiğini gösterir.

Parametreleri değiştirme

Değer gerektirmeyen bir parametreye anahtar parametresi adı verilir. Parametre adından sonra veri türü olmadığından anahtar parametrelerini kolayca tanımlayabilirsiniz. Bir switch parametresi belirttiğinizde değeri şeklindedir true. Bir switch parametresi belirtmediğinizde değeri şeklindedir false.

İkinci parametre kümesi, anahtar parametresi olan List parametresini içerir. List parametresini belirttiğinizde, yerel bilgisayardaki olay günlüklerinin listesini döndürür.

[-List]

Söz dizimine basitleştirilmiş bir yaklaşım

Düz İngilizce dışında bazı komutlar için şifreli komut söz dizimi ile aynı bilgileri elde etmek için daha kullanıcı dostu bir yöntem vardır. PowerShell, Tam parametresiyle kullanırken Get-Help tam yardım makalesini döndürerek komutun kullanımını anlamayı kolaylaştırır.

Get-Help -Name Get-Help -Full

Örneği bilgisayarınızda çalıştırmak için bir dakikanızı ayırın, çıkışı gözden geçirin ve yardım sisteminin bilgileri nasıl düzenlediğini gözlemleyin.

  • AD
  • ÖZET
  • SÖZ DİZİMİ
  • AÇIKLAMA
  • PARAMETRELER
  • GİRİŞLER
  • ÇIKIŞLAR
  • NOTLAR
  • ÖRNEKLER
  • İLGİLİ BAĞLANTILAR

Cmdlet'iyle Full parametresini Get-Help belirterek çıktıda birkaç ek bölüm bulunur. Bu bölümler arasında PARAMETERS genellikle her parametre için ayrıntılı bir açıklama sağlar. Ancak, bu bilgilerin kapsamı, araştırdığınız belirli komuta bağlı olarak değişir.

...
    -Detailed <System.Management.Automation.SwitchParameter>
        Adds parameter descriptions and examples to the basic help display.
        This parameter is effective only when the help files are installed
        on the computer. It has no effect on displays of conceptual ( About_
        ) help.

        Required?                    true
        Position?                    named
        Default value                False
        Accept pipeline input?       False
        Accept wildcard characters?  false

    -Examples <System.Management.Automation.SwitchParameter>
        Displays only the name, synopsis, and examples. This parameter is
        effective only when the help files are installed on the computer. It
        has no effect on displays of conceptual ( About_ ) help.

        Required?                    true
        Position?                    named
        Default value                False
        Accept pipeline input?       False
        Accept wildcard characters?  false

    -Full <System.Management.Automation.SwitchParameter>
        Displays the entire help article for a cmdlet. Full includes
        parameter descriptions and attributes, examples, input and output
        object types, and additional notes.

        This parameter is effective only when the help files are installed
        on the computer. It has no effect on displays of conceptual ( About_
        ) help.

        Required?                    false
        Position?                    named
        Default value                False
        Accept pipeline input?       False
        Accept wildcard characters?  false
...

Komutun yardımını görüntülemek için önceki komutu çalıştırdığınızda Get-Help , çıktının okunamayacak kadar hızlı kaydırılmış olduğunu fark etmişsinizdir.

PowerShell konsolu, Windows Terminali veya VS Code kullanıyorsanız ve bir yardım makalesini help görüntülemeniz gerekiyorsa işlev yararlı olabilir. çıktısını Get-Help more.comile aynı anda bir sayfa yardım içeriği görüntüleyerek ile gönderir. Daha iyi bir kullanıcı deneyimi sağladığından ve daha az yazıldığı için cmdlet yerine Get-Help işlevini kullanmanızı help öneririm.

Not

ISE, kullanılmasını more.comdesteklemez, bu nedenle çalıştırmak help ile Get-Helpaynı şekilde çalışır.

Aşağıdaki komutların her birini bilgisayarınızda PowerShell'de çalıştırın.

Get-Help -Name Get-Help -Full
help -Name Get-Help -Full
help Get-Help -Full

Önceki komutları çalıştırdığınızda çıkışta herhangi bir varyasyon gözlemlediniz mi?

Önceki örnekte, ilk satır cmdlet'iniGet-Help, ikinci satır işlevini, help üçüncü satır ise name parametresini işlev kullanılırken help atlar. Ad bir konumsal parametre olduğundan, üçüncü örnek parametrenin adını açıkça belirtme yerine konumundan yararlanır.

Aradaki fark, son iki komutun çıkışlarını her seferinde bir sayfa görüntülemesidir. işlevini kullanırkenhelp, bir sonraki içerik sayfasını görüntülemek için Ara Çubuğu'na veya çıkmak için Q tuşuna basın. PowerShell'de etkileşimli olarak çalışan herhangi bir komutu sonlandırmanız gerekiyorsa Ctrl C tuşlarına+basın.

Belirli bir parametre hakkındaki bilgileri hızla bulmak için Parameter parametresini kullanın. Bu yaklaşım, yardım makalesinin tamamı yerine yalnızca parametreye özgü bilgileri içeren içeriği döndürür. Bu, belirli bir parametre hakkında bilgi bulmanın en kolay yoludur.

Aşağıdaki örnekte, parametresinin help Name parametresine ilişkin yardım makalesinden bilgi döndürmek için Parameter parametresiyle Get-Helpişlevi kullanılır.

help Get-Help -Parameter Name

Yardım bilgileri Name parametresinin konumsal olduğunu ve konumsal olarak kullanıldığında ilk konumda (sıfır konumu) belirtilmesi gerektiğini gösterir.

-Name <System.String>
    Gets help about the specified command or concept. Enter the name of a
    cmdlet, function, provider, script, or workflow, such as `Get-Member`,
    a conceptual article name, such as `about_Objects`, or an alias, such
    as `ls`. Wildcard characters are permitted in cmdlet and provider
    names, but you can't use wildcard characters to find the names of
    function help and script help articles.

    To get help for a script that isn't located in a path that's listed in
    the `$env:Path` environment variable, type the script's path and file
    name.

    If you enter the exact name of a help article, `Get-Help` displays the
    article contents.

    If you enter a word or word pattern that appears in several help
    article titles, `Get-Help` displays a list of the matching titles.

    If you enter any text that doesn't match any help article titles,
    `Get-Help` displays a list of articles that include that text in their
    contents.

    The names of conceptual articles, such as `about_Objects`, must be
    entered in English, even in non-English versions of PowerShell.

    Required?                    false
    Position?                    0
    Default value                None
    Accept pipeline input?       True (ByPropertyName)
    Accept wildcard characters?  true

Name parametresi, parametre adının yanındaki veri türü tarafından <String> tanımlanan bir dize değeri bekler.

Bir yardım makalesinin alt kümesini döndürmek için ile Get-Help belirtebileceğiniz birkaç parametre daha vardır. Nasıl çalıştıklarını görmek için bilgisayarınızda aşağıdaki komutları çalıştırın.

Get-Help -Name Get-Command -Full
Get-Help -Name Get-Command -Detailed
Get-Help -Name Get-Command -Examples
Get-Help -Name Get-Command -Online
Get-Help -Name Get-Command -Parameter Noun
Get-Help -Name Get-Command -ShowWindow

Genellikle Tam veya Çevrimiçi parametresiyle kullanıyorumhelp <command name>. Yalnızca örneklerle ilgileniyorsanız Örnekler parametresini kullanın. Yalnızca belirli bir parametreyle ilgileniyorsanız Parametre parametresini kullanın.

ShowWindow parametresini kullandığınızda, yardım içeriği ayrı bir aranabilir pencerede görüntülenir. Birden çok monitörünüz varsa bu pencereyi farklı bir monitöre taşıyabilirsiniz. Ancak, ShowWindow parametresinin yardım makalesinin tamamını görüntülemesini engelleyebilecek bilinen bir hatası vardır. ShowWindow parametresi, Grafik Kullanıcı Arabirimi (GUI) içeren bir işletim sistemi de gerektirir. Windows Server Core'da kullanmayı denediğinizde bir hata döndürür.

İnternet erişiminiz varsa bunun yerine Çevrimiçi parametresini kullanabilirsiniz. Çevrimiçi parametresi, yardım makalesini varsayılan web tarayıcınızda açar. Çevrimiçi içerik en güncel içeriktir. Tarayıcı, yardım içeriğinde arama yapmanızı ve diğer ilgili yardım makalelerini görüntülemenizi sağlar.

Not

Çevrimiçi parametresi Hakkında makaleleri için desteklenmez.

help Get-Command -Online

Get-Help ile komutları bulma

ile Get-Helpkomutları bulmak için Name parametresinin değeri için yıldız işareti (*) joker karakterleriyle çevrili bir arama terimi belirtin. Aşağıdaki örnekte Name parametresi konumsal olarak kullanılmaktadır.

help *process*
Name                              Category  Module                    Synops
----                              --------  ------                    ------
Enter-PSHostProcess               Cmdlet    Microsoft.PowerShell.Core Con...
Exit-PSHostProcess                Cmdlet    Microsoft.PowerShell.Core Clo...
Get-PSHostProcessInfo             Cmdlet    Microsoft.PowerShell.Core Get...
Debug-Process                     Cmdlet    Microsoft.PowerShell.M... Deb...
Get-Process                       Cmdlet    Microsoft.PowerShell.M... Get...
Start-Process                     Cmdlet    Microsoft.PowerShell.M... Sta...
Stop-Process                      Cmdlet    Microsoft.PowerShell.M... Sto...
Wait-Process                      Cmdlet    Microsoft.PowerShell.M... Wai...
Invoke-LapsPolicyProcessing       Cmdlet    LAPS                      Inv...
ConvertTo-ProcessMitigationPolicy Cmdlet    ProcessMitigations        Con...
Get-ProcessMitigation             Cmdlet    ProcessMitigations        Get...
Set-ProcessMitigation             Cmdlet    ProcessMitigations        Set...

Bu senaryoda joker karakter eklemeniz * gerekmez. Get-Help Sağladığınız değerle eşleşen bir komut bulamazsa, bu değer için tam metin araması yapar. Aşağıdaki örnek, her sonunda processjoker karakter belirtmeyle * aynı sonuçları üretir.

help process

Değer içinde bir joker karakter belirttiğinizde, Get-Help yalnızca sağladığınız desenle eşleşen komutları arar. Tam metin araması yapmaz. Aşağıdaki komut hiçbir sonuç döndürmez.

help pr*cess

PowerShell, bir parametre adı olarak yorumladığı için tırnak içine almadan kısa çizgiyle başlayan bir değer belirtirseniz bir hata oluşturur. Cmdlet için Get-Help böyle bir parametre adı yok.

help -process

ile -processbiten komutları aramayı denerseniz, değerin başına bir * eklemeniz gerekir.

help *-process

ile Get-HelpPowerShell komutlarını aradığınızda, çok belirgin olmak yerine belirsiz olmak daha iyidir.

Daha önce aradığınızda process , sonuçlar yalnızca adlarında bulunan process komutları döndürdü. Ancak için processesarama yaparsanız, komut adları için hiçbir eşleşme bulamaz. Daha önce belirtildiği gibi, yardım hiçbir eşleşme bulamadıysa sisteminizdeki her yardım makalesinde kapsamlı bir tam metin araması yapar ve bu sonuçları döndürür. Bu tür aramalar genellikle sizinle ilgili olmayan bilgiler de dahil olmak üzere beklenenden daha fazla sonuç üretir.

help processes
Name                              Category  Module                    Synops
----                              --------  ------                    ------
Disconnect-PSSession              Cmdlet    Microsoft.PowerShell.Core Dis...
Enter-PSHostProcess               Cmdlet    Microsoft.PowerShell.Core Con...
ForEach-Object                    Cmdlet    Microsoft.PowerShell.Core Per...
Get-PSHostProcessInfo             Cmdlet    Microsoft.PowerShell.Core Get...
Get-PSSessionConfiguration        Cmdlet    Microsoft.PowerShell.Core Get...
New-PSSessionOption               Cmdlet    Microsoft.PowerShell.Core Cre...
New-PSTransportOption             Cmdlet    Microsoft.PowerShell.Core Cre...
Out-Host                          Cmdlet    Microsoft.PowerShell.Core Sen...
Start-Job                         Cmdlet    Microsoft.PowerShell.Core Sta...
Where-Object                      Cmdlet    Microsoft.PowerShell.Core Sel...
Debug-Process                     Cmdlet    Microsoft.PowerShell.M... Deb...
Get-Process                       Cmdlet    Microsoft.PowerShell.M... Get...
Get-WmiObject                     Cmdlet    Microsoft.PowerShell.M... Get...
Start-Process                     Cmdlet    Microsoft.PowerShell.M... Sta...
Stop-Process                      Cmdlet    Microsoft.PowerShell.M... Sto...
Wait-Process                      Cmdlet    Microsoft.PowerShell.M... Wai...
Clear-Variable                    Cmdlet    Microsoft.PowerShell.U... Del...
Convert-String                    Cmdlet    Microsoft.PowerShell.U... For...
ConvertFrom-Csv                   Cmdlet    Microsoft.PowerShell.U... Con...
ConvertFrom-Json                  Cmdlet    Microsoft.PowerShell.U... Con...
ConvertTo-Html                    Cmdlet    Microsoft.PowerShell.U... Con...
ConvertTo-Xml                     Cmdlet    Microsoft.PowerShell.U... Cre...
Debug-Runspace                    Cmdlet    Microsoft.PowerShell.U... Sta...
Export-Csv                        Cmdlet    Microsoft.PowerShell.U... Con...
Export-FormatData                 Cmdlet    Microsoft.PowerShell.U... Sav...
Format-List                       Cmdlet    Microsoft.PowerShell.U... For...
Format-Table                      Cmdlet    Microsoft.PowerShell.U... For...
Get-Unique                        Cmdlet    Microsoft.PowerShell.U... Ret...
Group-Object                      Cmdlet    Microsoft.PowerShell.U... Gro...
Import-Clixml                     Cmdlet    Microsoft.PowerShell.U... Imp...
Import-Csv                        Cmdlet    Microsoft.PowerShell.U... Cre...
Measure-Object                    Cmdlet    Microsoft.PowerShell.U... Cal...
Out-File                          Cmdlet    Microsoft.PowerShell.U... Sen...
Out-GridView                      Cmdlet    Microsoft.PowerShell.U... Sen...
Select-Object                     Cmdlet    Microsoft.PowerShell.U... Sel...
Set-Variable                      Cmdlet    Microsoft.PowerShell.U... Set...
Sort-Object                       Cmdlet    Microsoft.PowerShell.U... Sor...
Tee-Object                        Cmdlet    Microsoft.PowerShell.U... Sav...
Trace-Command                     Cmdlet    Microsoft.PowerShell.U... Con...
Write-Information                 Cmdlet    Microsoft.PowerShell.U... Spe...
Export-BinaryMiLog                Cmdlet    CimCmdlets                Cre...
Get-CimAssociatedInstance         Cmdlet    CimCmdlets                Ret...
Get-CimInstance                   Cmdlet    CimCmdlets                Get...
Import-BinaryMiLog                Cmdlet    CimCmdlets                Use...
Invoke-CimMethod                  Cmdlet    CimCmdlets                Inv...
New-CimInstance                   Cmdlet    CimCmdlets                Cre...
Remove-CimInstance                Cmdlet    CimCmdlets                Rem...
Set-CimInstance                   Cmdlet    CimCmdlets                Mod...
Compress-Archive                  Function  Microsoft.PowerShell.A... Cre...
Get-Counter                       Cmdlet    Microsoft.PowerShell.D... Get...
Invoke-WSManAction                Cmdlet    Microsoft.WSMan.Manage... Inv...
Remove-WSManInstance              Cmdlet    Microsoft.WSMan.Manage... Del...
Get-WSManInstance                 Cmdlet    Microsoft.WSMan.Manage... Dis...
New-WSManInstance                 Cmdlet    Microsoft.WSMan.Manage... Cre...
Set-WSManInstance                 Cmdlet    Microsoft.WSMan.Manage... Mod...
about_Arithmetic_Operators        HelpFile
about_Arrays                      HelpFile
about_Environment_Variables       HelpFile
about_Execution_Policies          HelpFile
about_Functions                   HelpFile
about_Jobs                        HelpFile
about_Logging                     HelpFile
about_Methods                     HelpFile
about_Objects                     HelpFile
about_Pipelines                   HelpFile
about_Preference_Variables        HelpFile
about_Remote                      HelpFile
about_Remote_Jobs                 HelpFile
about_Session_Configuration_Files HelpFile
about_Simplified_Syntax           HelpFile
about_Switch                      HelpFile
about_Variables                   HelpFile
about_Variable_Provider           HelpFile
about_Windows_Powershell_5.1      HelpFile
about_WQL                         HelpFile
about_WS-Management_Cmdlets       HelpFile
about_Foreach-Parallel            HelpFile
about_Parallel                    HelpFile
about_Sequence                    HelpFile

için arama processyaptığınızda 12 sonuç döndürdü. Ancak araması yaparken processes78 sonuç elde etti. Aramanız yalnızca bir eşleşme bulursa, Get-Help arama sonuçlarını listelemek yerine yardım içeriğini görüntüler.

help *hotfix*
NAME
    Get-HotFix

SYNOPSIS
    Gets the hotfixes that are installed on local or remote computers.


SYNTAX
    Get-HotFix [-ComputerName <System.String[]>] [-Credential
    <System.Management.Automation.PSCredential>] [-Description
    <System.String[]>] [<CommonParameters>]

    Get-HotFix [[-Id] <System.String[]>] [-ComputerName <System.String[]>]
    [-Credential <System.Management.Automation.PSCredential>]
    [<CommonParameters>]


DESCRIPTION
    > This cmdlet is only available on the Windows platform. The
    `Get-Hotfix` cmdlet uses the Win32_QuickFixEngineering WMI class to
    list hotfixes that are installed on the local computer or specified
    remote computers.


RELATED LINKS
    Online Version: https://learn.microsoft.com/powershell/module/microsoft.
    powershell.management/get-hotfix?view=powershell-5.1&WT.mc_id=ps-gethelp
    about_Arrays
    Add-Content
    Get-ComputerRestorePoint
    Get-Credential
    Win32_QuickFixEngineering class

REMARKS
    To see the examples, type: "get-help Get-HotFix -examples".
    For more information, type: "get-help Get-HotFix -detailed".
    For technical information, type: "get-help Get-HotFix -full".
    For online help, type: "get-help Get-HotFix -online"

Bu özellik yaygın olarak bilinmese de ile Get-Helpilgili yardım makalelerinin eksik olduğu komutları da bulabilirsiniz. more İşlev, yardım makalesi olmayan komutlardan biridir. ile yardım makalelerini içermeyen komutları Get-Help bulabileceğinizi help onaylamak için işlevini kullanarak öğesini bulun more.

help *more*

Aramada yalnızca bir eşleşme bulunduğundan, bir komutun yardım makalesi olmadığında gördüğünüz temel söz dizimi bilgilerini döndürdü.

NAME
    more

SYNTAX
    more [[-paths] <string[]>]

ALIASES
    None

REMARKS
    None

PowerShell yardım sistemi ayrıca yardım makaleleri hakkında kavramsal bilgi içerir. Hakkında makalelerini almak için sisteminizdeki yardım içeriğini güncelleştirmeniz gerekir. Daha fazla bilgi için bu bölümün Güncelleştirme yardımı bölümüne bakın.

Sisteminizdeki tüm Yardım hakkında makalelerinin listesini döndürmek için aşağıdaki komutu kullanın.

help About_*

Sonuçları bir Yardım hakkında makalesi ile sınırladığınızda, Get-Help bu makalenin içeriği görüntülenir.

help about_Updatable_Help

Yardım güncelleştiriliyor

Bu bölümün önceki bölümlerinde, cmdlet'i ilk kez çalıştırdığınızda bilgisayarınızdaki PowerShell yardım makalelerini Get-Help güncelleştirmiştiniz. Yardım içeriğine yönelik Update-Help güncelleştirmeleri almak için cmdlet'i bilgisayarınızda düzenli aralıklarla çalıştırmanız gerekir.

Önemli

Windows PowerShell 5.1'de yükseltilmiş bir PowerShell oturumunda yönetici olarak çalışmanız Update-Help gerekir.

Aşağıdaki örnekte, Update-Help bilgisayarınızda yüklü tüm modüller için PowerShell yardım içeriğini indirir. Yardım içeriğinin en son sürümünü indirdiğinizden emin olmak için Force parametresini kullanmanız gerekir.

Update-Help -Force

Aşağıdaki sonuçlarda gösterildiği gibi modül bir hata döndürdü. Hatalar yaygın değildir ve genellikle modülün yazarı güncelleştirilebilir yardımı doğru yapılandırmadığında oluşur.

Update-Help : Failed to update Help for the module(s) 'BitsTransfer' with UI
culture(s) {en-US} : Unable to retrieve the HelpInfo XML file for UI culture
en-US. Make sure the HelpInfoUri property in the module manifest is valid or
check your network connection and then try the command again.
At line:1 char:1
+ Update-Help
+ ~~~~~~~~~~~
    + CategoryInfo          : ResourceUnavailable: (:) [Update-Help], Except
   ion
    + FullyQualifiedErrorId : UnableToRetrieveHelpInfoXml,Microsoft.PowerShe
   ll.Commands.UpdateHelpCommand

Update-Help yardım içeriğini indirmek için İnternet erişimi gerektirir. Bilgisayarınızda İnternet erişimi yoksa, güncelleştirilmiş yardım içeriğini indirmek ve kaydetmek için internet erişimi olan bir bilgisayarda cmdlet'ini kullanın Save-Help . Ardından, kaydedilen güncelleştirilmiş yardım içeriğinin konumunu belirtmek için sourcepath parametresini Update-Help kullanın.

Get-Command

Get-Command , komutları bulmanıza yardımcı olan başka bir çok amaçlı komutdur. Herhangi bir parametre olmadan çalıştırdığınızda Get-Command , sisteminizdeki tüm PowerShell komutlarının listesini döndürür. komutuna benzer bir komut söz dizimi almak için Get-Helpde kullanabilirsinizGet-Command.

için söz dizimini Get-Commandnasıl belirlersiniz? Bu bölümün Yardım Al bölümünde gösterildiği gibi için yardım makalesini görüntülemek için Get-CommandkullanabilirsinizGet-Help. Herhangi bir komutun söz dizimini görüntülemek için Sözdizimi parametresiyle de kullanabilirsinizGet-Command. Bu kısayol, yardım içeriğinde gezinmeden bir komutun nasıl kullanılacağını hızla belirlemenize yardımcı olur.

Get-Command -Name Get-Command -Syntax

Get-Command Söz dizimi parametresiyle kullanıldığında, parametreler ve bunların değer türlerini gösteren söz diziminin daha kısa bir görünümü sağlanır ve bu görünümde, gösteriler gibi Get-Help izin verilebilen belirli değerler listelenmez.

Get-Command [[-ArgumentList] <Object[]>] [-Verb <string[]>]
[-Noun <string[]>] [-Module <string[]>]
[-FullyQualifiedModule <ModuleSpecification[]>] [-TotalCount <int>]
[-Syntax] [-ShowCommandInfo] [-All] [-ListImported]
[-ParameterName <string[]>] [-ParameterType <PSTypeName[]>]
[<CommonParameters>]

Get-Command [[-Name] <string[]>] [[-ArgumentList] <Object[]>]
[-Module <string[]>] [-FullyQualifiedModule <ModuleSpecification[]>]
[-CommandType <CommandTypes>] [-TotalCount <int>] [-Syntax]
[-ShowCommandInfo] [-All] [-ListImported] [-ParameterName <string[]>]
[-ParameterType <PSTypeName[]>] [<CommonParameters>]

Komut kullanma hakkında daha ayrıntılı bilgilere ihtiyacınız varsa komutunu kullanın Get-Help.

help Get-Command -Full

öğesinin Get-Help SÖZ DIZIMİ bölümü, parametreler için numaralandırılmış değerleri genişleterek daha kolay bir görüntü sağlar. Kullanabileceğiniz gerçek değerleri gösterir ve kullanılabilir seçenekleri daha kolay anlayabilirsiniz.

...
    Get-Command [[-Name] <System.String[]>] [[-ArgumentList]
    <System.Object[]>] [-All] [-CommandType {Alias | Function | Filter |
    Cmdlet | ExternalScript | Application | Script | Workflow |
    Configuration | All}] [-FullyQualifiedModule
    <Microsoft.PowerShell.Commands.ModuleSpecification[]>] [-ListImported]
    [-Module <System.String[]>] [-ParameterName <System.String[]>]
    [-ParameterType <System.Management.Automation.PSTypeName[]>]
    [-ShowCommandInfo] [-Syntax] [-TotalCount <System.Int32>]
    [<CommonParameters>]

    Get-Command [[-ArgumentList] <System.Object[]>] [-All]
    [-FullyQualifiedModule
    <Microsoft.PowerShell.Commands.ModuleSpecification[]>] [-ListImported]
    [-Module <System.String[]>] [-Noun <System.String[]>] [-ParameterName
    <System.String[]>] [-ParameterType
    <System.Management.Automation.PSTypeName[]>] [-ShowCommandInfo]
    [-Syntax] [-TotalCount <System.Int32>] [-Verb <System.String[]>]
    [<CommonParameters>]
...

için Get-Command yardımın PARAMETERS bölümü Name, Name ve Verb parametrelerinin joker karakterleri kabul ettiğini gösterir.

...
    -Name <System.String[]>
        Specifies an array of names. This cmdlet gets only commands that
        have the specified name. Enter a name or name pattern. Wildcard
        characters are permitted.

        To get commands that have the same name, use the All parameter. When
        two commands have the same name, by default, `Get-Command` gets the
        command that runs when you type the command name.

        Required?                    false
        Position?                    0
        Default value                None
        Accept pipeline input?       True (ByPropertyName, ByValue)
        Accept wildcard characters?  true

    -Noun <System.String[]>
        Specifies an array of command nouns. This cmdlet gets commands,
        which include cmdlets, functions, and aliases, that have names that
        include the specified noun. Enter one or more nouns or noun
        patterns. Wildcard characters are permitted.

        Required?                    false
        Position?                    named
        Default value                None
        Accept pipeline input?       True (ByPropertyName)
        Accept wildcard characters?  true
    -Verb <System.String[]>
        Specifies an array of command verbs. This cmdlet gets commands,
        which include cmdlets, functions, and aliases, that have names that
        include the specified verb. Enter one or more verbs or verb
        patterns. Wildcard characters are permitted.

        Required?                    false
        Position?                    named
        Default value                None
        Accept pipeline input?       True (ByPropertyName)
        Accept wildcard characters?  true
...

Aşağıdaki örnekte, Name parametresinin Get-Commanddeğeriyle joker karakter kullanılır*.

Get-Command -Name *service*

Joker karakterleri name parametresiyle Get-Commandkullandığınızda, aşağıdaki sonuçlarda gösterildiği gibi PowerShell komutlarını ve yerel komutları döndürür.


CommandType     Name                                               Version
-----------     ----                                               -------
Function        Get-NetFirewallServiceFilter                       2.0.0.0
Function        Set-NetFirewallServiceFilter                       2.0.0.0
Cmdlet          Get-Service                                        3.1.0.0
Cmdlet          New-Service                                        3.1.0.0
Cmdlet          New-WebServiceProxy                                3.1.0.0
Cmdlet          Restart-Service                                    3.1.0.0
Cmdlet          Resume-Service                                     3.1.0.0
Cmdlet          Set-Service                                        3.1.0.0
Cmdlet          Start-Service                                      3.1.0.0
Cmdlet          Stop-Service                                       3.1.0.0
Cmdlet          Suspend-Service                                    3.1.0.0
Application     SecurityHealthService.exe                          10.0.2...
Application     SensorDataService.exe                              10.0.2...
Application     services.exe                                       10.0.2...
Application     services.msc                                       0.0.0.0
Application     TieringEngineService.exe                           10.0.2...
Application     Windows.WARP.JITService.exe                        10.0.2...

CommandType parametresini Get-Command kullanarak sonuçlarını PowerShell komutlarına sınırlayabilirsiniz.

Get-Command -Name *service* -CommandType Cmdlet, Function, Alias, Script

Yalnızca PowerShell komutlarında fiiller ve isimler olduğundan, başka bir seçenek de Fiil veya İsim parametresini ya da her ikisini birden kullanmak olabilir.

Aşağıdaki örnek, bilgisayarınızda işlemlerle çalışan komutları bulmak için kullanır Get-Command . İsim parametresini kullanın ve değeri olarak belirtinProcess.

Get-Command -Noun Process
CommandType     Name                                               Version
-----------     ----                                               -------
Cmdlet          Debug-Process                                      3.1.0.0
Cmdlet          Get-Process                                        3.1.0.0
Cmdlet          Start-Process                                      3.1.0.0
Cmdlet          Stop-Process                                       3.1.0.0
Cmdlet          Wait-Process                                       3.1.0.0

Özet

Bu bölümde ve Get-Commandile Get-Help komutları bulmayı öğrendiniz. Ayrıca, komutları bulduğunuzda nasıl kullanacağınızı anlamak için yardım sistemini kullanmayı da öğrendiniz. Ayrıca, yeni yardım içeriği kullanılabilir olduğunda bilgisayarınızdaki yardım sistemini nasıl güncelleştirebilirsiniz?

İnceleyin

  1. DisplayName parametresi Get-Service konumsal mı?
  2. Cmdlet'in Get-Process kaç parametre kümesi var?
  3. Olay günlükleriyle çalışmak için hangi PowerShell komutları var?
  4. Bilgisayarınızda çalışan PowerShell işlemlerinin listesini döndürmek için PowerShell komutu nedir?
  5. Bilgisayarınızda depolanan PowerShell yardım içeriğini nasıl güncelleştirirsiniz?

Başvurular

Bu bölümde ele alınan kavramlar hakkında daha fazla bilgi edinmek için aşağıdaki PowerShell yardım makalelerini okuyun.

Sonraki adımlar

Sonraki bölümde nesneler, özellikler, yöntemler ve Get-Member cmdlet hakkında bilgi edineceksiniz.