4.5 KiB
Get-ProxmoxVM
Gets virtual machines from Proxmox VE.
Syntax
Get-ProxmoxVM
[-Connection <ProxmoxConnection>]
[-Node <String>]
[-VMID <Int32>]
[-Name <String>]
[-UseRegex]
[-RawJson]
[<CommonParameters>]
Description
The Get-ProxmoxVM cmdlet retrieves virtual machines from Proxmox VE. You can retrieve all VMs, VMs on a specific node, or a specific VM by ID.
Parameters
-Connection
The connection to the Proxmox VE server.
Type: ProxmoxConnection
Parameter Sets: (All)
Aliases:
Required: False
Position: 0
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-Node
The node to get VMs from. If not specified, VMs from all nodes will be returned.
Type: String
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-VMID
The ID of the VM to get. If not specified, all VMs will be returned.
Type: Int32
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-Name
The name of the virtual machine to retrieve. Supports wildcards and regex when used with -UseRegex.
Type: String
Parameter Sets: (All)
Aliases:
Required: False
Position: 2
Default value: None
Accept pipeline input: False
Accept wildcard characters: True
-UseRegex
Use regular expressions for filtering.
Type: SwitchParameter
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: False
-RawJson
Whether to return the raw JSON response instead of parsed objects.
Type: SwitchParameter
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: False
CommonParameters
This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters.
Inputs
None
Outputs
PSProxmox.Models.ProxmoxVM
System.String
Notes
- This cmdlet requires a connection to a Proxmox VE server. Use
Connect-ProxmoxServerto establish a connection. - If no connection is specified, the cmdlet will use the default connection.
- If the
-RawJsonparameter is specified, the raw JSON response will be returned instead of parsed objects. - If the
-VMIDparameter is specified and the VM is not found, an error will be thrown. - The
-Nameparameter supports wildcards (e.g., "web*") by default. - Use the
-UseRegexparameter with-Nameto filter using regular expressions (e.g., "^web[0-9]+$").
Examples
Example 1: Get all VMs
Connect-ProxmoxServer -Server "proxmox.example.com" -Credential (Get-Credential)
$vms = Get-ProxmoxVM
This example gets all VMs from all nodes.
Example 2: Get VMs on a specific node
Connect-ProxmoxServer -Server "proxmox.example.com" -Credential (Get-Credential)
$vms = Get-ProxmoxVM -Node "pve1"
This example gets all VMs on the node "pve1".
Example 3: Get a specific VM by ID
Connect-ProxmoxServer -Server "proxmox.example.com" -Credential (Get-Credential)
$vm = Get-ProxmoxVM -VMID 100
This example gets the VM with ID 100.
Example 4: Get VMs by name using wildcards
Connect-ProxmoxServer -Server "proxmox.example.com" -Credential (Get-Credential)
$vms = Get-ProxmoxVM -Name "web*"
This example gets all VMs with names starting with "web".
Example 5: Get VMs by name using regex
Connect-ProxmoxServer -Server "proxmox.example.com" -Credential (Get-Credential)
$vms = Get-ProxmoxVM -Name "^web[0-9]+$" -UseRegex
This example gets all VMs with names matching the pattern "web" followed by one or more digits.
Example 6: Get the raw JSON response
Connect-ProxmoxServer -Server "proxmox.example.com" -Credential (Get-Credential)
$json = Get-ProxmoxVM -RawJson
This example gets the raw JSON response for all VMs.