Set-VMFirmware
Sets the firmware configuration of a virtual machine.
Syntax
Set-VMFirmware
[-CimSession <CimSession[]>]
[-ComputerName <String[]>]
[-Credential <PSCredential[]>]
[-VMName] <String[]>
[-BootOrder <VMComponentObject[]>]
[-FirstBootDevice <VMComponentObject>]
[-EnableSecureBoot <OnOffState>]
[-SecureBootTemplate <String>]
[-SecureBootTemplateId <Guid>]
[-PreferredNetworkBootProtocol <IPProtocolPreference>]
[-ConsoleMode <ConsoleModeType>]
[-PauseAfterBootFailure <OnOffState>]
[-Passthru]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Set-VMFirmware
[-VM] <VirtualMachine[]>
[-BootOrder <VMComponentObject[]>]
[-FirstBootDevice <VMComponentObject>]
[-EnableSecureBoot <OnOffState>]
[-SecureBootTemplate <String>]
[-SecureBootTemplateId <Guid>]
[-PreferredNetworkBootProtocol <IPProtocolPreference>]
[-ConsoleMode <ConsoleModeType>]
[-PauseAfterBootFailure <OnOffState>]
[-Passthru]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Set-VMFirmware
[-VMFirmware] <VMFirmware[]>
[-BootOrder <VMComponentObject[]>]
[-FirstBootDevice <VMComponentObject>]
[-EnableSecureBoot <OnOffState>]
[-SecureBootTemplate <String>]
[-SecureBootTemplateId <Guid>]
[-PreferredNetworkBootProtocol <IPProtocolPreference>]
[-ConsoleMode <ConsoleModeType>]
[-PauseAfterBootFailure <OnOffState>]
[-Passthru]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
The Set-VMFirmware cmdlet sets the firmware configuration of a Generation 2 virtual machine.
Examples
Example 1
PS C:\> Set-VMFirmware "Test VM" -EnableSecureBoot On
This example enables secure boot functionality on the virtual machine "Test VM".
Example 2
PS C:\> Set-VMFirmware "Test VM" -FirstBootDevice $vmNetworkAdapter
This example sets the virtual machine "Test VM" to boot off of the VM network adapter object stored in $vmNetworkAdapter. This object was acquired using get-VMNetworkAdapter.
Example 3
PS C:\> Set-VMFirmware "Test VM" -BootOrder $vmNetworkAdapter, $vmHardDiskDrive
Sets the boot order for the virtual machine "Test VM". $vmNetworkAdapter contains a VM Network Adapter object (acquired using get-VMNetworkAdapter) and $vmHardDiskDrive contains a VM hard disk object (acquired using get-VMHardDiskDrive). Any existing boot entries not specified by this command will be removed from the virtual machine.
Parameters
-BootOrder
Specifies an array of devices. The boot order determines the order of the devices from which to boot. The acceptable values for this parameter are:
-- VMBootSource
-- VMNetworkAdapter
-- HardDiskDrive
-- DVDDrive
The VMBootSource value describes a boot entry in firmware nonvolatile Random Access Memory (NVRAM).
Type: | VMComponentObject[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CimSession
Runs the cmdlet in a remote session or on a remote computer. Enter a computer name or a session object, such as the output of a New-CimSession or Get-CimSession cmdlet. The default is the current session on the local computer.
Type: | CimSession[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ComputerName
Specifies the names of the Hyper-V hosts whose firmware configuration you want to modify.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Confirm
Prompts you for confirmation before running the cmdlet.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ConsoleMode
Specifies the console mode type for the virtual machine. This parameter allows a virtual machine to run without graphical user interface.
Type: | ConsoleModeType |
Accepted values: | Default, COM1, COM2, None |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Credential
Specifies one or more user accounts that have permission to perform this action. The default is the current user.
Type: | PSCredential[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-EnableSecureBoot
Specifies whether to enable secure boot. The acceptable values for this parameter are:
-- On
-- Off
Secure boot uses a public key infrastructure that protects the integrity of the operating system.
Type: | OnOffState |
Accepted values: | On, Off |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-FirstBootDevice
Specifies the device from which to attempt to boot from first. The acceptable values for this parameter are:
-- VMBootSource
-- VMNetworkAdapter
-- HardDiskDrive
-- DVDDrive
The VMBootSource value describes a boot entry in firmware NVRAM.
Type: | VMComponentObject |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Passthru
Returns an object representing the item with which you are working. By default, this cmdlet does not generate any output.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-PauseAfterBootFailure
Specifies the behavior of the virtual machine after a start failure. For a value of On, if the virtual machine fails to start correctly from a device, the virtual machine is paused.
Type: | OnOffState |
Accepted values: | On, Off |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-PreferredNetworkBootProtocol
Specifies the IP protocol version to use during a network boot.
Type: | IPProtocolPreference |
Accepted values: | IPv4, IPv6 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-SecureBootTemplate
Specifies the name of the secure boot template. If secure boot is enabled, you must have a valid secure boot template for the guest operating system to start.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-SecureBootTemplateId
Specifies the ID of the secure boot template.
Type: | Guid |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-VM
Specifies the virtual machine objects for which want to modify the firmware configuration. To obtain a virtual machine object, use the Get-VM cmdlet.
Type: | VirtualMachine[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-VMFirmware
Specifies an array of virtual machine firmware configurations. The cmdlet sets the firmware configurations you specify.
Type: | VMFirmware[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-VMName
Specifies an array of names of virtual machines for which you want to modify the firmware configuration.
Type: | String[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-WhatIf
Shows what would happen if the cmdlet runs. The cmdlet is not run.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Outputs
Microsoft.HyperV.Powershell.VMFirmware
Notes
- Note: This cmdlet is supported only when run against Generation 2 virtual machines.
Related Links
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour