Set-VMFirmware

Set-VMFirmware

Sets the firmware configuration of a virtual machine.

语法

Parameter Set: VMName
Set-VMFirmware [-VMName] <String[]> [-BootOrder <VMComponentObject[]> ] [-CimSession <Microsoft.Management.Infrastructure.CimSession[]> ] [-ComputerName <String[]> ] [-ConsoleMode <Nullable [Microsoft.HyperV.PowerShell.ConsoleModeType]> ] [-Credential <System.Management.Automation.PSCredential[]> ] [-EnableSecureBoot <OnOffState]> ] [-FirstBootDevice <VMComponentObject> ] [-Passthru] [-PauseAfterBootFailure <Nullable [Microsoft.HyperV.PowerShell.OnOffState]> ] [-PreferredNetworkBootProtocol <IPProtocolPreference]> ] [-SecureBootTemplate <System.String> ] [-SecureBootTemplateId <Nullable [System.Guid]> ] [-Confirm] [-WhatIf] [ <CommonParameters>]

Parameter Set: VMFirmware
Set-VMFirmware [-VMFirmware] <VMFirmware[]> [-BootOrder <VMComponentObject[]> ] [-ConsoleMode <Nullable [Microsoft.HyperV.PowerShell.ConsoleModeType]> ] [-EnableSecureBoot <OnOffState]> ] [-FirstBootDevice <VMComponentObject> ] [-Passthru] [-PauseAfterBootFailure <Nullable [Microsoft.HyperV.PowerShell.OnOffState]> ] [-PreferredNetworkBootProtocol <IPProtocolPreference]> ] [-SecureBootTemplate <System.String> ] [-SecureBootTemplateId <Nullable [System.Guid]> ] [-Confirm] [-WhatIf] [ <CommonParameters>]

Parameter Set: VMObject
Set-VMFirmware [-VM] <VirtualMachine[]> [-BootOrder <VMComponentObject[]> ] [-ConsoleMode <Nullable [Microsoft.HyperV.PowerShell.ConsoleModeType]> ] [-EnableSecureBoot <OnOffState]> ] [-FirstBootDevice <VMComponentObject> ] [-Passthru] [-PauseAfterBootFailure <Nullable [Microsoft.HyperV.PowerShell.OnOffState]> ] [-PreferredNetworkBootProtocol <IPProtocolPreference]> ] [-SecureBootTemplate <System.String> ] [-SecureBootTemplateId <Nullable [System.Guid]> ] [-Confirm] [-WhatIf] [ <CommonParameters>]

详细说明

The Set-VMFirmware cmdlet sets the firmware configuration of a Generation 2 virtual machine.

参数

-BootOrder<VMComponentObject[]>

Specifies an array of devices. The boot order determines the order of the devices from which to boot. 此参数的可接受值是:

  -- VMBootSource
  -- VMNetworkAdapter
  -- HardDiskDrive
  -- DVDDrive

The VMBootSource value describes a boot entry in firmware nonvolatile Random Access Memory (NVRAM).

别名

none

是否必需?

false

在哪里?

named

默认值

none

是否接受管道输入?

false

是否接受通配符?

false

-CimSession<Microsoft.Management.Infrastructure.CimSession[]>

在远程会话中或远程计算机上运行该 cmdlet。输入计算机名或会话对象,如 New-cimsessionGet-cimsession cmdlet 的输出。默认为本地计算机上的当前会话。

别名

none

是否必需?

false

在哪里?

named

默认值

none

是否接受管道输入?

false

是否接受通配符?

false

-ComputerName<String[]>

Specifies the names of the Hyper-V hosts whose firmware configuration you want to modify.

别名

none

是否必需?

false

在哪里?

named

默认值

none

是否接受管道输入?

false

是否接受通配符?

false

-ConsoleMode<Nullable [Microsoft.HyperV.PowerShell.ConsoleModeType]>

Specifies the console mode type for the virtual machine. This parameter allows a virtual machine to run without graphical user interface.

别名

none

是否必需?

false

在哪里?

named

默认值

none

是否接受管道输入?

false

是否接受通配符?

false

-Credential<System.Management.Automation.PSCredential[]>

Specifies one or more user accounts that have permission to perform this action. The default is the current user.

别名

none

是否必需?

false

在哪里?

named

默认值

none

是否接受管道输入?

false

是否接受通配符?

false

-EnableSecureBoot<OnOffState]>

Specifies whether to enable secure boot. 此参数的可接受值是:

  -- On
  -- Off

Secure boot uses a public key infrastructure that protects the integrity of the operating system.

别名

none

是否必需?

false

在哪里?

named

默认值

none

是否接受管道输入?

false

是否接受通配符?

false

-FirstBootDevice<VMComponentObject>

Specifies the device from which to attempt to boot from first. 此参数的可接受值是:

  -- VMBootSource
  -- VMNetworkAdapter
  -- HardDiskDrive
  -- DVDDrive

The VMBootSource value describes a boot entry in firmware NVRAM.

别名

none

是否必需?

false

在哪里?

named

默认值

none

是否接受管道输入?

false

是否接受通配符?

false

-Passthru

返回一个对象,该对象表示所使用的项。默认情况下,此 cmdlet 不生成任何输出。

别名

none

是否必需?

false

在哪里?

named

默认值

none

是否接受管道输入?

false

是否接受通配符?

false

-PauseAfterBootFailure<Nullable [Microsoft.HyperV.PowerShell.OnOffState]>

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.

别名

none

是否必需?

false

在哪里?

named

默认值

none

是否接受管道输入?

false

是否接受通配符?

false

-PreferredNetworkBootProtocol<IPProtocolPreference]>

Specifies the IP protocol version to use during a network boot.

别名

none

是否必需?

false

在哪里?

named

默认值

none

是否接受管道输入?

false

是否接受通配符?

false

-SecureBootTemplate<System.String>

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.

别名

none

是否必需?

false

在哪里?

named

默认值

none

是否接受管道输入?

false

是否接受通配符?

false

-SecureBootTemplateId<Nullable [System.Guid]>

Specifies the ID of the secure boot template.

别名

none

是否必需?

false

在哪里?

named

默认值

none

是否接受管道输入?

false

是否接受通配符?

false

-VM<VirtualMachine[]>

Specifies the virtual machine objects for which want to modify the firmware configuration. To obtain a virtual machine object, use the Get-VM cmdlet.

别名

none

是否必需?

true

在哪里?

1

默认值

none

是否接受管道输入?

True (ByValue)

是否接受通配符?

false

-VMFirmware<VMFirmware[]>

Specifies an array of virtual machine firmware configurations. The cmdlet sets the firmware configurations you specify.

别名

none

是否必需?

true

在哪里?

1

默认值

none

是否接受管道输入?

True (ByValue)

是否接受通配符?

false

-VMName<String[]>

Specifies an array of names of virtual machines for which you want to modify the firmware configuration.

别名

none

是否必需?

true

在哪里?

1

默认值

none

是否接受管道输入?

True (ByValue)

是否接受通配符?

false

-Confirm

在运行 cmdlet 前提示你进行确认。

是否必需?

false

在哪里?

named

默认值

false

是否接受管道输入?

false

是否接受通配符?

false

-WhatIf

显示在 cmdlet 运行时将发生的情况。该 cmdlet 不运行。

是否必需?

false

在哪里?

named

默认值

false

是否接受管道输入?

false

是否接受通配符?

false

<CommonParameters>

此 cmdlet 支持常见的参数:-Verbose、-Debug、-ErrorAction、-ErrorVariable、-OutBuffer 和 -OutVariable。有关详细信息,请参阅 TechNet 上的 about_CommonParameters (https://go.microsoft.com/fwlink/p/?LinkID=113216)。

输入

输入类型是可以传送到 cmdlet 的对象的类型。

输出

输出类型是 cmdlet 发出的对象的类型。

  • Microsoft.HyperV.Powershell.VMFirmware

说明

  • Note: This cmdlet is supported only when run against Generation 2 virtual machines.

示例

Example 1

This example enables secure boot functionality on the virtual machine “Test VM”.

PS C:\> Set-VMFirmware "Test VM" -EnableSecureBoot On

Example 2

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.

PS C:\> Set-VMFirmware "Test VM" -FirstBootDevice $vmNetworkAdapter

Example 3

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.

PS C:\> Set-VMFirmware "Test VM" -BootOrder $vmNetworkAdapter, $vmHardDiskDrive

相关主题

Get-VMFirmware