Update-Help
Mengunduh dan menginstal file bantuan terbaru di komputer Anda.
Sintaks
Update-Help
[[-Module] <String[]>]
[-FullyQualifiedModule <ModuleSpecification[]>]
[[-SourcePath] <String[]>]
[-Recurse]
[[-UICulture] <CultureInfo[]>]
[-Credential <PSCredential>]
[-UseDefaultCredentials]
[-Force]
[-Scope <UpdateHelpScope>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Update-Help
[[-Module] <String[]>]
[-FullyQualifiedModule <ModuleSpecification[]>]
[-LiteralPath <String[]>]
[-Recurse]
[[-UICulture] <CultureInfo[]>]
[-Credential <PSCredential>]
[-UseDefaultCredentials]
[-Force]
[-Scope <UpdateHelpScope>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Deskripsi
Update-Help
Cmdlet mengunduh file bantuan terbaru untuk modul PowerShell dan menginstalnya di komputer Anda. Anda tidak perlu memulai ulang PowerShell untuk membuat perubahan efektif. Anda dapat menggunakan Get-Help
cmdlet untuk melihat file bantuan baru segera.
Update-Help
memeriksa versi file bantuan pada komputer Anda. Jika Anda tidak memiliki file bantuan untuk modul atau jika file bantuan Anda sudah usang, Update-Help
unduh file bantuan terbaru. File bantuan dapat diunduh dan diinstal dari internet atau berbagi file.
Tanpa parameter, Update-Help
perbarui file bantuan untuk modul yang mendukung bantuan yang dapat diperbarui dan dimuat dalam sesi atau diinstal di lokasi yang disertakan dalam $env:PSModulePath
. Untuk informasi selengkapnya, lihat about_Updatable_Help.
Update-Help
memeriksa versi bantuan yang diinstal. Jika Update-Help
tidak dapat menemukan file bantuan yang diperbarui untuk modul, file tersebut berlanjut secara diam-diam tanpa menampilkan pesan kesalahan. Gunakan parameter Paksa untuk melewati pemeriksaan versi. Gunakan parameter Verbose untuk melihat detail status dan kemajuan. Gunakan parameter Modul untuk memperbarui file bantuan untuk modul tertentu.
Anda juga dapat menggunakan Update-Help
pada komputer yang tidak terhubung ke internet. Pertama, gunakan Save-Help
cmdlet untuk mengunduh file bantuan dari internet dan menyimpannya di folder bersama yang dapat diakses oleh sistem yang tidak terhubung ke internet. Kemudian gunakan parameter SourcePath untuk Update-Help
mengunduh file bantuan yang diperbarui dari berbagi dan menginstalnya di komputer.
Update-Help
Cmdlet diperkenalkan di Windows PowerShell 3.0.
Penting
Update-Help
memerlukan hak istimewa administratif di PowerShell 6.0 ke bawah. PowerShell 6.1 ke atas mengatur Cakupan default ke CurrentUser
. Sebelum PowerShell 6.1, parameter Cakupan tidak tersedia.
Anda harus menjadi anggota grup Administrator di komputer untuk memperbarui file bantuan untuk modul Inti PowerShell.
Untuk mengunduh atau memperbarui file bantuan untuk modul di direktori penginstalan PowerShell ($PSHOME\Modules
), termasuk modul PowerShell Core, mulai PowerShell menggunakan opsi Jalankan sebagai administrator . Misalnya: Start-Process pwsh.exe -Verb RunAs
.
Contoh
Contoh 1: Memperbarui file bantuan untuk semua modul
Update-Help
Cmdlet memperbarui file bantuan untuk modul terinstal yang mendukung Bantuan yang Dapat Diperbarui. Bahasa budaya antarmuka pengguna (UI) diatur dalam sistem operasi.
Update-Help
Contoh 2: Memperbarui file bantuan untuk modul tertentu
Update-Help
Cmdlet memperbarui file bantuan hanya untuk nama modul yang dimulai dengan Microsoft.PowerShell.
Update-Help -Module Microsoft.PowerShell*
Contoh 3: Memperbarui bantuan pada sistem yang tidak diatur ke lokal en-US
Update-Help
Cmdlet dirancang untuk mengunduh bantuan dalam beberapa bahasa. Namun, ketika tidak ada bantuan yang tersedia untuk bahasa yang digunakan sistem Anda, pesan kesalahan ditampilkan untuk modul dan budaya UI.
Dalam contoh ini, Update-Help
sedang dijalankan pada sistem yang diatur ke en-GB
lokal.
Update-Help Microsoft.PowerShell.Utility -Force
Update-Help: Failed to update Help for the module(s) 'Microsoft.PowerShell.Utility' with
UI culture(s) {en-GB} : The specified culture is not supported: en-GB. Specify a culture
from the following list: {en-US}..
English-US help content is available and can be installed using: Update-Help -UICulture en-US.
File bantuan selalu diterbitkan untuk en-US
lokal. Untuk mengunduh bantuan bahasa Inggris, jalankan Update-Help
dengan parameter UICulture dan tentukan en-US
lokal.
Contoh 4: Memperbarui file bantuan di beberapa komputer dari berbagi file
Dalam contoh ini, file bantuan yang diperbarui diunduh dari internet dan disimpan dalam berbagi file. Kredensial pengguna diperlukan yang memiliki izin untuk mengakses berbagi file dan menginstal pembaruan. Ketika berbagi file digunakan, dimungkinkan untuk memperbarui komputer yang berada di belakang firewall atau tidak terhubung ke internet.
Save-Help -DestinationPath \\Server01\Share\PSHelp -Credential Domain01\Admin01
Invoke-Command -ComputerName (Get-Content Servers.txt) -ScriptBlock {
Update-Help -SourcePath \\Server01\Share\PSHelp -Credential Domain01\Admin01
}
Perintah Save-Help
mengunduh file bantuan terbaru untuk semua modul yang mendukung Bantuan yang Dapat Diperbarui.
Parameter DestinationPath menyimpan file dalam \\Server01\Share\PSHelp
berbagi file. Parameter Kredensial menentukan pengguna yang memiliki izin untuk mengakses berbagi file.
Invoke-Command
Cmdlet menjalankan perintah jarak jauh Update-Help
pada beberapa komputer. Parameter ComputerName mendapatkan daftar komputer jarak jauh dari file Servers.txt . Parameter ScriptBlock menjalankan Update-Help
perintah dan menggunakan parameter SourcePath untuk menentukan berbagi file yang berisi file bantuan yang diperbarui. Parameter Kredensial menentukan pengguna yang dapat mengakses berbagi file dan menjalankan perintah jarak jauh Update-Help
.
Contoh 5: Mendapatkan daftar file bantuan yang diperbarui
Update-Help
Cmdlet memperbarui bantuan untuk modul tertentu. Cmdlet menggunakan parameter umum Verbose untuk menampilkan daftar file bantuan yang diperbarui. Anda dapat menggunakan Verbose untuk melihat output untuk semua file bantuan atau file bantuan untuk modul tertentu.
Tanpa parameter Verbose, Update-Help
tidak menampilkan hasil perintah. Output parameter Verbose berguna untuk memverifikasi bahwa file bantuan diperbarui atau jika versi terbaru diinstal.
Update-Help -Module Microsoft.PowerShell.Utility -Verbose
Contoh 6: Temukan modul yang mendukung Bantuan yang Dapat Diperbarui
Contoh ini mencantumkan modul yang mendukung Bantuan yang Dapat Diperbarui. Perintah menggunakan properti HelpInfoUri modul untuk mengidentifikasi modul yang mendukung Bantuan yang Dapat Diperbarui. Properti HelpInfoUri berisi URL yang dialihkan saat Update-Help
cmdlet dijalankan.
Get-Module -ListAvailable | Where-Object -Property HelpInfoUri
Directory: C:\program files\powershell\6\Modules
ModuleType Version Name PSEdition ExportedCommands
---------- ------- ---- --------- ----------------
Manifest 6.1.0.0 CimCmdlets Core {Get-CimAssociatedInstance... }
Manifest 1.2.2.0 Microsoft.PowerShell.Archive Desk {Compress-Archive... }
Manifest 6.1.0.0 Microsoft.PowerShell.Diagnostics Core {Get-WinEvent, New-WinEvent}
Directory: C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules
ModuleType Version Name PSEdition ExportedCommands
---------- ------- ---- --------- ----------------
Manifest 2.0.1.0 Appx Core,Desk {Add-AppxPackage, ... }
Script 1.0.0.0 AssignedAccess Core,Desk {Clear-AssignedAccess, ... }
Manifest 1.0.0.0 BitLocker Core,Desk {Unlock-BitLocker, ... }
Contoh 7: File bantuan yang diperbarui inventori
Dalam contoh ini, skrip Get-UpdateHelpVersion.ps1
membuat inventaris file Bantuan yang Dapat Diperbarui untuk setiap modul dan nomor versinya.
Skrip mengidentifikasi modul yang mendukung Bantuan yang Dapat Diperbarui menggunakan properti Modul HelpInfoUri . Untuk modul yang mendukung Bantuan yang Dapat Diperbarui, skrip mencari dan mengurai file informasi bantuan (*helpinfo.xml) untuk menemukan nomor versi terbaru.
Skrip menggunakan kelas PSCustomObject dan tabel hash untuk membuat objek output kustom.
# Get-UpdateHelpVersion.ps1
Param(
[parameter(Mandatory=$False)]
[String[]]
$Module
)
$HelpInfoNamespace = @{helpInfo='http://schemas.microsoft.com/powershell/help/2010/05'}
if ($Module) { $Modules = Get-Module $Module -ListAvailable | where {$_.HelpInfoUri} }
else { $Modules = Get-Module -ListAvailable | where {$_.HelpInfoUri} }
foreach ($mModule in $Modules)
{
$mDir = $mModule.ModuleBase
if (Test-Path $mdir\*helpinfo.xml)
{
$mName=$mModule.Name
$mNodes = dir $mdir\*helpinfo.xml -ErrorAction SilentlyContinue |
Select-Xml -Namespace $HelpInfoNamespace -XPath "//helpInfo:UICulture"
foreach ($mNode in $mNodes)
{
$mCulture=$mNode.Node.UICultureName
$mVer=$mNode.Node.UICultureVersion
[PSCustomObject]@{"ModuleName"=$mName; "Culture"=$mCulture; "Version"=$mVer}
}
}
}
ModuleName Culture Version
---------- ------- -------
ActiveDirectory en-US 3.0.0.0
ADCSAdministration en-US 3.0.0.0
ADCSDeployment en-US 3.0.0.0
ADDSDeployment en-US 3.0.0.0
ADFS en-US 3.0.0.0
Parameter
-Confirm
Meminta Anda mengonfirmasi sebelum menjalankan cmdlet.
Jenis: | SwitchParameter |
Alias: | cf |
Position: | Named |
Nilai default: | False |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-Credential
Menentukan kredensial pengguna yang memiliki izin untuk mengakses lokasi sistem file yang ditentukan oleh SourcePath. Parameter ini hanya valid ketika parameter SourcePath atau LiteralPath digunakan dalam perintah.
Parameter Kredensial memungkinkan Anda menjalankan Update-Help
perintah dengan parameter SourcePath di 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 Get-Credential
cmdlet. Jika Anda mengetikkan nama pengguna, Anda akan diminta untuk memasukkan kata sandi.
Kredensial disimpan dalam objek PSCredential dan kata sandi disimpan sebagai SecureString.
Catatan
Untuk informasi selengkapnya tentang perlindungan data SecureString , lihat Seberapa aman SecureString?.
Jenis: | PSCredential |
Position: | Named |
Nilai default: | Current user |
Diperlukan: | False |
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, Update-Help
hanya berjalan sekali dalam setiap periode 24 jam. Unduhan dibatasi hingga 1 GB konten yang tidak dikompresi per modul dan file bantuan hanya diinstal saat lebih baru dari file yang ada di komputer.
Batas sekali per hari melindungi server yang menghosting file bantuan dan membuatnya praktis bagi Anda untuk menambahkan Update-Help
perintah ke profil PowerShell Anda tanpa menimbulkan biaya sumber daya koneksi atau unduhan berulang.
Untuk memperbarui bantuan untuk modul dalam beberapa budaya UI tanpa parameter Force , sertakan semua budaya UI dalam perintah yang sama, seperti:
Update-Help -Module PSScheduledJobs -UICulture en-US, fr-FR, pt-BR
Jenis: | SwitchParameter |
Position: | Named |
Nilai default: | None |
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.- Diperlukan juga 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 .
Jenis: | ModuleSpecification[] |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | True |
Terima karakter wildcard: | False |
-LiteralPath
Menentukan folder untuk berkas bantuan yang diperbarui alih-alih mengunduhnya dari internet. Gunakan parameter ini atau SourcePath jika Anda telah menggunakan Save-Help
cmdlet untuk mengunduh file bantuan ke direktori.
Anda dapat menyalurkan objek direktori, seperti dari Get-Item
cmdlet atau Get-ChildItem
, ke Update-Help
.
Tidak seperti nilai SourcePath, nilai LiteralPath digunakan persis seperti yang ditik. 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: | False |
Terima input alur: | True |
Terima karakter wildcard: | False |
-Module
Memperbarui bantuan untuk modul yang ditentukan. Masukkan satu atau beberapa nama modul atau pola nama dalam daftar yang dipisahkan koma, atau tentukan file yang mencantumkan satu nama modul pada setiap baris. Karakter kartubebas diizinkan. Anda dapat mem-pipeline modul dari Get-Module
cmdlet ke Update-Help
cmdlet.
Modul yang Anda tentukan harus diinstal pada komputer, tetapi tidak harus diimpor ke sesi saat ini. Anda dapat menentukan modul apa pun dalam sesi atau modul apa pun yang diinstal di lokasi yang tercantum dalam $env:PSModulePath
variabel lingkungan.
Nilai *
(semua) mencoba memperbarui bantuan untuk semua modul yang diinstal pada komputer.
Modul yang tidak mendukung Bantuan yang Dapat Diperbarui disertakan. Nilai ini mungkin menghasilkan kesalahan ketika perintah menemukan modul yang tidak mendukung Bantuan yang Dapat Diperbarui. Sebagai gantinya, jalankan Update-Help
tanpa parameter.
Parameter Modul cmdlet Update-Help
tidak menerima jalur lengkap file modul atau file manifes modul. Untuk memperbarui bantuan untuk modul yang tidak berada di $env:PSModulePath
lokasi, impor modul ke sesi saat ini sebelum Anda menjalankan Update-Help
perintah.
Jenis: | String[] |
Alias: | Name |
Position: | 0 |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | True |
Terima karakter wildcard: | True |
-Recurse
Melakukan pencarian rekursif untuk file bantuan di direktori yang ditentukan. Parameter ini hanya valid ketika perintah menggunakan parameter SourcePath .
Jenis: | SwitchParameter |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-Scope
Menentukan cakupan sistem tempat bantuan diperbarui. Pembaruan pada cakupan AllUsers memerlukan hak administratif pada sistem Windows. Parameter -Scope
diperkenalkan di PowerShell Core versi 6.1.
CurrentUser adalah cakupan default untuk file bantuan di PowerShell 6.1 ke atas. AllUsers dapat ditentukan untuk menginstal atau memperbarui bantuan untuk semua pengguna. Pada hak istimewa sistem sudo
Unix diperlukan untuk memperbarui bantuan untuk semua pengguna. Misalnya: sudo pwsh -c Update-Help
Nilai yang dapat diterima adalah:
- CurrentUser
- AllUsers
Jenis: | UpdateHelpScope |
Position: | Named |
Nilai default: | CurrentUser |
Diperlukan: | False |
Terima input alur: | True |
Terima karakter wildcard: | False |
-SourcePath
Menentukan folder sistem file tempat Update-Help
file bantuan diperbarui, alih-alih mengunduhnya dari internet. Masukkan jalur folder. Jangan tentukan nama file atau ekstensi nama file. Anda dapat menyalurkan folder, seperti dari Get-Item
cmdlet atau Get-ChildItem
, ke Update-Help
.
Secara default, Update-Help
mengunduh file bantuan yang diperbarui dari internet. Gunakan SourcePath saat Anda telah menggunakan Save-Help
cmdlet untuk mengunduh file bantuan yang diperbarui ke direktori.
Untuk menentukan nilai default untuk SourcePath, buka Kebijakan Grup, Konfigurasi Komputer, dan Atur jalur sumber default untuk Bantuan-Pembaruan. Pengaturan Kebijakan Grup ini mencegah pengguna menggunakan Update-Help
untuk mengunduh file bantuan dari internet.
Untuk mengetahui informasi selengkapnya, lihat about_Group_Policy_Settings.
Jenis: | String[] |
Alias: | Path |
Position: | 1 |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
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 kartubebas tidak diizinkan.
Secara default, Update-Help
mendapatkan file bantuan dalam budaya UI yang ditetapkan untuk sistem operasi atau budaya fallback-nya. Jika Anda menentukan parameter UICulture , Update-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.
Catatan
Ubuntu 18.04 mengubah pengaturan lokal default menjadi C.UTF.8
, yang bukan budaya UI yang dikenali. Update-Help
secara diam-diam gagal mengunduh bantuan kecuali Anda menggunakan parameter ini dengan lokal yang didukung seperti en-US
. Ini dapat terjadi pada platform apa pun yang menggunakan nilai yang tidak didukung.
Jenis: | CultureInfo[] |
Position: | 2 |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-UseDefaultCredentials
Menunjukkan bahwa Update-Help
menjalankan perintah, termasuk unduhan internet, menggunakan kredensial pengguna saat ini. Secara default, perintah berjalan tanpa kredensial eksplisit.
Parameter ini hanya efektif ketika unduhan web menggunakan NT LAN Manager (NTLM), negosiasi, atau autentikasi berbasis Kerberos.
Jenis: | SwitchParameter |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-WhatIf
Menunjukkan apa yang akan terjadi jika cmdlet berjalan. Cmdlet tidak dijalankan.
Jenis: | SwitchParameter |
Alias: | wi |
Position: | Named |
Nilai default: | False |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
Input
Anda dapat menyalurkan objek jalur direktori ke cmdlet ini.
Anda dapat menyalurkan objek modul ke cmdlet ini.
Output
None
Cmdlet ini tidak mengembalikan output.
Catatan
Untuk memperbarui bantuan untuk modul Inti PowerShell, yang berisi perintah yang diinstal dengan PowerShell, atau modul apa pun di $PSHOME\Modules
direktori, mulai PowerShell dengan opsi untuk Berjalan sebagai administrator.
Hanya anggota grup Administrator di komputer yang dapat memperbarui bantuan untuk modul Inti PowerShell, perintah yang diinstal bersama dengan PowerShell, dan untuk modul di $PSHOME\Modules
folder. Jika Anda tidak memiliki izin untuk memperbarui file bantuan, Anda dapat membaca file bantuan secara online. Contohnya,Get-Help Update-Help -Online
.
Modul adalah unit terkecil dari bantuan yang dapat diperbarui. Anda tidak dapat memperbarui bantuan untuk cmdlet tertentu. Untuk menemukan modul yang berisi cmdlet tertentu, gunakan properti ModuleName cmdlet Get-Command
, misalnya, (Get-Command Update-Help).ModuleName
.
Karena file bantuan diinstal di direktori modul, Update-Help
cmdlet dapat menginstal file bantuan yang diperbarui hanya untuk modul yang diinstal di komputer. Namun, Save-Help
cmdlet dapat menyimpan bantuan untuk modul yang tidak diinstal di komputer.
Update-Help
Cmdlet diperkenalkan di Windows PowerShell 3.0. Ini tidak berfungsi di versi PowerShell yang lebih lama. Pada komputer yang memiliki Windows PowerShell 2.0 dan Windows PowerShell 3.0, gunakan Update-Help
cmdlet dalam sesi Windows PowerShell 3.0 untuk mengunduh dan memperbarui file bantuan. File bantuan tersedia untuk Windows PowerShell 2.0 dan Windows PowerShell 3.0.
Update-Help
cmdlet dan Save-Help
menggunakan port berikut untuk mengunduh file bantuan: Port 80 untuk HTTP dan port 443 untuk HTTPS.
Update-Help
mendukung semua modul dan inti snap-in PowerShell. Ini tidak mendukung snap-in lainnya.
Untuk memperbarui bantuan untuk modul di lokasi yang tidak tercantum dalam $env:PSModulePath
variabel lingkungan, impor modul ke sesi saat ini lalu jalankan Update-Help
perintah. Jalankan Update-Help
tanpa parameter atau gunakan parameter Modul untuk menentukan nama modul. Parameter Modul dari Update-Help
cmdlet dan Save-Help
tidak menerima jalur lengkap file modul atau file manifes modul.
Modul apa pun dapat mendukung Bantuan yang Dapat Diperbarui. Untuk instruksi untuk mendukung Bantuan yang Dapat Diperbarui dalam modul yang Anda tulis, lihat Mendukung Bantuan yang Dapat Diperbarui.
Update-Help
cmdlet dan Save-Help
tidak didukung pada Windows Preinstallation Environment (Windows PE).