7.2 KiB
Set-ProxmoxVMSMBIOS
Sets the SMBIOS settings for a Proxmox VM.
Syntax
Set-ProxmoxVMSMBIOS
-Connection <ProxmoxConnection>
-Node <String>
-VMID <Int32>
-SMBIOS <ProxmoxVMSMBIOS>
[-PassThru]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Set-ProxmoxVMSMBIOS
-Connection <ProxmoxConnection>
-Node <String>
-VMID <Int32>
[-Manufacturer <String>]
[-Product <String>]
[-Version <String>]
[-Serial <String>]
[-Family <String>]
[-UUID <String>]
[-PassThru]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Set-ProxmoxVMSMBIOS
-Connection <ProxmoxConnection>
-Node <String>
-VMID <Int32>
-UseProfile
-Profile <String>
[-PassThru]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
The Set-ProxmoxVMSMBIOS cmdlet sets the SMBIOS (System Management BIOS) settings for a virtual machine in Proxmox VE. SMBIOS settings allow you to customize hardware identification information that's presented to the guest operating system.
Parameters
-Connection
The connection to the Proxmox VE server.
Type: ProxmoxConnection
Parameter Sets: (All)
Aliases:
Required: True
Position: 0
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-Node
The node where the VM is located.
Type: String
Parameter Sets: (All)
Aliases:
Required: True
Position: 1
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-VMID
The ID of the VM.
Type: Int32
Parameter Sets: (All)
Aliases:
Required: True
Position: 2
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-SMBIOS
The SMBIOS settings object.
Type: ProxmoxVMSMBIOS
Parameter Sets: SMBIOSObject
Aliases:
Required: True
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-Manufacturer
The manufacturer information.
Type: String
Parameter Sets: Individual
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-Product
The product information.
Type: String
Parameter Sets: Individual
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-Version
The version information.
Type: String
Parameter Sets: Individual
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-Serial
The serial number.
Type: String
Parameter Sets: Individual
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-Family
The system family.
Type: String
Parameter Sets: Individual
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-UUID
The system UUID.
Type: String
Parameter Sets: Individual
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-UseProfile
Whether to use a manufacturer profile for SMBIOS values.
Type: SwitchParameter
Parameter Sets: Profile
Aliases:
Required: True
Position: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: False
-Profile
The manufacturer profile to use for SMBIOS values. Valid values are: Proxmox, Dell, HP, Lenovo, Microsoft, VMware, HyperV, VirtualBox, Random.
Type: String
Parameter Sets: Profile
Aliases:
Required: True
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-PassThru
Return the updated SMBIOS settings.
Type: SwitchParameter
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: False
-WhatIf
Shows what would happen if the cmdlet runs. The cmdlet is not run.
Type: SwitchParameter
Parameter Sets: (All)
Aliases: wi
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-Confirm
Prompts you for confirmation before running the cmdlet.
Type: SwitchParameter
Parameter Sets: (All)
Aliases: cf
Required: False
Position: Named
Default value: None
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.ProxmoxVMSMBIOS
Returns a ProxmoxVMSMBIOS object if -PassThru is specified.
Notes
- SMBIOS settings can be useful for software licensing that's tied to hardware identifiers
- These settings can also help with VM migration between different hypervisors
- Some applications may require specific hardware information to function properly
Examples
Example 1: Set individual SMBIOS settings for a VM
$connection = Connect-ProxmoxServer -Server "proxmox.example.com" -Credential (Get-Credential)
Set-ProxmoxVMSMBIOS -Connection $connection -Node "pve1" -VMID 100 -Manufacturer "Dell Inc." -Product "PowerEdge R740" -Serial "ABC123"
This example sets the manufacturer, product, and serial number SMBIOS settings for VM 100 on node pve1.
Example 2: Set SMBIOS settings using an object
$connection = Connect-ProxmoxServer -Server "proxmox.example.com" -Credential (Get-Credential)
$smbios = New-Object PSProxmox.Models.ProxmoxVMSMBIOS
$smbios.Manufacturer = "Dell Inc."
$smbios.Product = "PowerEdge R740"
$smbios.Serial = "ABC123"
Set-ProxmoxVMSMBIOS -Connection $connection -Node "pve1" -VMID 100 -SMBIOS $smbios
This example creates a ProxmoxVMSMBIOS object and uses it to set the SMBIOS settings for VM 100.
Example 3: Get current SMBIOS settings, modify them, and update
$connection = Connect-ProxmoxServer -Server "proxmox.example.com" -Credential (Get-Credential)
$smbios = Get-ProxmoxVMSMBIOS -Connection $connection -Node "pve1" -VMID 100
$smbios.Manufacturer = "Dell Inc."
$smbios.Product = "PowerEdge R740"
Set-ProxmoxVMSMBIOS -Connection $connection -Node "pve1" -VMID 100 -SMBIOS $smbios -PassThru
This example retrieves the current SMBIOS settings for VM 100, modifies them, and then updates the VM with the new settings.
Example 4: Set SMBIOS settings using a manufacturer profile
$connection = Connect-ProxmoxServer -Server "proxmox.example.com" -Credential (Get-Credential)
Set-ProxmoxVMSMBIOS -Connection $connection -Node "pve1" -VMID 100 -UseProfile -Profile "Dell" -PassThru
This example sets the SMBIOS settings for VM 100 using the Dell manufacturer profile. The existing UUID will be preserved.