Restart-VM

Restarts a virtual machine.

Syntax

Restart-VM
       [-CimSession <CimSession[]>]
       [-ComputerName <String[]>]
       [-Credential <PSCredential[]>]
       [-Name] <String[]>
       [-Force]
       [-AsJob]
       [-Passthru]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]
Restart-VM
       [-CimSession <CimSession[]>]
       [-ComputerName <String[]>]
       [-Credential <PSCredential[]>]
       [-Name] <String[]>
       [-Force]
       [-AsJob]
       [-Passthru]
       [-Wait]
       [-For <WaitVMTypes>]
       [-Delay <UInt16>]
       [-Timeout <Int32>]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]
Restart-VM
       [-VM] <VirtualMachine[]>
       [-Force]
       [-AsJob]
       [-Passthru]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]
Restart-VM
       [-VM] <VirtualMachine[]>
       [-Force]
       [-AsJob]
       [-Passthru]
       [-Wait]
       [-For <WaitVMTypes>]
       [-Delay <UInt16>]
       [-Timeout <Int32>]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]

Description

The Restart-VM cmdlet restarts a virtual machine. Running this cmdlet results in a "hard" restart, like powering the computer down, then back up again. This can result in data loss in the virtual machine.

Examples

Example 1

PS C:\> Restart-VM Win7
Confirm
Are you sure you want to restart virtual machine "win7"?
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "Y"): y

Performs a hard restart of virtual machine Win7. This is equivalent to turning off the power to the virtual machine and then restarting it.

Parameters

-AsJob

Runs the cmdlet as a background job.

Type:SwitchParameter
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 one or more Hyper-V hosts on which the virtual machine is to be restarted. NetBIOS names, IP addresses, and fully qualified domain names are allowable. The default is the local computer. Use localhost or a dot (.) to specify the local computer explicitly.

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

-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

-Delay

Type:UInt16
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-For

Type:WaitVMTypes
Accepted values:Heartbeat, IPAddress
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Force

Specifies that no prompt for confirmation is to appear before the virtual machine is restarted.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Name

Specifies the name of the virtual machine to be restarted.

Type:String[]
Aliases:VMName
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Passthru

Specifies that an object is to be passed through to the pipeline representing the virtual machine to be restarted.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Timeout

Specifies the duration of the wait, in seconds. When the timeout elapses, Restart-VM returns to the command prompt, even if the virtual machine isn't restarted.

This parameter is only valid with the -Wait parameter. The -Timeout parameter overrides the -Wait parameter's indefinite waiting period.

Type:Int32
Aliases:TimeoutSec
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-VM

Specifies the virtual machine to be restarted.

Type:VirtualMachine[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Wait

Restart-VM suppresses the PowerShell prompt and blocks the pipeline until the virtual machine has restarted. You can use this parameter in a script to restart the virtual machine and then continue to process when the restart is finished.

The -Wait parameter waits indefinitely for the virtual machine to restart. You can use the -Timeout parameter to adjust the timing and the -For and -Delay parameters to wait for particular services to become available on the restarted virtual machine.

Type:SwitchParameter
Position:Named
Default value:None
Required:True
Accept pipeline input:False
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

None by default, Microsoft.HyperV.Powershell.VirtualMachine if PassThru is specified.