Update-Help
Mengunduh dan menginstal file bantuan terbaru di komputer Anda.
Sintaks
Path (Default)
Update-Help
[[-Module] <String[]>]
[[-SourcePath] <String[]>]
[[-UICulture] <CultureInfo[]>]
[-FullyQualifiedModule <ModuleSpecification[]>]
[-Recurse]
[-Credential <PSCredential>]
[-UseDefaultCredentials]
[-Force]
[-Scope <UpdateHelpScope>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
LiteralPath
Update-Help
[[-Module] <String[]>]
[[-UICulture] <CultureInfo[]>]
[-FullyQualifiedModule <ModuleSpecification[]>]
[-LiteralPath <String[]>]
[-Recurse]
[-Credential <PSCredential>]
[-UseDefaultCredentials]
[-Force]
[-Scope <UpdateHelpScope>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Deskripsi
cmdlet Update-Help 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 cmdlet Get-Help untuk melihat file bantuan baru segera.
Update-Help memeriksa versi file bantuan di komputer Anda. Jika Anda tidak memiliki file bantuan untuk modul atau jika file bantuan Anda sudah usang, Update-Help mengunduh file bantuan terbaru. File bantuan dapat diunduh dan diinstal dari internet atau berbagi file.
Tanpa parameter, Update-Help memperbarui file bantuan untuk modul dalam sesi dan untuk semua modul yang diinstal yang mendukung Bantuan yang Dapat Diperbarui. Modul yang diinstal tetapi tidak dimuat dalam sesi saat ini disertakan. Modul PowerShell disimpan di lokasi yang tercantum dalam variabel lingkungan $env:PSModulePath. Untuk informasi selengkapnya, lihat about_Updatable_Help.
Anda dapat menggunakan parameter Modul
Anda juga dapat menggunakan Update-Help di komputer yang tidak terhubung ke internet. Pertama, gunakan Save-Helpcmdlet untuk mengunduh file bantuan dari internet dan menyimpannya di folder bersama yang dapat diakses oleh sistem yang tidak terhubung ke internet. Kemudian gunakan parameter SourcePathUpdate-Help untuk mengunduh file bantuan yang diperbarui dari berbagi dan menginstalnya di komputer.
Anda dapat mengotomatiskan pembaruan bantuan dengan menambahkan cmdlet Update-Help ke profil PowerShell Anda. Secara default, Update-Help hanya berjalan satu kali per hari di setiap komputer. Untuk mengambil alih batas sekali per hari, gunakan parameter
Cmdlet Update-Help diperkenalkan di Windows PowerShell 3.0.
Penting
Update-Help memerlukan hak 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 dengan menggunakan opsi Jalankan sebagai administrator.
Misalnya: Start-Process pwsh.exe -Verb RunAs.
Contoh
Contoh 1: Memperbarui file bantuan untuk semua modul
cmdlet Update-Help 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
Cmdlet Update-Help memperbarui file bantuan hanya untuk nama modul yang dimulai dengan Microsoft.PowerShell.
Update-Help -Module Microsoft.PowerShell*
Contoh 3: Memperbarui file bantuan untuk bahasa yang berbeda
Cmdlet Update-Help memperbarui file bantuan Bahasa Jepang (ja-JP) dan Inggris (en-US) untuk semua modul.
Jika modul tidak menyediakan file bantuan untuk budaya UI tertentu, pesan kesalahan ditampilkan untuk modul dan budaya UI. Dalam contoh ini, pesan kesalahan menunjukkan bahwa file bantuan ja-JP tidak ditemukan untuk modul Microsoft.PowerShell.Utility.
Update-Help -UICulture ja-JP, en-US
Update-Help : Failed to update Help for the module(s) 'Microsoft.PowerShell.Utility' with UI culture(s) {ja-JP}
No UI culture was found that matches the following pattern: ja-JP.
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 berbagi file \\Server01\Share\PSHelp. Parameter Kredensial
Cmdlet Invoke-Command menjalankan perintah Update-Help jarak jauh di beberapa komputer. Parameter ComputerName mendapatkan daftar komputer jarak jauh dari file Servers.txt. Parameter
Contoh 5: Mendapatkan daftar file bantuan yang diperbarui
Cmdlet Update-Help memperbarui bantuan untuk modul tertentu. Cmdlet menggunakan parameter umum Verbose untuk menampilkan daftar file bantuan yang diperbarui. Anda dapat menggunakan
Tanpa parameter
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 ini menggunakan properti HelpInfoUri modul untuk mengidentifikasi modul yang mendukung Bantuan yang Dapat Diperbarui. Properti HelpInfoUri
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 dengan menggunakan properti HelpInfoUri modul. 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
# 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 konfirmasi sebelum menjalankan cmdlet.
Properti parameter
| Jenis: | SwitchParameter |
| Nilai default: | False |
| Mendukung wildcard: | False |
| DontShow: | False |
| Alias: | Cf |
Kumpulan parameter
(All)
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | 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
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
Nota
Untuk informasi selengkapnya tentang perlindungan data SecureString, lihat Seberapa aman SecureString?.
Properti parameter
| Jenis: | PSCredential |
| Nilai default: | Current user |
| Mendukung wildcard: | False |
| DontShow: | False |
Kumpulan parameter
(All)
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | 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 sehari melindungi server yang menghosting file bantuan dan membuatnya praktis bagi Anda untuk menambahkan perintah Update-Help 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
Properti parameter
| Jenis: | SwitchParameter |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
Kumpulan parameter
(All)
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-FullyQualifiedModule
Menentukan modul dengan nama yang ditentukan dalam bentuk ModuleSpecification objek. Modul-modul ini dijelaskan di bagian Keterangan ModuleSpecification Constructor (Hashtable).
Misalnya, parameter
@{ModuleName = "modulename"; ModuleVersion = "version_number"}
atau
@{ModuleName = "modulename"; ModuleVersion = "version_number"; Guid = "GUID"}.
moduleName dan ModuleVersion diperlukan, tetapi Guid bersifat opsional.
Anda tidak dapat menentukan parameter FullyQualifiedModule dalam perintah yang sama dengan parameter Modul.
Properti parameter
| Jenis: | |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
Kumpulan parameter
(All)
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | True |
| Nilai dari argumen yang tersisa: | False |
-LiteralPath
Menentukan folder untuk berkas bantuan yang diperbarui alih-alih mengunduhnya dari internet. Gunakan parameter ini atau SourcePath jika Anda telah menggunakan cmdlet Save-Help untuk mengunduh file bantuan ke direktori.
Anda dapat membuat alur objek direktori, seperti dari cmdlet Get-Item atau Get-ChildItem, ke Update-Help.
Tidak seperti nilai
Properti parameter
| Jenis: | String[] |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
| Alias: | PSPath, LP |
Kumpulan parameter
LiteralPath
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | True |
| Nilai dari argumen yang tersisa: | 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 pengganti diizinkan. Anda dapat mem-pipeline modul dari cmdlet Get-Module ke cmdlet Update-Help.
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 variabel lingkungan $env:PSModulePath.
Nilai * (semua) mencoba memperbarui bantuan untuk semua modul yang diinstal di 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 lokasi $env:PSModulePath, impor modul ke sesi saat ini sebelum Anda menjalankan perintah Update-Help.
Properti parameter
| Jenis: | String[] |
| Nilai default: | None |
| Mendukung wildcard: | True |
| DontShow: | False |
| Alias: | Nama |
Kumpulan parameter
(All)
| Position: | 0 |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | True |
| Nilai dari argumen yang tersisa: | False |
-Recurse
Melakukan pencarian rekursif untuk file bantuan di direktori yang ditentukan. Parameter ini hanya valid ketika perintah menggunakan parameter
Properti parameter
| Jenis: | SwitchParameter |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
Kumpulan parameter
(All)
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | 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 sistem Unix sudo hak istimewa diperlukan untuk memperbarui bantuan untuk semua pengguna. Misalnya: sudo pwsh -c Update-Help
Nilai yang dapat diterima adalah:
- PenggunaSekarang
- Semua Pengguna
Properti parameter
| Jenis: | UpdateHelpScope |
| Nilai default: | CurrentUser |
| Mendukung wildcard: | False |
| DontShow: | False |
Kumpulan parameter
(All)
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | True |
| Nilai dari argumen yang tersisa: | False |
-SourcePath
Menentukan folder sistem file di mana Update-Help mendapatkan file bantuan yang diperbarui, alih-alih mengunduhnya dari internet. Masukkan jalur folder. Jangan tentukan nama file atau ekstensi nama file. Anda dapat menyalurkan folder, seperti dari cmdlet Get-Item atau Get-ChildItem, ke Update-Help.
Secara default, Update-Help mengunduh file bantuan yang diperbarui dari internet. Gunakan
Untuk menentukan nilai default untukUpdate-Help mengunduh file bantuan dari internet.
Untuk informasi selengkapnya, lihat about_Group_Policy_Settings.
Properti parameter
| Jenis: | String[] |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
| Alias: | Jalur |
Kumpulan parameter
Path
| Position: | 1 |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-UICulture
Menentukan nilai budaya UI yang Update-Help gunakan untuk 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 dan Anda tidak dapat mengirimkan kode bahasa parsial, seperti de.
Secara default, Update-Help mendapatkan file bantuan dalam kultur UI yang ditetapkan untuk sistem operasi. Jika Anda menentukan parameter UICulture
Nota
Ubuntu 18.04 mengubah pengaturan lokal default menjadi C.UTF.8, yang bukan merupakan budaya UI yang diakui.
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.
Perintah yang menggunakan parameter UICulture
Properti parameter
| Jenis: | |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
Kumpulan parameter
(All)
| Position: | 2 |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-UseDefaultCredentials
Menunjukkan bahwa Update-Help menjalankan perintah, termasuk unduhan internet, dengan 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.
Properti parameter
| Jenis: | SwitchParameter |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
Kumpulan parameter
(All)
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-WhatIf
Menunjukkan apa yang akan terjadi ketika cmdlet dijalankan. Cmdlet tidak dijalankan.
Properti parameter
| Jenis: | SwitchParameter |
| Nilai default: | False |
| Mendukung wildcard: | False |
| DontShow: | False |
| Alias: | wi |
Kumpulan parameter
(All)
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
CommonParameters
Cmdlet ini mendukung parameter umum: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction, dan -WarningVariable. Untuk informasi selengkapnya, lihat about_CommonParameters.
Input
DirectoryInfo
Anda dapat menyalurkan jalur direktori ke Update-Help.
PSModuleInfo
Anda dapat menyalurkan objek modul dari cmdlet Get-Module ke Update-Help.
Output
None
Update-Help tidak menghasilkan output apa pun.
Catatan
Untuk memperbarui bantuan untuk modul Inti PowerShell, yang berisi perintah yang diinstal dengan PowerShell, atau modul apa pun di direktori $PSHOME\Modules, mulai PowerShell dengan opsi untuk Jalankan sebagai administrator.
Hanya anggota grup Administrator di komputer yang dapat memperbarui bantuan untuk modul PowerShell inti, perintah yang diinstal bersama dengan PowerShell, dan untuk modul di folder $PSHOME\Modules. 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, cmdlet Update-Help dapat menginstal file bantuan yang diperbarui hanya untuk modul yang diinstal di komputer. Namun, cmdlet Save-Help dapat menyimpan bantuan untuk modul yang tidak diinstal di komputer.
Jika Update-Help tidak dapat menemukan file bantuan yang diperbarui untuk modul, atau tidak dapat menemukan bantuan yang diperbarui dalam bahasa yang ditentukan, file tersebut berlanjut secara diam-diam tanpa menampilkan pesan kesalahan. Untuk melihat detail status dan kemajuan, gunakan parameter
Cmdlet Update-Help 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 cmdlet Update-Help 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.
Cmdlet Update-Help 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 snap-in Inti PowerShell. Ini tidak mendukung snap-in lainnya.
Untuk memperbarui bantuan modul di lokasi yang tidak tercantum dalam variabel lingkungan $env:PSModulePath, impor modul ke sesi saat ini lalu jalankan perintah Update-Help. Jalankan Update-Help 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.
Cmdlet Update-Help dan Save-Help tidak didukung pada Windows Preinstallation Environment (Windows PE).