Bab 2 - Sistem Bantuan

Dua kelompok profesional TI diberikan tes tertulis tanpa akses ke komputer untuk menentukan tingkat keterampilan mereka dengan PowerShell. Pemula PowerShell ditempatkan dalam satu kelompok dan pakar di kelompok lain. Berdasarkan hasil tes, tampaknya tidak ada banyak perbedaan dalam tingkat keterampilan antara kedua kelompok. Kedua kelompok diberikan tes kedua yang mirip dengan yang pertama. Kali ini mereka diberi akses ke komputer dengan PowerShell yang tidak memiliki akses ke internet. Hasil tes kedua menunjukkan perbedaan besar dalam tingkat keterampilan antara kedua kelompok. Para ahli tidak selalu tahu jawabannya, tetapi mereka tahu cara mencari tahu jawabannya.

Apa perbedaan hasil tes pertama dan kedua antara kedua kelompok ini?

Perbedaan yang diamati dalam dua tes ini adalah karena para ahli tidak menghafal cara menggunakan ribuan perintah di PowerShell. Mereka mempelajari cara menggunakan sistem bantuan dalam PowerShell dengan sangat baik. Ini memungkinkan mereka untuk menemukan perintah yang diperlukan ketika diperlukan dan cara menggunakan perintah tersebut setelah mereka menemukannya.

Aku pernah mendengar Jeffrey Snover, penemu PowerShell, menceritakan kisah serupa beberapa kali.

Menguasai sistem bantuan adalah kunci untuk berhasil dengan PowerShell.

Kemampuan Ditemukan

Perintah yang dikompilasi di PowerShell disebut cmdlet. Cmdlet diucapkan "command-let" (bukan CMD-let). Nama cmdlet memiliki bentuk perintah "Verb-Noun" tunggal untuk membuatnya mudah ditemukan. Misalnya, cmdlet untuk menentukan proses apa yang berjalan adalah Get-Process dan cmdlet untuk mengambil daftar layanan dan statusnya adalah Get-Service. Ada jenis perintah lain di PowerShell seperti alias dan fungsi yang akan dibahas nanti dalam buku ini. Istilah perintah PowerShell adalah istilah generik yang sering digunakan untuk merujuk ke semua jenis perintah di PowerShell, terlepas dari apakah itu cmdlet, fungsi, atau alias atau tidak.

Tiga Cmdlet Inti di PowerShell

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

Satu pertanyaan yang sering saya tanyakan adalah bagaimana Anda mengetahui perintah apa yang ada di PowerShell? Baik Get-Command dan Get-Help dapat digunakan untuk menentukan perintah.

Get-Help

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

Ketika Get-Help digunakan untuk menemukan perintah, pertama-tama mencari kecocokan kartubebas dari nama perintah berdasarkan input yang disediakan. Jika tidak menemukan kecocokan, ia mencari topik bantuan itu sendiri, dan jika tidak ada kecocokan yang ditemukan, kesalahan akan dikembalikan. Bertentangan dengan kepercayaan populer, Get-Help dapat digunakan untuk menemukan perintah yang tidak memiliki topik bantuan.

Hal pertama yang perlu Anda ketahui tentang sistem bantuan di PowerShell adalah cara menggunakan Get-Help cmdlet . Perintah berikut digunakan untuk menampilkan topik bantuan untuk Get-Help.

Get-Help -Name Get-Help
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 http://go.microsoft.com/fwlink/?LinkId=210614.
[Y] Yes  [N] No  [S] Suspend  [?] Help (default is "Y"):

Dimulai dengan PowerShell versi 3, bantuan PowerShell tidak dikirim dengan sistem operasi. Pertama kali Get-Help dijalankan untuk perintah, pesan sebelumnya ditampilkan. help Jika fungsi atau man alias digunakan alih-alih Get-Help cmdlet, Anda tidak menerima perintah ini.

Menjawab ya dengan menekan Y menjalankan Update-Help cmdlet, yang memerlukan akses internet secara default. Y dapat ditentukan dalam huruf besar atau kecil.

Setelah bantuan diunduh dan pembaruan selesai, topik bantuan dikembalikan untuk perintah yang ditentukan:

Get-Help -Name Get-Help

Luangkan waktu sejenak untuk menjalankan contoh tersebut di komputer Anda, tinjau output, dan perhatikan bagaimana informasi dikelompokkan:

  • NAME
  • SINOPSIS
  • SINTAKS
  • DESKRIPSI
  • Tautan terkait
  • REMARKS

Seperti yang Anda lihat, topik bantuan dapat berisi sejumlah besar informasi dan ini bahkan bukan seluruh topik bantuan.

Meskipun tidak spesifik untuk PowerShell, parameter adalah cara untuk memberikan input ke perintah. Get-Help memiliki banyak parameter yang dapat ditentukan untuk mengembalikan seluruh topik bantuan atau subsetnya.

Bagian sintaks dari topik bantuan yang diperlihatkan dalam kumpulan hasil sebelumnya mencantumkan semua parameter untuk Get-Help. Pada pandangan pertama, tampaknya parameter yang sama tercantum enam kali berbeda. Masing-masing blok yang berbeda di bagian sintaksis adalah set parameter. Ini berarti Get-Help cmdlet memiliki enam set parameter yang berbeda. Jika Anda melihat lebih dekat, Anda akan melihat bahwa setidaknya satu parameter berbeda di setiap set parameter.

Set parameter saling eksklusif. Setelah parameter unik yang hanya ada di salah satu set parameter yang digunakan, hanya parameter yang terkandung dalam kumpulan parameter tersebut yang dapat digunakan. Misalnya, parameter Lengkap dan Terperinci tidak dapat ditentukan pada saat yang sama karena berada dalam set parameter yang berbeda.

Masing-masing parameter berikut berada dalam set parameter yang berbeda:

  • Data
  • Terperinci
  • Contoh
  • Online
  • Parameter
  • ShowWindow

Semua sintaksis kriptik seperti kurung siku dan sudut di bagian sintaks berarti sesuatu tetapi akan dibahas dalam Lampiran A buku ini. Meskipun penting, mempelajari sintaksis kriptik sering sulit dipertahankan bagi seseorang yang baru menggunakan PowerShell dan mungkin tidak menggunakannya setiap hari.

Untuk informasi selengkapnya untuk lebih memahami sintaksis kriptik, lihat Lampiran A.

Untuk pemula, ada cara yang lebih mudah untuk mengetahui informasi yang sama kecuali dalam bahasa biasa.

Ketika parameter Get-HelpLengkap ditentukan, seluruh topik bantuan dikembalikan.

Get-Help -Name Get-Help -Full

Luangkan waktu sejenak untuk menjalankan contoh tersebut di komputer Anda, tinjau output, dan perhatikan bagaimana informasi dikelompokkan:

  • NAME
  • SINOPSIS
  • SINTAKS
  • DESKRIPSI
  • PARAMETER
  • INPUTS
  • OUTPUTS
  • CATATAN
  • CONTOH
  • Tautan terkait

Perhatikan bahwa menggunakan parameter Lengkap mengembalikan beberapa bagian tambahan, salah satunya adalah bagian PARAMETERS yang memberikan informasi lebih lanjut daripada bagian SINTAKSis kriptik.

Parameter Lengkap adalah parameter sakelar. Parameter yang tidak memerlukan nilai disebut parameter sakelar. Ketika parameter switch ditentukan, nilainya benar dan jika tidak, nilainya false.

Jika Anda telah mengerjakan bab ini di konsol PowerShell, Anda melihat bahwa perintah sebelumnya untuk menampilkan topik bantuan lengkap untuk Get-Help terbang di layar tanpa memberi Anda kesempatan untuk membacanya. Ada cara yang lebih baik.

Helpadalah fungsi yang menyalurkan ke fungsi bernama more, yang merupakan pembungkus Get-Help untuk more.com file yang dapat dieksekusi di Windows. Di konsol PowerShell, help berikan satu halaman bantuan pada satu waktu. Dalam ISE, ia bekerja dengan cara yang sama seperti Get-Help. Rekomendasi saya adalah menggunakan fungsi alih-alih helpGet-Help cmdlet karena memberikan pengalaman yang lebih baik dan kurang mengetik.

Namun, mengetik lebih sedikit tidak selalu merupakan hal yang baik. Jika Anda akan menyimpan perintah Anda sebagai skrip atau membagikannya dengan orang lain, pastikan untuk menggunakan cmdlet lengkap dan nama parameter. Nama lengkapnya adalah dokumentasi mandiri, yang membuatnya lebih mudah dipahami. Pikirkan tentang orang berikutnya yang harus membaca dan memahami perintah Anda. Bisa jadi kau. Rekan kerja dan diri anda di masa depan akan berterima kasih.

Coba jalankan perintah berikut di konsol PowerShell di komputer lingkungan lab Windows 10 Anda.

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

Apakah Anda melihat perbedaan dalam output dari perintah yang tercantum sebelumnya saat Anda menjalankannya di komputer lingkungan lab Windows 10 Anda?

Tidak ada perbedaan selain dua opsi terakhir yang mengembalikan hasil satu halaman pada satu waktu. Bilah spasi digunakan untuk menampilkan halaman konten berikutnya saat menggunakan Help fungsi dan Ctrl+C membatalkan perintah yang berjalan di konsol PowerShell.

Contoh pertama menggunakan Get-Help cmdlet , yang kedua menggunakan Help fungsi , dan yang ketiga menghilangkan parameter Nama saat menggunakan Help fungsi . Nama adalah parameter posisional dan sedang digunakan secara posisional dalam contoh tersebut. Ini berarti nilai dapat ditentukan tanpa menentukan nama parameter, selama nilai itu sendiri ditentukan dalam posisi yang benar. Bagaimana cara mengetahui posisi apa yang harus ditentukan nilainya? Dengan membaca bantuan seperti yang ditunjukkan dalam contoh berikut.

help Get-Help -Parameter Name
-Name <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 a word that doesn't match any help article titles, Get-Help displays a list of
    articles that include that word 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

Perhatikan bahwa dalam contoh sebelumnya, parameter Parameter digunakan dengan fungsi Bantuan untuk hanya mengembalikan informasi dari topik bantuan untuk parameter Nama . Ini jauh lebih ringkas daripada mencoba menyaring secara manual apa yang kadang-kadang tampak seperti seratus topik bantuan halaman.

Berdasarkan hasil tersebut, Anda dapat melihat bahwa parameter Nama bersifat posisional dan harus ditentukan dalam posisi nol (posisi pertama) saat digunakan secara posisional. Urutan yang ditentukan parameter tidak masalah jika nama parameter ditentukan.

Satu informasi penting lainnya adalah bahwa parameter Nama mengharapkan jenis data untuk nilainya menjadi string tunggal, yang ditandai dengan <String>. Jika menerima beberapa string, jenis data akan dicantumkan sebagai <String[]>.

Terkadang Anda hanya tidak ingin menampilkan seluruh topik bantuan untuk perintah. Ada sejumlah parameter lain selain Penuh yang dapat ditentukan dengan Get-Help atau Help. Coba jalankan perintah berikut di komputer lingkungan lab Windows 10 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 Penuh atau Online . Jika saya hanya tertarik dengan contoh, saya akan menggunakan parameter Contoh dan jika saya hanya tertarik dengan parameter tertentu, saya akan menggunakan parameter Parameter . Parameter ShowWindow membuka topik bantuan di jendela terpisah yang dapat dicari yang dapat ditempatkan di monitor yang berbeda jika Anda memiliki beberapa monitor. Saya telah menghindari parameter ShowWindow karena ada bug yang diketahui di mana tidak menampilkan seluruh topik bantuan.

Jika Anda ingin bantuan di jendela terpisah, rekomendasi saya adalah menggunakan parameter Online atau menggunakan parameter Lengkap dan menyalurkan hasilnya ke Out-GridView, seperti yang ditunjukkan dalam contoh berikut.

help Get-Command -Full | Out-GridView

Out-GridView Cmdlet dan parameter ShowWindow cmdlet Get-Help memerlukan sistem operasi dengan GUI (Antarmuka Pengguna Grafis). Mereka akan menghasilkan pesan kesalahan jika Anda mencoba menggunakan salah satunya di Windows Server yang telah diinstal menggunakan opsi penginstalan inti server (tanpa GUI).

Untuk menggunakan Get-Help untuk menemukan perintah, gunakan karakter kartubebas tanda bintang (*) dengan parameter Nama . Tentukan istilah yang Anda cari perintahnya sebagai nilai untuk parameter Nama seperti yang diperlihatkan dalam contoh berikut.

help *process*
Name                              Category  Module                    Synopsis
----                              --------  ------                    --------
Enter-PSHostProcess               Cmdlet    Microsoft.PowerShell.Core Connects to and ...
Exit-PSHostProcess                Cmdlet    Microsoft.PowerShell.Core Closes an intera...
Get-PSHostProcessInfo             Cmdlet    Microsoft.PowerShell.Core
Debug-Process                     Cmdlet    Microsoft.PowerShell.M... Debugs one or mo...
Get-Process                       Cmdlet    Microsoft.PowerShell.M... Gets the process...
Start-Process                     Cmdlet    Microsoft.PowerShell.M... Starts one or mo...
Stop-Process                      Cmdlet    Microsoft.PowerShell.M... Stops one or mor...
Wait-Process                      Cmdlet    Microsoft.PowerShell.M... Waits for the pr...
Get-AppvVirtualProcess            Function  AppvClient                ...
Start-AppvVirtualProcess          Function  AppvClient                ...

Dalam contoh sebelumnya, * karakter kartubebas tidak diperlukan dan menghilangkannya menghasilkan hasil yang sama. Get-Help secara otomatis menambahkan karakter kartubebas di belakang layar.

help process

Perintah sebelumnya menghasilkan hasil yang sama dengan * menentukan karakter kartubebas pada setiap akhir proses.

Saya lebih suka menambahkannya karena itulah opsi yang selalu bekerja secara konsisten. Jika tidak, mereka diperlukan dalam skenario tertentu dan bukan yang lain. Segera setelah Anda menambahkan karakter kartubebas di tengah nilai, karakter tersebut tidak lagi ditambahkan secara otomatis di belakang layar ke nilai yang Anda tentukan.

help pr*cess

Tidak ada hasil yang dikembalikan oleh perintah tersebut * kecuali karakter kartubebas ditambahkan ke awal, akhir, atau awal dan akhir .pr*cess

Jika nilai yang Anda tentukan dimulai dengan tanda hubung, maka kesalahan dihasilkan karena PowerShell menafsirkannya sebagai nama parameter dan tidak ada nama parameter tersebut Get-Help untuk cmdlet.

help -process

Jika yang Anda coba cari adalah perintah yang diakhir dengan -process, Anda hanya perlu menambahkan * karakter kartubebas ke awal nilai.

help *-process

Saat mencari perintah PowerShell dengan Get-Help, Anda ingin menjadi sedikit lebih samar alih-alih terlalu spesifik dengan apa yang Anda cari.

Mencari process perintah yang ditemukan sebelumnya hanya yang terkandung process dalam nama perintah dan hanya mengembalikan hasil tersebut. Ketika Get-Help digunakan untuk processesmencari , itu tidak menemukan kecocokan untuk nama perintah, sehingga melakukan pencarian setiap topik bantuan di PowerShell pada sistem Anda dan mengembalikan kecocokan apa pun yang ditemukannya. Hal ini menyebabkannya mengembalikan sejumlah besar hasil.

Get-Help processes
Name                              Category  Module                    Synopsis
----                              --------  ------                    --------
Disconnect-PSSession              Cmdlet    Microsoft.PowerShell.Core Disconnects from...
Enter-PSHostProcess               Cmdlet    Microsoft.PowerShell.Core Connects to and ...
ForEach-Object                    Cmdlet    Microsoft.PowerShell.Core Performs an oper...
Get-PSSessionConfiguration        Cmdlet    Microsoft.PowerShell.Core Gets the registe...
New-PSTransportOption             Cmdlet    Microsoft.PowerShell.Core Creates an objec...
Out-Host                          Cmdlet    Microsoft.PowerShell.Core Sends output to ...
Where-Object                      Cmdlet    Microsoft.PowerShell.Core Selects objects ...
Clear-Variable                    Cmdlet    Microsoft.PowerShell.U... Deletes the valu...
Compare-Object                    Cmdlet    Microsoft.PowerShell.U... Compares two set...
Convert-String                    Cmdlet    Microsoft.PowerShell.U... Formats a string...
ConvertFrom-Csv                   Cmdlet    Microsoft.PowerShell.U... Converts object ...
ConvertTo-Html                    Cmdlet    Microsoft.PowerShell.U... Converts Microso...
ConvertTo-Xml                     Cmdlet    Microsoft.PowerShell.U... Creates an XML-b...
Debug-Runspace                    Cmdlet    Microsoft.PowerShell.U... Starts an intera...
Export-Csv                        Cmdlet    Microsoft.PowerShell.U... Converts objects...
Export-FormatData                 Cmdlet    Microsoft.PowerShell.U... Saves formatting...
Format-List                       Cmdlet    Microsoft.PowerShell.U... Formats the outp...
Format-Table                      Cmdlet    Microsoft.PowerShell.U... Formats the outp...
Get-Random                        Cmdlet    Microsoft.PowerShell.U... Gets a random nu...
Get-Unique                        Cmdlet    Microsoft.PowerShell.U... Returns unique i...
Group-Object                      Cmdlet    Microsoft.PowerShell.U... Groups objects t...
Import-Clixml                     Cmdlet    Microsoft.PowerShell.U... Imports a CLIXML...
Import-Csv                        Cmdlet    Microsoft.PowerShell.U... Creates table-li...
Measure-Object                    Cmdlet    Microsoft.PowerShell.U... Calculates the n...
Out-File                          Cmdlet    Microsoft.PowerShell.U... Sends output to ...
Out-GridView                      Cmdlet    Microsoft.PowerShell.U... Sends output to ...
Select-Object                     Cmdlet    Microsoft.PowerShell.U... Selects objects ...
Set-Variable                      Cmdlet    Microsoft.PowerShell.U... Sets the value o...
Sort-Object                       Cmdlet    Microsoft.PowerShell.U... Sorts objects by...
Tee-Object                        Cmdlet    Microsoft.PowerShell.U... Saves command ou...
Trace-Command                     Cmdlet    Microsoft.PowerShell.U... Configures and s...
Write-Output                      Cmdlet    Microsoft.PowerShell.U... Sends the specif...
Debug-Process                     Cmdlet    Microsoft.PowerShell.M... Debugs one or mo...
Get-Process                       Cmdlet    Microsoft.PowerShell.M... Gets the process...
Get-WmiObject                     Cmdlet    Microsoft.PowerShell.M... Gets instances o...
Start-Process                     Cmdlet    Microsoft.PowerShell.M... Starts one or mo...
Stop-Process                      Cmdlet    Microsoft.PowerShell.M... Stops one or mor...
Wait-Process                      Cmdlet    Microsoft.PowerShell.M... Waits for the pr...
Get-Counter                       Cmdlet    Microsoft.PowerShell.D... Gets performance...
Invoke-WSManAction                Cmdlet    Microsoft.WSMan.Manage... Invokes an actio...
Remove-WSManInstance              Cmdlet    Microsoft.WSMan.Manage... Deletes a manage...
Get-WSManInstance                 Cmdlet    Microsoft.WSMan.Manage... Displays managem...
New-WSManInstance                 Cmdlet    Microsoft.WSMan.Manage... Creates a new in...
Set-WSManInstance                 Cmdlet    Microsoft.WSMan.Manage... Modifies the man...
about_Arithmetic_Operators        HelpFile                            Describes the op...
about_Arrays                      HelpFile                            Describes arrays...
about_Debuggers                   HelpFile                            Describes the Wi...
about_Execution_Policies          HelpFile                            Describes the Wi...
about_ForEach-Parallel            HelpFile                            Describes the Fo...
about_Foreach                     HelpFile                            Describes a lang...
about_Functions                   HelpFile                            Describes how to...
about_Language_Keywords           HelpFile                            Describes the ke...
about_Methods                     HelpFile                            Describes how to...
about_Objects                     HelpFile                            Provides essenti...
about_Parallel                    HelpFile                            Describes the Pa...
about_Pipelines                   HelpFile                            Combining comman...
about_Preference_Variables        HelpFile                            Variables that c...
about_Remote                      HelpFile                            Describes how to...
about_Remote_Output               HelpFile                            Describes how to...
about_Sequence                    HelpFile                            Describes the Se...
about_Session_Configuration_Files HelpFile                            Describes sessio...
about_Variables                   HelpFile                            Describes how va...
about_Windows_PowerShell_5.0      HelpFile                            Describes new fe...
about_WQL                         HelpFile                            Describes WMI Qu...
about_WS-Management_Cmdlets       HelpFile                            Provides an over...
about_ForEach-Parallel            HelpFile                            Describes the Fo...
about_Parallel                    HelpFile                            Describes the Pa...
about_Sequence                    HelpFile                            Describes the Se...

Menggunakan Help untuk mencari process 10 hasil yang dikembalikan dan menggunakannya untuk mencari processes hasil 68 yang dikembalikan. Jika hanya satu hasil yang ditemukan, topik bantuan itu sendiri akan ditampilkan alih-alih daftar perintah.

get-help *hotfix*
NAME
    Get-HotFix

SYNOPSIS
    Gets the hotfixes that have been applied to the local and remote computers.


SYNTAX
    Get-HotFix [-ComputerName <String[]>] [-Credential <PSCredential>] [-Description
    <String[]>] [<CommonParameters>]

    Get-HotFix [[-Id] <String[]>] [-ComputerName <String[]>] [-Credential
    <PSCredential>] [<CommonParameters>]


DESCRIPTION
    The Get-Hotfix cmdlet gets hotfixes (also called updates) that have been installed
    on either the local computer (or on specified remote computers) by Windows Update,
    Microsoft Update, or Windows Server Update Services; the cmdlet also gets hotfixes
    or updates that have been installed manually by users.


RELATED LINKS
    Online Version: http://go.microsoft.com/fwlink/?LinkId=821586
    Win32_QuickFixEngineering http://go.microsoft.com/fwlink/?LinkID=145071
    Get-ComputerRestorePoint
    Add-Content

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"

Sekarang untuk men-debunk mitos bahwa Help di PowerShell hanya dapat menemukan perintah yang memiliki topik bantuan.

help *more*
NAME
    more

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


ALIASES
    None


REMARKS
    None

Perhatikan dalam contoh sebelumnya yang more tidak memiliki topik bantuan, namun Help sistem di PowerShell dapat menemukannya. Ini hanya menemukan satu kecocokan dan mengembalikan informasi sintaks dasar yang akan Anda lihat ketika perintah tidak memiliki topik bantuan.

PowerShell berisi banyak topik bantuan konseptual (Tentang). Perintah berikut dapat digunakan untuk mengembalikan daftar semua tentang topik bantuan di sistem Anda.

help About_*

Membatasi hasil menjadi satu topik Tentang bantuan menampilkan topik bantuan aktual alih-alih mengembalikan daftar.

help about_Updatable_Help

Sistem bantuan di PowerShell harus diperbarui agar topik Tentang bantuan ada. Jika karena alasan tertentu pembaruan awal sistem bantuan gagal pada komputer Anda, file tidak akan tersedia sampai Update-Help cmdlet berhasil dijalankan.

Get-Command

Get-Command dirancang untuk membantu Anda menemukan perintah. Berjalan Get-Command tanpa parameter apa pun mengembalikan daftar semua perintah pada sistem Anda. Contoh berikut menunjukkan penggunaan Get-Command cmdlet untuk menentukan perintah apa yang ada untuk bekerja dengan proses:

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

Perhatikan dalam contoh sebelumnya di mana Get-Command dijalankan, parameter Noun digunakan dan Process ditentukan sebagai nilai untuk parameter Noun . Bagaimana jika Anda tidak tahu cara menggunakan Get-Command cmdlet? Anda dapat menggunakan Get-Help untuk menampilkan topik bantuan untuk Get-Command.

Parameter Nama, Kata Benda, dan Kata Kerja menerima kartubebas. Contoh berikut menunjukkan kartubebas yang digunakan dengan parameter Nama :

Get-Command -Name *service*
CommandType     Name                                               Version    Source
-----------     ----                                               -------    ------
Function        Get-NetFirewallServiceFilter                       2.0.0.0    NetSecurity
Function        Set-NetFirewallServiceFilter                       2.0.0.0    NetSecurity
Cmdlet          Get-Service                                        3.1.0.0    Microsof...
Cmdlet          New-Service                                        3.1.0.0    Microsof...
Cmdlet          New-WebServiceProxy                                3.1.0.0    Microsof...
Cmdlet          Restart-Service                                    3.1.0.0    Microsof...
Cmdlet          Resume-Service                                     3.1.0.0    Microsof...
Cmdlet          Set-Service                                        3.1.0.0    Microsof...
Cmdlet          Start-Service                                      3.1.0.0    Microsof...
Cmdlet          Stop-Service                                       3.1.0.0    Microsof...
Cmdlet          Suspend-Service                                    3.1.0.0    Microsof...
Application     AgentService.exe                                   10.0.14... C:\Windo...
Application     SensorDataService.exe                              10.0.14... C:\Windo...
Application     services.exe                                       10.0.14... C:\Windo...
Application     services.msc                                       0.0.0.0    C:\Windo...
Application     TieringEngineService.exe                           10.0.14... C:\Windo...

Saya bukan penggemar menggunakan kartubebas dengan parameter Get-CommandNama karena juga mengembalikan file yang dapat dieksekusi yang bukan perintah PowerShell asli.

Jika Anda akan menggunakan karakter kartubebas dengan parameter Nama , sebaiknya batasi hasilnya dengan parameter CommandType .

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

Opsi yang lebih baik adalah menggunakan parameter Kata Kerja atau Kata Benda atau keduanya karena hanya perintah PowerShell yang memiliki kata kerja dan kata benda.

Menemukan sesuatu yang salah dengan topik bantuan? Kabar baiknya adalah topik bantuan untuk PowerShell telah bersumber terbuka dan tersedia di repositori PowerShell-Docs di GitHub. Teruskan dengan tidak hanya memperbaiki informasi yang salah untuk diri Anda sendiri, tetapi orang lain juga. Cukup fork repositori dokumentasi PowerShell di GitHub, perbarui topik bantuan, dan kirimkan permintaan pull. Setelah permintaan pull diterima, dokumentasi yang dikoreksi tersedia untuk semua orang.

Memperbarui Bantuan

Salinan lokal topik bantuan PowerShell sebelumnya diperbarui bantuan pertama kali pada perintah diminta. Disarankan untuk memperbarui sistem bantuan secara berkala karena mungkin ada pembaruan pada konten bantuan dari waktu ke waktu. Update-Help Cmdlet digunakan untuk memperbarui topik bantuan. Ini membutuhkan akses internet secara default dan bagi Anda untuk menjalankan PowerShell yang ditinggikan sebagai administrator.

Update-Help
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          : InvalidOperation: (:) [Update-Help], Exception
    + FullyQualifiedErrorId : InvalidHelpInfoUri,Microsoft.PowerShell.Commands.UpdateHel
   pCommand

Update-Help : Failed to update Help for the module(s) 'NetworkControllerDiagnostics,
StorageReplica' 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], Exception
    + FullyQualifiedErrorId : UnableToRetrieveHelpInfoXml,Microsoft.PowerShell.Commands.
   UpdateHelpCommand

Beberapa modul mengembalikan kesalahan, yang tidak jarang terjadi. Jika komputer tidak memiliki akses internet, Anda dapat menggunakan Save-Help cmdlet pada komputer lain yang memang memiliki akses internet untuk terlebih dahulu menyimpan informasi bantuan yang diperbarui ke berbagi file di jaringan Anda dan kemudian menggunakan parameter Update-HelpSourcePath untuk menentukan lokasi jaringan ini untuk topik bantuan.

Pertimbangkan untuk menyiapkan tugas terjadwal atau menambahkan beberapa logika ke skrip profil Anda di PowerShell untuk memperbarui konten bantuan secara berkala di komputer Anda. Skrip profil akan dibahas dalam bab mendatang.

Ringkasan

Dalam bab ini Anda telah mempelajari cara menemukan perintah dengan dan Get-HelpGet-Command. Anda telah mempelajari cara menggunakan sistem bantuan untuk mencari tahu cara menggunakan perintah setelah Anda menemukannya. Anda juga telah mempelajari cara memperbarui konten topik bantuan saat pembaruan tersedia.

Tantangan saya kepada Anda adalah mempelajari perintah PowerShell sehari.

Get-Command | Get-Random | Get-Help -Full

Tinjauan

  1. Apakah parameter DisplayName posisi Get-Service ?
  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?

Jika Anda ingin mengetahui informasi selengkapnya tentang topik yang dibahas dalam bab ini, sebaiknya baca topik bantuan PowerShell berikut.

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