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, this cmdlet doesn't return any output.
Microsoft.HyperV.Powershell.VirtualMachine
When you use the PassThru parameter, this cmdlet returns a Microsoft.HyperV.Powershell.VirtualMachine object.