Bagikan melalui


Save-Help

Mengunduh dan menyimpan file bantuan terbaru ke direktori sistem file.

Sintaks

Save-Help
    [-DestinationPath] <String[]>
    [[-Module] <PSModuleInfo[]>]
    [-FullyQualifiedModule <ModuleSpecification[]>]
    [[-UICulture] <CultureInfo[]>]
    [-Credential <PSCredential>]
    [-UseDefaultCredentials]
    [-Force]
    [-Scope <UpdateHelpScope>]
    [<CommonParameters>]
Save-Help
    -LiteralPath <String[]>
    [[-Module] <PSModuleInfo[]>]
    [-FullyQualifiedModule <ModuleSpecification[]>]
    [[-UICulture] <CultureInfo[]>]
    [-Credential <PSCredential>]
    [-UseDefaultCredentials]
    [-Force]
    [-Scope <UpdateHelpScope>]
    [<CommonParameters>]

Deskripsi

cmdlet Save-Help mengunduh file bantuan terbaru untuk modul PowerShell dan menyimpannya ke direktori yang Anda tentukan. Fitur ini memungkinkan Anda memperbarui file bantuan di komputer yang tidak memiliki akses ke internet, dan memudahkan untuk memperbarui file bantuan di beberapa komputer. Cmdlet ini diperkenalkan di Windows PowerShell 3.0.

Dimulai di Windows PowerShell 4.0, Anda dapat menggunakan Save-Help untuk mengunduh file bantuan untuk modul yang diinstal di komputer jarak jauh. Anda juga dapat menyimpan objek PSModuleInfo menggunakan Export-Clixml di komputer yang tidak memiliki akses internet, mengimpor objek di komputer yang memang memiliki akses internet, lalu menjalankan Save-Help pada objek PSModuleInfo. Setelah Anda memiliki bantuan yang disimpan, Anda dapat menyalinnya ke komputer jarak jauh dan menginstalnya dengan menjalankan Update-Help. Proses ini dapat digunakan untuk menginstal bantuan pada komputer yang tidak memiliki akses jaringan apa pun.

Tanpa parameter, perintah Save-Help mengunduh bantuan terbaru untuk semua modul dalam sesi dan untuk modul yang diinstal pada komputer di lokasi yang tercantum dalam variabel lingkungan PSModulePath. Tindakan ini melewati modul yang tidak mendukung Bantuan yang Dapat Diperbarui tanpa peringatan.

cmdlet Save-Help memeriksa versi file bantuan apa pun di folder tujuan. Jika file bantuan yang lebih baru tersedia, cmdlet ini mengunduh file bantuan terbaru dari internet, lalu menyimpannya di folder. Cmdlet Save-Help berfungsi seperti cmdlet Update-Help, kecuali bahwa cmdlet menyimpan konten yang diunduh, alih-alih mengekstrak file bantuan dan menginstalnya di komputer.

Bantuan yang disimpan untuk setiap modul terdiri dari satu file informasi bantuan (HELPInfo XML) dan arsip kabinet atau ZIP (.cab atau .zip) untuk file bantuan dalam setiap bahasa. Di Windows, perintah mengunduh file kabinet. Di Linux dan macOS, perintah mengunduh file ZIP.

Untuk menyimpan file bantuan untuk modul di folder penginstalan PowerShell ($PSHOME\Modules), mulai PowerShell dengan menggunakan opsi Jalankan sebagai administrator. Anda harus menjadi anggota grup Administrator di komputer untuk mengunduh file bantuan untuk modul ini.

Untuk menginstal file bantuan tersimpan, jalankan Update-Help dengan parameter SourcePath untuk menentukan folder yang berisi file Bantuan yang disimpan. Update-Help mengekstrak file bantuan dari arsip dan menginstalnya di lokasi yang sesuai.

Contoh

Contoh 1: Simpan bantuan untuk modul DhcpServer

Contoh ini menunjukkan tiga cara berbeda untuk menggunakan Save-Help untuk menyimpan bantuan untuk modul DhcpServer dari komputer klien yang terhubung ke internet, tanpa menginstal modul DhcpServer atau peran Server DHCP di komputer lokal.

# Option 1:
# 1. Run Invoke-Command to get the PSModuleInfo object for the DhcpServer module,
# 2. Save-Help on the PSModuleInfo object to save the help files to a folder on
#    the local computer.

$mod = Invoke-Command -ComputerName RemoteServer -ScriptBlock {
    Get-Module -Name DhcpServer -ListAvailable
}
Save-Help -Module $mod -DestinationPath C:\SavedHelp


# Option 2:
# 1. Open a PSSession to the remote computer that's running the DhcpServer module
# 2. Get the PSModuleInfo object from the remote computer
# 3. Save-Help on the PSModuleInfo object

$session = New-PSSession -ComputerName "RemoteServer"
$mod = Get-Module -PSSession $session -Name "DhcpServer" -ListAvailable
Save-Help -Module $mod -DestinationPath C:\SavedHelp


# Option 3:
# 1. Open a CimSession to the remote computer that's running the DhcpServer module
# 2. Get the PSModuleInfo object from the remote computer
# 3. Save-Help on the PSModuleInfo object
$cimsession = New-CimSession -ComputerName "RemoteServer"
$mod = Get-Module -CimSession $cimsession -Name "DhcpServer" -ListAvailable
Save-Help -Module $mod -DestinationPath "C:\SavedHelp"

Contoh 2: Instal bantuan untuk modul DhcpServer

Contoh ini memperlihatkan cara menginstal bantuan untuk komputer yang tidak tersambung ke jaringan. Untuk contoh ini, komputer pertama tidak tersambung ke jaringan yang dapat diakses. File harus disalin ke dalamnya menggunakan media yang dapat dilepas. Komputer kedua terhubung ke internet dan dapat mengunduh file bantuan.

# On the first computer, get the PSModuleInfo object for the module and save it to
# removable media.

Get-Module -Name "DhcpServer" -ListAvailable |
    Export-CliXml -Path E:\UsbFlashDrive\DhcpModule.xml

# Move the removable media to a computer that has internet access, and then import the
# PSModuleInfo object. Run Save-Help on the imported PSModuleInfo object and save the help
# files to the removable media.

$moduleInfo = Import-CliXml E:\UsbFlashDrive\DhcpModule.xml
Save-Help -Module $moduleInfo -DestinationPath E:\UsbFlashDrive\SavedHelp

# Finally, move the removable media back to the first computer and install the help.

Update-Help -Module DhcpServer -SourcePath E:\UsbFlashDrive\SavedHelp

Contoh 3: Menyimpan bantuan untuk semua modul

Perintah ini mengunduh file bantuan terbaru untuk semua modul di komputer lokal. Ini menyimpan file bantuan di folder \\Server01\Fileshare01.

Save-Help -DestinationPath \\Server01\FileShare01

Contoh 4: Menyimpan bantuan untuk modul di komputer

Perintah ini mengunduh file bantuan terbaru untuk modul ServerManager, lalu menyimpannya di folder \\Server01\Fileshare01.

$saveHelpSplat = @{
    Module = 'ServerManager'
    DestinationPath = '\\Server01\FileShare01'
    Credential = 'Domain01/Admin01'
}
Save-Help @saveHelpSplat

Saat modul diinstal di komputer, Anda dapat mengetikkan nama modul sebagai nilai parameter Modul, bahkan jika modul tidak diimpor ke sesi saat ini.

Perintah menggunakan parameter Kredensial untuk memberikan kredensial pengguna yang memiliki izin untuk menulis ke berbagi file.

Contoh 5: Menyimpan bantuan untuk modul di komputer lain

Perintah ini mengunduh file bantuan terbaru untuk modul CustomSQL dan menyimpannya di folder \\Server01\Fileshare01.

Invoke-Command -ComputerName Server02 { Get-Module -Name CustomSQL -ListAvailable } |
    Save-Help -DestinationPath \\Server01\FileShare01 -Credential Domain01\Admin01

Karena modul CustomSQL tidak diinstal di komputer, urutan menyertakan perintah Invoke-Command yang mendapatkan objek modul untuk modul CustomSQL dari komputer Server02 lalu menyalurkan objek modul ke cmdlet Save-Help.

Saat modul tidak diinstal di komputer, Save-Help memerlukan objek modul, yang mencakup informasi tentang lokasi file bantuan terbaru.

Contoh 6: Menyimpan bantuan untuk modul dalam beberapa bahasa

Perintah ini menyimpan bantuan untuk modul PowerShell inti dalam empat budaya UI yang berbeda. Paket bahasa untuk lokal ini tidak harus diinstal pada komputer.

$saveHelpSplat = @{
    Module = 'Microsoft.PowerShell*'
    UICulture = 'de-DE', 'en-US', 'fr-FR', 'ja-JP'
    DestinationPath = "D:\Help"
}
Save-Help @saveHelpSplat

Save-Help dapat mengunduh file bantuan untuk modul dalam budaya UI yang berbeda hanya ketika pemilik modul membuat file yang diterjemahkan tersedia di internet.

Contoh 7: Menyimpan bantuan lebih dari satu kali setiap hari

Perintah ini menyimpan bantuan untuk semua modul yang diinstal pada komputer. Perintah menentukan parameter Force untuk mengambil alih aturan yang mencegah cmdlet Save-Help mengunduh bantuan lebih dari sekali dalam setiap periode 24 jam.

Save-Help -Force -DestinationPath \\Server3\AdminShare\Help

Parameter Force juga mengambil alih pembatasan 1 GB dan menghindari pemeriksaan versi. Oleh karena itu, Anda dapat mengunduh file meskipun versinya tidak lebih baru dari versi di folder tujuan.

Perintah menggunakan cmdlet Save-Help untuk mengunduh dan menyimpan file bantuan ke folder yang ditentukan. Parameter Force diperlukan ketika Anda harus menjalankan perintah Save-Help lebih dari satu kali setiap hari.

Parameter

-Credential

Menentukan kredensial pengguna. Cmdlet ini menjalankan perintah dengan menggunakan kredensial pengguna yang memiliki izin untuk mengakses lokasi sistem file yang ditentukan oleh parameter DestinationPath. Parameter ini hanya valid ketika parameter DestinationPath atau LiteralPath digunakan dalam perintah.

Parameter ini memungkinkan Anda menjalankan perintah Save-Help yang menggunakan parameter DestinationPath pada komputer jarak jauh. Dengan memberikan kredensial eksplisit, Anda dapat menjalankan perintah di komputer jarak jauh dan mengakses berbagi file di komputer ketiga tanpa mengalami kesalahan akses yang ditolak atau menggunakan autentikasi CredSSP untuk mendelegasikan kredensial.

Ketik nama pengguna, seperti User01 atau Domain01\User01, atau masukkan objek PSCredential yang dihasilkan oleh cmdlet Get-Credential. Jika Anda mengetikkan nama pengguna, Anda akan diminta untuk memasukkan kata sandi.

Kredensial disimpan dalam objek PSCredential dan kata sandi disimpan sebagai SecureString.

Nota

Untuk informasi selengkapnya tentang perlindungan data SecureString, lihat Seberapa aman SecureString?.

Jenis:PSCredential
Position:Named
Nilai default:None
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-DestinationPath

Menentukan jalur folder tempat file bantuan disimpan. Jangan tentukan nama file atau ekstensi nama file.

Jenis:String[]
Alias:Path
Position:0
Nilai default:None
Diperlukan:True
Terima input alur:False
Terima karakter wildcard:False

-Force

Menunjukkan bahwa cmdlet ini tidak mengikuti batasan sekali per hari, melewati pemeriksaan versi, dan mengunduh file yang melebihi batas 1 GB.

Tanpa parameter ini, hanya satu perintah Save-Help untuk setiap modul yang diizinkan dalam setiap periode 24 jam, unduhan dibatasi hingga 1 GB konten yang tidak dikompresi per modul, dan file bantuan untuk modul hanya diinstal saat lebih baru dari file di komputer.

Batas sekali per hari melindungi server yang menghosting file bantuan, dan membuatnya praktis bagi Anda untuk menambahkan perintah Save-Help ke profil PowerShell Anda.

Untuk menyimpan bantuan untuk modul dalam beberapa budaya UI tanpa parameter Force, sertakan semua budaya UI dalam perintah yang sama, seperti: Save-Help -Module PSScheduledJobs -UICulture en-US, fr-FR, pt-BR

Jenis:SwitchParameter
Position:Named
Nilai default:False
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-FullyQualifiedModule

Nilainya dapat berupa nama modul, spesifikasi modul lengkap, atau jalur ke file modul.

Ketika nilai adalah jalur, jalur dapat sepenuhnya memenuhi syarat atau relatif. Jalur relatif diselesaikan relatif terhadap skrip yang berisi pernyataan penggunaan.

Saat nilainya adalah spesifikasi nama atau modul, PowerShell mencari PSModulePath untuk modul yang ditentukan.

Spesifikasi modul adalah hashtable yang memiliki kunci berikut.

  • ModuleName - Diperlukan Menentukan nama modul.
  • GUID - Opsional Menentukan GUID modul.
  • Ini juga Diperlukan untuk menentukan setidaknya salah satu dari tiga kunci di bawah ini.
    • ModuleVersion - Menentukan versi minimum modul yang dapat diterima.
    • MaximumVersion - Menentukan versi maksimum modul yang dapat diterima.
    • RequiredVersion - Menentukan versi modul yang tepat dan diperlukan. Ini tidak dapat digunakan dengan kunci Versi lainnya.

Anda tidak dapat menentukan parameter FullyQualifiedModule dalam perintah yang sama dengan parameter Modul. dua parameter saling eksklusif.

Jenis:ModuleSpecification[]
Position:Named
Nilai default:None
Diperlukan:False
Terima input alur:True
Terima karakter wildcard:False

-LiteralPath

Menentukan jalur folder tujuan. Tidak seperti nilai parameter DestinationPath, nilai parameter LiteralPath digunakan persis seperti yang dititik. Tidak ada karakter yang ditafsirkan sebagai karakter kartubebas. Jika jalur menyertakan karakter escape, sertakan dalam tanda kutip tunggal. Tanda kutip tunggal memberi tahu PowerShell untuk tidak menginterpretasikan karakter apa pun sebagai urutan escape.

Jenis:String[]
Alias:PSPath, LP
Position:Named
Nilai default:None
Diperlukan:True
Terima input alur:False
Terima karakter wildcard:False

-Module

Menentukan modul yang cmdlet ini mengunduh bantuan. Masukkan satu atau beberapa nama modul atau patter nama dalam daftar yang dipisahkan koma atau dalam file yang memiliki satu nama modul pada setiap baris. Karakter kartubebas diizinkan. Anda juga dapat menyalurkan objek modul dari cmdlet Get-Module ke Save-Help.

Secara default, Save-Help mengunduh bantuan untuk semua modul yang mendukung Bantuan yang Dapat Diperbarui dan diinstal pada komputer lokal di lokasi yang tercantum dalam variabel lingkungan PSModulePath.

Untuk menyimpan bantuan untuk modul yang tidak terinstal di komputer, jalankan perintah Get-Module di komputer jarak jauh. Kemudian pipa objek modul yang dihasilkan ke cmdlet Save-Help atau kirimkan objek modul sebagai nilai modul atau parameter InputObject.

Jika modul yang Anda tentukan diinstal di komputer, Anda dapat memasukkan nama modul atau objek modul. Jika modul tidak diinstal di komputer, Anda harus memasukkan objek modul, seperti yang dikembalikan oleh cmdlet Get-Module.

Parameter Modul cmdlet Save-Help tidak menerima jalur lengkap file modul atau file manifes modul. Untuk menyimpan bantuan untuk modul yang tidak berada di lokasi PSModulePath, impor modul ke sesi saat ini sebelum Anda menjalankan perintah Save-Help.

Nilai "*" (semua) mencoba memperbarui bantuan untuk semua modul yang diinstal di komputer. Ini termasuk modul yang tidak mendukung Bantuan yang Dapat Diperbarui. Nilai ini mungkin menghasilkan kesalahan ketika perintah menemukan modul yang tidak mendukung Bantuan yang Dapat Diperbarui.

Jenis:PSModuleInfo[]
Alias:Name
Position:1
Nilai default:None
Diperlukan:False
Terima input alur:True
Terima karakter wildcard:True

-Scope

Parameter ini tidak melakukan apa pun dalam cmdlet ini.

Jenis:UpdateHelpScope
Position:Named
Nilai default:None
Diperlukan:False
Terima input alur:True
Terima karakter wildcard:False

-UICulture

Menentukan nilai budaya UI tempat cmdlet ini mendapatkan file bantuan yang diperbarui. Masukkan satu atau beberapa kode bahasa, seperti es-ES, variabel yang berisi objek budaya, atau perintah yang mendapatkan objek budaya, seperti perintah Get-Culture atau Get-UICulture. Karakter pengganti tidak diizinkan.

Secara default, Save-Help mendapatkan file bantuan dalam budaya UI yang ditetapkan untuk sistem operasi atau budaya fallback-nya. Jika Anda menentukan parameter UICulture, Save-Help hanya mencari bantuan untuk bahasa yang ditentukan.

Dimulai di PowerShell 7.4, Anda dapat menggunakan kode bahasa parsial, seperti en untuk mengunduh bantuan dalam bahasa Inggris untuk wilayah mana pun.

Jenis:CultureInfo[]
Position:2
Nilai default:Current UI culture
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-UseDefaultCredentials

Menunjukkan bahwa cmdlet ini menjalankan perintah, termasuk unduhan web, dengan kredensial pengguna saat ini. Secara default, perintah berjalan tanpa kredensial eksplisit.

Parameter ini hanya efektif ketika unduhan web menggunakan autentikasi berbasis NTLM, negosiasi, atau Kerberos.

Jenis:SwitchParameter
Position:Named
Nilai default:False
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

Input

PSModuleInfo

Anda dapat menyalurkan objek modul ke cmdlet ini.

Output

None

Cmdlet ini tidak mengembalikan output.

Catatan

  • Untuk menyimpan bantuan untuk modul di folder $PSHOME\Modules, mulai PowerShell dengan menggunakan opsi Jalankan sebagai administrator. Hanya anggota grup Administrator di komputer yang dapat mengunduh bantuan untuk modul di folder $PSHOME\Modules.
  • Bantuan yang disimpan untuk setiap modul terdiri dari satu file informasi bantuan (HELPInfo XML) dan satu file kabinet (.cab) untuk file bantuan setiap budaya UI. Anda tidak perlu mengekstrak file bantuan dari file kabinet. cmdlet Update-Help mengekstrak file bantuan, memvalidasi XML, lalu menginstal file bantuan dan file informasi bantuan dalam subfolder khusus bahasa folder modul.
  • Cmdlet Save-Help dapat menyimpan bantuan untuk modul yang tidak diinstal di komputer. Namun, karena file bantuan diinstal di folder modul, cmdlet Update-Help dapat menginstal file bantuan yang diperbarui hanya untuk modul yang diinstal di komputer.
  • Jika Save-Help tidak dapat menemukan file bantuan yang diperbarui untuk modul, atau tidak dapat menemukan file bantuan yang diperbarui dalam bahasa yang ditentukan, file tersebut berlanjut secara diam-diam tanpa menampilkan pesan kesalahan. Untuk melihat file mana yang disimpan oleh perintah, tentukan parameter Verbose.
  • Modul adalah unit terkecil dari bantuan yang dapat diperbarui. Anda tidak dapat menyimpan bantuan untuk cmdlet tertentu, hanya untuk semua cmdlet dalam modul. Untuk menemukan modul yang berisi cmdlet tertentu, gunakan properti ModuleName bersama dengan cmdlet Get-Command, misalnya, (Get-Command \<cmdlet-name\>).ModuleName
  • Save-Help mendukung semua modul dan snap-in Inti PowerShell. Ini tidak mendukung snap-in lainnya.
  • Cmdlet Update-Help dan Save-Help menggunakan port berikut untuk mengunduh file bantuan: Port 80 untuk HTTP dan port 443 untuk HTTPS.
  • Cmdlet Update-Help dan Save-Help tidak didukung pada Windows Preinstallation Environment (Windows PE).