Bagikan melalui


Bab 2 - Sistem Bantuan

Dalam eksperimen yang dirancang untuk menilai kemahalan di PowerShell, dua kelompok profesional TI yang berbeda - pemula dan pakar - pertama kali diberikan pemeriksaan tertulis tanpa akses ke komputer. Anehnya, skor pengujian menunjukkan keterampilan yang sebanding di kedua grup. Tes berikutnya kemudian dikelola, mencerminkan yang pertama tetapi dengan satu perbedaan utama: peserta memiliki akses ke komputer offline yang dilengkapi dengan PowerShell. Hasilnya mengungkapkan kesenjangan keterampilan yang signifikan antara kedua kelompok kali ini.

Faktor apa yang berkontribusi pada hasil yang diamati antara kedua penilaian?

Para ahli tidak selalu tahu jawabannya, tetapi mereka tahu cara mencari tahu jawabannya.

Hasil yang diamati dalam hasil dari dua tes itu karena para ahli tidak menghafal ribuan perintah PowerShell. Sebaliknya, mereka unggul dalam menggunakan sistem Bantuan dalam PowerShell, memungkinkan mereka untuk menemukan dan mempelajari cara menggunakan perintah bila perlu.

Menjadi malu dengan sistem Bantuan adalah kunci keberhasilan dengan PowerShell.

Saya mendengar Jeffrey Snover, pembuat PowerShell, berbagi cerita serupa dalam beberapa kesempatan.

Kemampuan Ditemukan

Perintah yang dikompilasi di PowerShell dikenal sebagai cmdlet, diucapkan sebagai "command-let", bukan "CMD-let". Konvensi penamaan untuk cmdlet mengikuti format Verb-Noun tunggal untuk membuatnya mudah ditemukan. Misalnya, Get-Process adalah cmdlet untuk menentukan proses apa yang berjalan, dan Get-Service merupakan cmdlet untuk mengambil daftar layanan. Fungsi, juga dikenal sebagai cmdlet skrip, dan alias adalah jenis perintah PowerShell lainnya yang dibahas nanti dalam buku ini. Istilah "perintah PowerShell" menjelaskan perintah apa pun di PowerShell, terlepas dari apakah itu cmdlet, fungsi, atau alias.

Anda juga dapat menjalankan perintah asli sistem operasi dari PowerShell, seperti program baris perintah tradisional seperti ping.exe dan ipconfig.exe.

Tiga cmdlet inti di PowerShell

  • Get-Help
  • Get-Command
  • Get-Member (tercakup dalam bab 3)

Saya sering ditanya: "Bagaimana Anda mengetahui apa perintah di PowerShell?". Keduanya Get-Help dan Get-Command merupakan sumber daya yang sangat berharga untuk menemukan dan memahami perintah di PowerShell.

Get-Help

Hal pertama yang perlu Anda ketahui tentang sistem Bantuan di PowerShell adalah cara menggunakan Get-Help cmdlet.

Get-Help adalah perintah multiguna yang membantu Anda mempelajari cara menggunakan perintah setelah Anda menemukannya. Anda juga dapat menggunakan Get-Help untuk menemukan perintah, tetapi dengan cara yang berbeda dan lebih tidak langsung jika dibandingkan Get-Commanddengan .

Saat menggunakan Get-Help untuk menemukan perintah, perintah awalnya melakukan pencarian kartubebas untuk nama perintah berdasarkan input Anda. Jika tidak menemukan kecocokan apa pun, ia melakukan pencarian teks lengkap yang komprehensif di semua artikel bantuan PowerShell di sistem Anda. Jika itu juga gagal menemukan hasil apa pun, itu mengembalikan kesalahan.

Berikut cara menggunakan Get-Help untuk melihat konten bantuan untuk Get-Help cmdlet.

Get-Help -Name Get-Help

Dimulai dengan PowerShell versi 3.0, konten bantuan tidak dikirim sebelumnya dengan sistem operasi. Saat Anda menjalankan Get-Help untuk pertama kalinya, pesan menanyakan apakah Anda ingin mengunduh file bantuan PowerShell ke komputer Anda.

Menjawab Ya dengan menekan Y menjalankan Update-Help cmdlet, mengunduh konten bantuan.

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"):

Jika Anda tidak menerima pesan ini, jalankan Update-Help dari sesi PowerShell yang ditinggikan yang berjalan sebagai administrator.

Setelah pembaruan selesai, artikel bantuan ditampilkan.

Luangkan waktu sejenak untuk menjalankan contoh di komputer Anda, meninjau output, dan mengamati bagaimana sistem bantuan mengatur informasi.

  • NAMA
  • SINOPSIS
  • SINTAKS
  • DESKRIPSI
  • Tautan terkait
  • REMARKS

Saat Anda meninjau output, perlu diingat bahwa artikel bantuan sering berisi sejumlah besar informasi, dan apa yang Anda lihat secara default bukan seluruh artikel bantuan.

Parameter

Saat menjalankan perintah di PowerShell, Anda mungkin perlu memberikan informasi atau input tambahan ke perintah . Parameter memungkinkan Anda menentukan opsi dan argumen yang mengubah perilaku perintah. Bagian SINTAKS dari setiap artikel bantuan menguraikan parameter yang tersedia untuk perintah .

Get-Help memiliki beberapa parameter yang dapat Anda tentukan untuk mengembalikan seluruh artikel bantuan atau subset untuk perintah. Untuk melihat semua parameter yang tersedia untuk Get-Help, lihat bagian SINTAKS dari artikel bantuannya, seperti yang ditunjukkan dalam contoh berikut.

...
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>]
...

Set parameter

Saat Anda meninjau bagian SINTAKS untuk Get-Help, perhatikan bahwa informasi tampaknya diulang enam kali. Masing-masing blok tersebut adalah kumpulan parameter individual, yang menunjukkan Get-Help cmdlet memiliki enam set parameter yang berbeda. Tampilan yang lebih dekat mengungkapkan setiap set parameter berisi setidaknya satu parameter unik, membuatnya berbeda dari yang lain.

Set parameter saling eksklusif. Setelah Anda menentukan parameter unik yang hanya ada dalam satu set parameter, PowerShell membatasi Anda untuk menggunakan parameter yang terkandung dalam kumpulan parameter tersebut. Misalnya, Anda tidak dapat menggunakan parameter Get-Help Lengkap dan Terperinci bersama-sama karena parameter tersebut termasuk dalam set parameter yang berbeda.

Masing-masing parameter berikut milik parameter yang berbeda yang ditetapkan untuk Get-Help cmdlet.

  • Penuh
  • Terperinci
  • Contoh
  • Online
  • Parameter
  • ShowWindow

Sintaks perintah

Jika Anda baru menggunakan PowerShell, memahami informasi kriptik — ditandai dengan tanda kurung siku dan sudut — di bagian SINTAKS mungkin tampak luar biasa. Namun, mempelajari elemen sintaksis ini sangat penting untuk menjadi malu dengan PowerShell. Semakin sering Anda menggunakan sistem Bantuan PowerShell, semakin mudah untuk mengingat semua nuansa.

Lihat sintaks Get-EventLog cmdlet.

Get-Help Get-EventLog

Output berikut menunjukkan bagian yang relevan dari artikel bantuan.

...
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>]
...

Informasi sintaks mencakup pasangan tanda kurung siku ([]). Tergantung pada penggunaannya, tanda kurung siku ini melayani dua tujuan yang berbeda.

  • Elemen yang diapit dalam tanda kurung siku bersifat opsional.
  • Sekumpulan kurung siku kosong setelah jenis data, seperti <string[]>, menunjukkan bahwa parameter dapat menerima beberapa nilai yang diteruskan sebagai array atau objek koleksi.

Parameter Posisi

Beberapa cmdlet dirancang untuk menerima parameter posisi. Parameter posisi memungkinkan Anda memberikan nilai tanpa menentukan nama parameter. Saat menggunakan parameter secara posisional, Anda harus menentukan nilainya dalam posisi yang benar pada baris perintah. Anda dapat menemukan informasi posisi untuk parameter di bagian PARAMETER dari artikel bantuan perintah. Saat Anda secara eksplisit menentukan nama parameter, Anda dapat menggunakan parameter dalam urutan apa pun.

Get-EventLog Untuk cmdlet, parameter pertama dalam set parameter pertama adalah LogName. LogName diapit dalam tanda kurung siku, menunjukkan bahwa itu adalah parameter posisional.

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

Karena LogName adalah parameter posisi, Anda dapat menentukannya dengan nama atau posisi. Menurut tanda kurung sudut mengikuti nama parameter, nilai untuk LogName harus berupa string tunggal. Tidak adanya tanda kurung siku yang mencakup nama parameter dan jenis data menunjukkan bahwa LogName adalah parameter yang diperlukan dalam kumpulan parameter tertentu ini.

Parameter kedua dalam set parameter tersebut adalah InstanceId. Nama parameter dan jenis data sepenuhnya diapit dalam tanda kurung siku, menandakan bahwa InstanceId adalah parameter opsional.

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

Selain itu, InstanceId memiliki sepasang kurung siku sendiri, yang menunjukkan bahwa itu adalah parameter posisi yang mirip dengan parameter LogName . Mengikuti jenis data, sekumpulan kurung siku kosong menyiratkan bahwa InstanceId dapat menerima beberapa nilai.

Beralih parameter

Parameter yang tidak memerlukan nilai disebut parameter pengalihan. Anda dapat dengan mudah mengidentifikasi parameter pengalihan karena tidak ada jenis data yang mengikuti nama parameter. Saat Anda menentukan parameter sakelar, nilainya adalah true. Saat Anda tidak menentukan parameter sakelar, nilainya adalah false.

Set parameter kedua menyertakan parameter Daftar , yang merupakan parameter pengalihan. Saat Anda menentukan parameter Daftar , parameter mengembalikan daftar log peristiwa di komputer lokal.

[-List]

Pendekatan yang disederhanakan untuk sintaks

Ada metode yang lebih mudah digunakan untuk mendapatkan informasi yang sama dengan sintaks perintah kriptik untuk beberapa perintah, kecuali dalam bahasa Inggris biasa. PowerShell mengembalikan artikel bantuan lengkap saat menggunakan Get-Help dengan parameter Lengkap , sehingga lebih mudah untuk memahami penggunaan perintah.

Get-Help -Name Get-Help -Full

Luangkan waktu sejenak untuk menjalankan contoh di komputer Anda, meninjau output, dan mengamati bagaimana sistem bantuan mengatur informasi.

  • NAMA
  • SINOPSIS
  • SINTAKS
  • DESKRIPSI
  • PARAMETERS
  • INPUTS
  • OUTPUTS
  • CATATAN
  • CONTOH
  • Tautan terkait

Dengan menentukan parameter Lengkap dengan Get-Help cmdlet, output mencakup beberapa bagian tambahan. Di antara bagian ini, PARAMETER sering memberikan penjelasan terperinci untuk setiap parameter. Namun, sejauh mana informasi ini bervariasi tergantung pada perintah tertentu yang Anda selidiki.

...
    -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
...

Ketika Anda menjalankan perintah sebelumnya untuk menampilkan bantuan untuk Get-Help perintah, Anda mungkin melihat output yang digulir terlalu cepat untuk membacanya.

Jika Anda menggunakan konsol PowerShell, Terminal Windows, atau Visual Studio Code dan perlu melihat artikel bantuan, fungsi tersebut help dapat berguna. Ini menyalurkan output Get-Help ke more.com, menampilkan satu halaman konten bantuan pada satu waktu. Saya sarankan help menggunakan fungsi alih-alih Get-Help cmdlet karena memberikan pengalaman pengguna yang lebih baik dan kurang mengetik.

Catatan

ISE tidak mendukung penggunaan more.com, sehingga menjalankan help bekerja dengan cara yang sama seperti Get-Help.

Jalankan setiap perintah berikut di PowerShell di komputer Anda.

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

Apakah Anda mengamati variasi apa pun dalam output ketika Anda menjalankan perintah sebelumnya?

Dalam contoh sebelumnya, baris pertama menggunakan Get-Help cmdlet, yang kedua menggunakan help fungsi , dan baris ketiga menghilangkan parameter Nama saat menggunakan help fungsi . Karena Nama adalah parameter posisional, contoh ketiga memanfaatkan posisinya alih-alih secara eksplisit menyatakan nama parameter.

Perbedaannya adalah bahwa dua perintah terakhir menampilkan output mereka satu halaman pada satu waktu. Saat menggunakan help fungsi, tekan Bilah Spasi untuk menampilkan halaman konten berikutnya atau Q untuk berhenti. Jika Anda perlu mengakhiri perintah apa pun yang berjalan secara interaktif di PowerShell, tekan Ctrl+C.

Untuk menemukan informasi tentang parameter tertentu dengan cepat, gunakan parameter Parameter . Pendekatan ini mengembalikan konten yang hanya berisi informasi khusus parameter, bukan seluruh artikel bantuan. Ini adalah cara term mudah untuk menemukan informasi tentang parameter tertentu.

Contoh berikut menggunakan help fungsi dengan parameter Parameter untuk mengembalikan informasi dari artikel bantuan untuk parameter Nama .Get-Help

help Get-Help -Parameter Name

Informasi bantuan menunjukkan bahwa parameter Nama bersifat posisional dan harus ditentukan di posisi pertama (posisi nol) saat digunakan secara posisi.

-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

Parameter Nama mengharapkan nilai string seperti yang diidentifikasi oleh <String> jenis data di samping nama parameter.

Ada beberapa parameter lain yang dapat Anda tentukan dengan Get-Help untuk mengembalikan subset artikel bantuan. Untuk melihat cara kerjanya, jalankan perintah berikut di komputer Anda.

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

Saya biasanya menggunakan help <command name> dengan parameter Lengkap atau Online . Jika Anda hanya memiliki minat pada contoh, gunakan parameter Contoh . Jika Anda hanya memiliki minat pada parameter tertentu, gunakan parameter Parameter .

Saat Anda menggunakan parameter ShowWindow , parameter tersebut menampilkan konten bantuan di jendela terpisah yang dapat dicari. Anda dapat memindahkan jendela tersebut ke monitor lain jika Anda memiliki beberapa monitor. Namun, parameter ShowWindow memiliki bug yang diketahui yang mungkin mencegahnya menampilkan seluruh artikel bantuan. Parameter ShowWindow juga memerlukan sistem operasi dengan Antarmuka Pengguna Grafis (GUI). Ini mengembalikan kesalahan ketika Anda mencoba menggunakannya pada Windows Server Core.

Jika Anda memiliki akses internet, Anda dapat menggunakan parameter Online sebagai gantinya. Parameter Online membuka artikel bantuan di browser web default Anda. Konten online adalah konten terbaru. Browser memungkinkan Anda mencari konten bantuan dan melihat artikel bantuan terkait lainnya.

Catatan

Parameter Online tidak didukung untuk artikel Tentang .

help Get-Command -Online

Menemukan perintah dengan Get-Help

Untuk menemukan perintah dengan Get-Help, tentukan istilah pencarian yang dikelilingi oleh karakter kartubebas tanda bintang (*) untuk nilai parameter Nama . Contoh berikut menggunakan parameter Nama secara posisional.

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...

Dalam skenario ini, Anda tidak diharuskan untuk menambahkan * karakter kartubebas. Jika Get-Help tidak dapat menemukan perintah yang cocok dengan nilai yang Anda berikan, perintah tersebut melakukan pencarian teks lengkap untuk nilai tersebut. Contoh berikut menghasilkan hasil yang sama seperti menentukan * karakter kartubebas di setiap akhir process.

help process

Saat Anda menentukan karakter kartubebas dalam nilai , Get-Help hanya mencari perintah yang cocok dengan pola yang Anda berikan. Ini tidak melakukan pencarian teks lengkap. Perintah berikut ini tidak mengembalikan hasil apa pun.

help pr*cess

PowerShell menghasilkan kesalahan jika Anda menentukan nilai yang dimulai dengan tanda hubung tanpa mengapitnya dalam tanda kutip karena menafsirkannya sebagai nama parameter. Tidak ada nama parameter seperti itu Get-Help untuk cmdlet.

help -process

Jika Anda mencoba mencari perintah yang diakhir dengan -process, Anda harus menambahkan * ke awal nilai.

help *-process

Ketika Anda mencari perintah PowerShell dengan Get-Help, lebih baik tidak jelas daripada terlalu spesifik.

Saat Anda mencari process sebelumnya, hasilnya hanya mengembalikan perintah yang disertakan process dalam namanya. Tetapi jika Anda mencari processes, itu tidak menemukan kecocokan untuk nama perintah. Seperti yang dinyatakan sebelumnya, ketika bantuan tidak menemukan kecocokan apa pun, ia melakukan pencarian teks lengkap yang komprehensif dari setiap artikel bantuan pada sistem Anda dan mengembalikan hasil tersebut. Jenis pencarian ini sering menghasilkan lebih banyak hasil dari yang diharapkan, termasuk informasi yang tidak relevan dengan Anda.

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

Ketika Anda mencari process, itu mengembalikan 12 hasil. Namun, saat mencari processes, itu menghasilkan 78 hasil. Jika pencarian Anda hanya menemukan satu kecocokan, Get-Help menampilkan konten bantuan alih-alih mencantumkan hasil pencarian.

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"

Anda juga dapat menemukan perintah yang tidak memiliki artikel bantuan dengan Get-Help, meskipun kemampuan ini tidak umum diketahui. Fungsi ini more adalah salah satu perintah yang tidak memiliki artikel bantuan. Untuk mengonfirmasi bahwa Anda dapat menemukan perintah dengan Get-Help yang tidak menyertakan artikel bantuan, gunakan help fungsi untuk menemukan more.

help *more*

Pencarian hanya menemukan satu kecocokan, sehingga mengembalikan informasi sintaks dasar yang Anda lihat saat perintah tidak memiliki artikel bantuan.

NAME
    more

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

ALIASES
    None

REMARKS
    None

Sistem bantuan PowerShell juga berisi konseptual Tentang artikel bantuan. Anda harus memperbarui konten bantuan pada sistem Anda untuk mendapatkan artikel Tentang . Untuk informasi selengkapnya, lihat bagian Memperbarui bantuan di bab ini.

Gunakan perintah berikut untuk mengembalikan daftar semua artikel Tentang bantuan di sistem Anda.

help About_*

Saat Anda membatasi hasil ke artikel Tentang bantuan, Get-Help menampilkan konten artikel tersebut.

help about_Updatable_Help

Memperbarui bantuan

Sebelumnya dalam bab ini, Anda memperbarui artikel bantuan PowerShell di komputer Anda saat pertama kali menjalankan Get-Help cmdlet. Anda harus menjalankan Update-Help cmdlet secara berkala di komputer Anda untuk mendapatkan pembaruan apa pun pada isi bantuan.

Penting

Di Windows PowerShell 5.1, Anda harus menjalankan Update-Help sebagai administrator dalam sesi PowerShell yang ditinggikan.

Dalam contoh berikut, Update-Help mengunduh konten bantuan PowerShell untuk semua modul yang diinstal di komputer Anda. Anda harus menggunakan parameter Paksa untuk memastikan bahwa Anda mengunduh versi terbaru konten bantuan.

Update-Help -Force

Seperti yang ditunjukkan pada hasil berikut, modul mengembalikan kesalahan. Kesalahan tidak jarang terjadi dan biasanya terjadi ketika penulis modul tidak mengonfigurasi bantuan yang dapat diperbarui dengan benar.

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 memerlukan akses internet untuk mengunduh konten bantuan. Jika komputer Anda tidak memiliki akses internet, gunakan Save-Help cmdlet di komputer dengan akses internet untuk mengunduh dan menyimpan konten bantuan yang diperbarui. Kemudian, gunakan parameter SourcePath untuk Update-Help menentukan lokasi konten bantuan yang diperbarui yang disimpan.

Get-Command

Get-Command adalah perintah multiguna lain yang membantu Anda menemukan perintah. Saat Anda menjalankan Get-Command tanpa parameter apa pun, parameter tersebut mengembalikan daftar semua perintah PowerShell pada sistem Anda. Anda juga dapat menggunakan Get-Command untuk mendapatkan sintaks perintah yang mirip Get-Helpdengan .

Bagaimana Anda menentukan sintaks untuk Get-Command? Anda dapat menggunakan Get-Help untuk menampilkan artikel bantuan untuk Get-Command, seperti yang ditunjukkan di bagian Get-Help dari bab ini. Anda juga dapat menggunakan Get-Command dengan parameter Sintaks untuk melihat sintaks untuk perintah apa pun. Pintasan ini membantu Anda dengan cepat menentukan cara menggunakan perintah tanpa menavigasi konten bantuannya.

Get-Command -Name Get-Command -Syntax

Menggunakan Get-Command dengan parameter Sintaks memberikan tampilan sintaks yang lebih ringkas yang menunjukkan parameter dan jenis nilainya, tanpa mencantumkan nilai tertentu yang diizinkan seperti Get-Help yang ditampilkan.

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>]

Jika Anda memerlukan informasi lebih rinci tentang cara menggunakan perintah, gunakan Get-Help.

help Get-Command -Full

Bagian SINTAKS menyediakan Get-Help tampilan yang lebih ramah pengguna dengan memperluas nilai enumerasi untuk parameter. Ini menunjukkan nilai aktual yang dapat Anda gunakan, sehingga lebih mudah untuk memahami opsi yang tersedia.

...
    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>]
...

Bagian PARAMETER dari bantuan untuk Get-Command mengungkapkan bahwa parameter Nama, Kata Benda, dan Kata Kerja menerima karakter kartubebas.

...
    -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
...

Contoh berikut menggunakan karakter kartubebas * dengan nilai untuk parameter Nama .Get-Command

Get-Command -Name *service*

Saat Anda menggunakan karakter kartubebas dengan parameter Get-CommandNama , karakter tersebut mengembalikan perintah PowerShell dan perintah asli, seperti yang ditunjukkan pada hasil berikut.


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...

Anda dapat membatasi hasil Get-Command perintah PowerShell menggunakan parameter CommandType .

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

Opsi lain mungkin menggunakan parameter Kata Kerja atau Kata Benda atau keduanya karena hanya perintah PowerShell yang memiliki kata kerja dan kata benda.

Contoh berikut menggunakan Get-Command untuk menemukan perintah di komputer Anda yang bekerja dengan proses. Gunakan parameter Noun dan tentukan Process sebagai nilainya.

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

Ringkasan

Dalam bab ini, Anda mempelajari cara menemukan perintah dengan Get-Help dan Get-Command. Anda juga mempelajari cara menggunakan sistem bantuan untuk memahami cara menggunakan perintah setelah Anda menemukannya. Selain itu, Anda mempelajari cara memperbarui sistem bantuan pada komputer Anda ketika isi bantuan baru tersedia.

Tinjauan

  1. Apakah parameter DisplayName dari Get-Service posisi?
  2. Berapa banyak set parameter yang dimiliki Get-Process cmdlet?
  3. Perintah PowerShell apa yang ada untuk bekerja dengan log peristiwa?
  4. Apa perintah PowerShell untuk mengembalikan daftar proses PowerShell yang berjalan di komputer Anda?
  5. Bagaimana Anda memperbarui konten bantuan PowerShell yang disimpan di komputer Anda?

Referensi

Untuk mempelajari selengkapnya tentang konsep yang dibahas dalam bab ini, baca artikel bantuan PowerShell berikut ini.

Langkah berikutnya

Di bab berikutnya, Anda akan mempelajari tentang objek, properti, metode, dan Get-Member cmdlet.