name | order |
---|---|
Module Hyper-V |
4000 |
The EventLog module can be used to query the Windows Event Log.
Note
The necessary configuration to talk to Royal Server (the variable $config
) is described in "Getting Started".
Note
About the parameter CommandProvider
The underlaying communication protocol can be either WMI (Windows Management Instrumentation) or CIM. WMI can be more efficient but might require more open ports for the communication.
Note
About the parameter NamespaceVersion
The parameter NamespaceVersion
relates to the fact, that Microsoft changed the internal implementation of Hyper-V. Starting from Windows Server 2008 and up to Windows Server 2008 R2 the namespace used for hypervisor management was "root\virtualization" (aka V1). Windows Server 2012 introduced a refactored namespace "root\virtualization\v2", offering also the V1 version for backwards compatibility with existing tools.
Parameters:
- CommandProvider [string]
- UseCredentials [bool]
- NamespaceVersion [int]
- InstanceFilter [string]
- IncludePerformanceInfo [bool]
Parameters:
- CommandProvider [string]
- VMID [string]
- UseCredentials [bool]
- NamespaceVersion [int]
Parameters:
- CommandProvider [string]
- VMID [string]
- UseCredentials [bool]
- NamespaceVersion [int]
Parameters:
- CommandProvider [string]
- VMID [string]
- UseCredentials [bool]
- NamespaceVersion [int]
Parameters:
- CommandProvider [string]
- VMID [string]
- UseCredentials [bool]
- NamespaceVersion [int]
Parameters:
- CommandProvider [string]
- VMID [string]
- UseCredentials [bool]
- NamespaceVersion [int]
- HeightPixels [int]
- WidthPixels [int]
Parameters:
- CommandProvider [string]
- VMID [string]
- UseCredentials [bool]
- NamespaceVersion [int]
Parameters:
- CommandProvider [string]
- VMID [string]
- UseCredentials [bool]
- NamespaceVersion [int]
-
Get the instances of the Hyper-V host via WMI:
$module = "HyperV" $command = "GetInstances" $hyperv = Invoke-RoyalServerCommand -Module $module -Command $command -RoyalServerConfig $config -DestinationHost $destinationHost -DestinationUsername $destinationusername -DestinationPassword \$destinationpassword
-
Get a specific instance of the Hyper-V host and include performance data:
$argz = @{"InstanceFilter" = "<vmid>"; "IncludePerformanceInfo" = "true"; "NamespaceVersion" = "2"} $hyperv = Invoke-RoyalServerCommand -Module HyperV -Command "GetInstances" -RoyalServerConfig $config -DestinationHost $destinationHost -DestinationUsername $destinationusername -DestinationPassword $destinationpassword -Arguments $argz
-
Get the instances of the Hyper-V host via CIM:
$argz = @{"CommandProvider" = "CIM"} $hyperv = Invoke-RoyalServerCommand -Module HyperV -Command "GetInstances" -RoyalServerConfig $config -DestinationHost $destinationHost -DestinationUsername $destinationusername -DestinationPassword $destinationpassword -Arguments $argz
-
Starting Hyper-V instance:
$argz = @{"VMID" = "<vmid>"; "NamespaceVersion" = "2"} $hyperv = Invoke-RoyalServerCommand -Module HyperV -Command "StartInstance" -RoyalServerConfig $config -DestinationHost $destinationHost -DestinationUsername $destinationusername -DestinationPassword $destinationpassword -Arguments $argz
-
Stopping Hyper-V instance:
$argz = @{"VMID" = "<vmid>"; "NamespaceVersion" = "2"} $hyperv = Invoke-RoyalServerCommand -Module HyperV -Command "StopInstance" -RoyalServerConfig $config -DestinationHost $destinationHost -DestinationUsername $destinationusername -DestinationPassword $destinationpassword -Arguments $argz
-
Save state of an Hyper-V:
$argz = @{"VMID" = "<vmid>"; "NamespaceVersion" = "2"} $hyperv = Invoke-RoyalServerCommand -Module HyperV -Command "SaveStatOfInstance" -RoyalServerConfig $config -DestinationHost $destinationHost -DestinationUsername $destinationusername -DestinationPassword $destinationpassword -Arguments $argz
-
Pause a Hyper-V instance:
$argz = @{"VMID" = "<vmid>"; "NamespaceVersion" = "2"} $hyperv = Invoke-RoyalServerCommand -Module HyperV -Command "PauseInstance" -RoyalServerConfig $config -DestinationHost $destinationHost -DestinationUsername $destinationusername -DestinationPassword $destinationpassword -Arguments $argz
-
Get Screenshot of a Hyper-V instance:
$argz = @{"VMID" = "<vmid>"; "NamespaceVersion" = "2"; "HeightPixels" = "240"; "WidthPixels" = "320"} $hyperv = Invoke-RoyalServerCommand -Module HyperV -Command "GetThumbnail" -RoyalServerConfig $config -DestinationHost $destinationHost -DestinationUsername $destinationusername -DestinationPassword $destinationpassword -Arguments $argz $imageBase64 = $hyperv.Results[0].Thumbnail $filename = "thumbnail.jpg $bytes = [Convert]::FromBase64String($imageBase64) [IO.File]::WriteAllBytes($filename, $bytes)
-
Get Hyper-V instance details:
$argz = @{"VMID" = "<vmid>"; "NamespaceVersion" = "2"} $hyperv = Invoke-RoyalServerCommand -Module HyperV -Command "GetInstanceDetails" -RoyalServerConfig $config -DestinationHost $destinationHost -DestinationUsername $destinationusername -DestinationPassword $destinationpassword -Arguments $argz $hyperv.Results[0] Get Hyper-V network instance details: $argz = @{"VMID" = "<vmid>"; "NamespaceVersion" = "2"} $hyperv = Invoke-RoyalServerCommand -Module HyperV -Command "GetInstanceNetworkDetails" -RoyalServerConfig $config -DestinationHost $destinationHost -DestinationUsername $destinationusername -DestinationPassword $destinationpassword -Arguments $argz $hyperv.Results[0]