mirror of
https://github.com/Grace-Solutions/PSProxmox.git
synced 2026-08-19 19:16:18 +00:00
207 lines
4.5 KiB
Markdown
207 lines
4.5 KiB
Markdown
# Get-ProxmoxVM
|
|
|
|
Gets virtual machines from Proxmox VE.
|
|
|
|
## Syntax
|
|
|
|
```powershell
|
|
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.
|
|
|
|
```yaml
|
|
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.
|
|
|
|
```yaml
|
|
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.
|
|
|
|
```yaml
|
|
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.
|
|
|
|
```yaml
|
|
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.
|
|
|
|
```yaml
|
|
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.
|
|
|
|
```yaml
|
|
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](http://go.microsoft.com/fwlink/?LinkID=113216).
|
|
|
|
## Inputs
|
|
|
|
### None
|
|
|
|
## Outputs
|
|
|
|
### PSProxmox.Models.ProxmoxVM
|
|
|
|
### System.String
|
|
|
|
## Notes
|
|
|
|
- This cmdlet requires a connection to a Proxmox VE server. Use `Connect-ProxmoxServer` to establish a connection.
|
|
- If no connection is specified, the cmdlet will use the default connection.
|
|
- If the `-RawJson` parameter is specified, the raw JSON response will be returned instead of parsed objects.
|
|
- If the `-VMID` parameter is specified and the VM is not found, an error will be thrown.
|
|
- The `-Name` parameter supports wildcards (e.g., "web*") by default.
|
|
- Use the `-UseRegex` parameter with `-Name` to filter using regular expressions (e.g., "^web[0-9]+$").
|
|
|
|
## Examples
|
|
|
|
### Example 1: Get all VMs
|
|
|
|
```powershell
|
|
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
|
|
|
|
```powershell
|
|
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
|
|
|
|
```powershell
|
|
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
|
|
|
|
```powershell
|
|
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
|
|
|
|
```powershell
|
|
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
|
|
|
|
```powershell
|
|
Connect-ProxmoxServer -Server "proxmox.example.com" -Credential (Get-Credential)
|
|
$json = Get-ProxmoxVM -RawJson
|
|
```
|
|
|
|
This example gets the raw JSON response for all VMs.
|
|
|
|
## Related Links
|
|
|
|
- [Connect-ProxmoxServer](Connect-ProxmoxServer.md)
|
|
- [New-ProxmoxVM](New-ProxmoxVM.md)
|
|
- [Remove-ProxmoxVM](Remove-ProxmoxVM.md)
|
|
- [Start-ProxmoxVM](Start-ProxmoxVM.md)
|
|
- [Stop-ProxmoxVM](Stop-ProxmoxVM.md)
|
|
- [Restart-ProxmoxVM](Restart-ProxmoxVM.md)
|