New-SCVMTemplate

创建用于创建由 VMM 管理的虚拟机的虚拟机模板。

语法

New-SCVMTemplate
   [-HighlyAvailable <Boolean>]
   [-DRProtectionRequired <Boolean>]
   [-VMMServer <ServerConnection>]
   [-ApplicationProfile <ApplicationProfile>]
   [-SQLProfile <SQLProfile>]
   [-Generation <Int32>]
   [-GuiRunOnceCommands <String[]>]
   [-MergeAnswerFile <Boolean>]
   [-AnswerFile <Script>]
   [-OperatingSystem <OperatingSystem>]
   [-LinuxAdministratorSSHKey <SSHKey>]
   [-LinuxAdministratorSSHKeyString <String>]
   [-LinuxDomainName <String>]
   [-RecoveryPointObjective <Int32>]
   [-ProtectionProvider <ProtectionProvider>]
   [-ReplicationGroup <ReplicationGroup>]
   [-Shielded <Boolean>]
   [-DeploymentTypeNano <Boolean>]
   [-NoCustomization]
   [-Name] <String>
   [-Description <String>]
   [-Owner <String>]
   [-UserRole <UserRole>]
   [-HardwareProfile <HardwareProfile>]
   [-GuestOSProfile <GuestOSProfile>]
   [-MemoryMB <Int32>]
   [-DynamicMemoryEnabled <Boolean>]
   [-DynamicMemoryMaximumMB <Int32>]
   [-DynamicMemoryBufferPercentage <Int32>]
   [-MemoryWeight <Int32>]
   [-VirtualVideoAdapterEnabled <Boolean>]
   [-MonitorMaximumCount <Int32>]
   [-MonitorMaximumResolution <String>]
   [-CPUCount <Byte>]
   [-CPUType <ProcessorType>]
   [-CPURelativeWeight <Int32>]
   [-CapabilityProfile <CapabilityProfile>]
   [-HAVMPriority <UInt32>]
   [-CPUPerVirtualNumaNodeMaximum <Byte>]
   [-MemoryPerVirtualNumaNodeMaximumMB <Int32>]
   [-VirtualNumaNodesPerSocketMaximum <Byte>]
   [-CPUReserve <UInt16>]
   [-CPUMaximumPercent <Int32>]
   [-DynamicMemoryMinimumMB <Int32>]
   [-NumaIsolationRequired <Boolean>]
   [-AutomaticCriticalErrorAction <UInt16>]
   [-AutomaticCriticalErrorActionTimeout <Int32>]
   [-CheckpointType <CheckpointType>]
   [-SecureBootEnabled <Boolean>]
   [-SecureBootTemplate <String>]
   [-FullName <String>]
   [-OrganizationName <String>]
   [-ComputerName <String>]
   [-ProductKey <String>]
   [-LocalAdministratorCredential <VMMCredential>]
   [-TimeZone <Int32>]
   [-RemoveServerFeatures]
   [-Domain <String>]
   [-DomainJoinCredential <VMMCredential>]
   [-Workgroup <String>]
   [-AutoLogonCredential <RunAsAccount>]
   [-AutoLogonCount <UInt32>]
   [-DisableAutoLogon]
   [-UnattendSettings <System.Collections.Generic.Dictionary`2[System.String,System.String]>]
   [-UpdateManagementProfile <AzureProfile>]
   [-DomainJoinOrganizationalUnit <String>]
   [-RemoveDomainJoinOrganizationalUnit]
   -JobGroup <Guid>
   [-RunAsynchronously]
   [-PROTipID <Guid>]
   [-JobVariable <String>]
   [<CommonParameters>]
New-SCVMTemplate
   [-HighlyAvailable <Boolean>]
   [-DRProtectionRequired <Boolean>]
   [-ApplicationProfile <ApplicationProfile>]
   [-SQLProfile <SQLProfile>]
   [-Generation <Int32>]
   [-GuiRunOnceCommands <String[]>]
   [-MergeAnswerFile <Boolean>]
   [-AnswerFile <Script>]
   [-OperatingSystem <OperatingSystem>]
   [-LinuxAdministratorSSHKey <SSHKey>]
   [-LinuxAdministratorSSHKeyString <String>]
   [-LinuxDomainName <String>]
   [-RecoveryPointObjective <Int32>]
   [-ProtectionProvider <ProtectionProvider>]
   [-ReplicationGroup <ReplicationGroup>]
   [-Shielded <Boolean>]
   [-DeploymentTypeNano <Boolean>]
   -VirtualHardDisk <StandaloneVirtualHardDisk>
   [-NoCustomization]
   [-Name] <String>
   [-Description <String>]
   [-Owner <String>]
   [-UserRole <UserRole>]
   [-HardwareProfile <HardwareProfile>]
   [-GuestOSProfile <GuestOSProfile>]
   [-MemoryMB <Int32>]
   [-DynamicMemoryEnabled <Boolean>]
   [-DynamicMemoryMaximumMB <Int32>]
   [-DynamicMemoryBufferPercentage <Int32>]
   [-MemoryWeight <Int32>]
   [-VirtualVideoAdapterEnabled <Boolean>]
   [-MonitorMaximumCount <Int32>]
   [-MonitorMaximumResolution <String>]
   [-CPUCount <Byte>]
   [-CPUType <ProcessorType>]
   [-CPURelativeWeight <Int32>]
   [-CapabilityProfile <CapabilityProfile>]
   [-HAVMPriority <UInt32>]
   [-CPUPerVirtualNumaNodeMaximum <Byte>]
   [-MemoryPerVirtualNumaNodeMaximumMB <Int32>]
   [-VirtualNumaNodesPerSocketMaximum <Byte>]
   [-CPUReserve <UInt16>]
   [-CPUMaximumPercent <Int32>]
   [-DynamicMemoryMinimumMB <Int32>]
   [-NumaIsolationRequired <Boolean>]
   [-AutomaticCriticalErrorAction <UInt16>]
   [-AutomaticCriticalErrorActionTimeout <Int32>]
   [-CheckpointType <CheckpointType>]
   [-SecureBootEnabled <Boolean>]
   [-SecureBootTemplate <String>]
   [-FullName <String>]
   [-OrganizationName <String>]
   [-ComputerName <String>]
   [-ProductKey <String>]
   [-LocalAdministratorCredential <VMMCredential>]
   [-TimeZone <Int32>]
   [-RemoveServerFeatures]
   [-Domain <String>]
   [-DomainJoinCredential <VMMCredential>]
   [-Workgroup <String>]
   [-AutoLogonCredential <RunAsAccount>]
   [-AutoLogonCount <UInt32>]
   [-DisableAutoLogon]
   [-UnattendSettings <System.Collections.Generic.Dictionary`2[System.String,System.String]>]
   [-UpdateManagementProfile <AzureProfile>]
   [-DomainJoinOrganizationalUnit <String>]
   [-RemoveDomainJoinOrganizationalUnit]
   [-JobGroup <Guid>]
   [-RunAsynchronously]
   [-PROTipID <Guid>]
   [-JobVariable <String>]
   [<CommonParameters>]
New-SCVMTemplate
   [-HighlyAvailable <Boolean>]
   [-DRProtectionRequired <Boolean>]
   [-ApplicationProfile <ApplicationProfile>]
   [-SQLProfile <SQLProfile>]
   [-GuiRunOnceCommands <String[]>]
   [-MergeAnswerFile <Boolean>]
   [-AnswerFile <Script>]
   [-OperatingSystem <OperatingSystem>]
   [-LinuxAdministratorSSHKey <SSHKey>]
   [-LinuxAdministratorSSHKeyString <String>]
   [-LinuxDomainName <String>]
   [-RecoveryPointObjective <Int32>]
   [-ProtectionProvider <ProtectionProvider>]
   [-ReplicationGroup <ReplicationGroup>]
   [-DeploymentTypeNano <Boolean>]
   -VMTemplate <Template>
   [-Name] <String>
   [-Description <String>]
   [-Owner <String>]
   [-UserRole <UserRole>]
   [-HardwareProfile <HardwareProfile>]
   [-GuestOSProfile <GuestOSProfile>]
   [-MemoryMB <Int32>]
   [-DynamicMemoryEnabled <Boolean>]
   [-DynamicMemoryMaximumMB <Int32>]
   [-DynamicMemoryBufferPercentage <Int32>]
   [-MemoryWeight <Int32>]
   [-VirtualVideoAdapterEnabled <Boolean>]
   [-MonitorMaximumCount <Int32>]
   [-MonitorMaximumResolution <String>]
   [-CPUCount <Byte>]
   [-CPUType <ProcessorType>]
   [-CPURelativeWeight <Int32>]
   [-CapabilityProfile <CapabilityProfile>]
   [-HAVMPriority <UInt32>]
   [-CPUPerVirtualNumaNodeMaximum <Byte>]
   [-MemoryPerVirtualNumaNodeMaximumMB <Int32>]
   [-VirtualNumaNodesPerSocketMaximum <Byte>]
   [-CPUReserve <UInt16>]
   [-CPUMaximumPercent <Int32>]
   [-DynamicMemoryMinimumMB <Int32>]
   [-NumaIsolationRequired <Boolean>]
   [-SecureBootEnabled <Boolean>]
   [-SecureBootTemplate <String>]
   [-FullName <String>]
   [-OrganizationName <String>]
   [-ComputerName <String>]
   [-ProductKey <String>]
   [-LocalAdministratorCredential <VMMCredential>]
   [-TimeZone <Int32>]
   [-RemoveServerFeatures]
   [-Domain <String>]
   [-DomainJoinCredential <VMMCredential>]
   [-Workgroup <String>]
   [-AutoLogonCredential <RunAsAccount>]
   [-AutoLogonCount <UInt32>]
   [-DisableAutoLogon]
   [-UnattendSettings <System.Collections.Generic.Dictionary`2[System.String,System.String]>]
   [-UpdateManagementProfile <AzureProfile>]
   [-DomainJoinOrganizationalUnit <String>]
   [-RemoveDomainJoinOrganizationalUnit]
   [-JobGroup <Guid>]
   [-RunAsynchronously]
   [-PROTipID <Guid>]
   [-JobVariable <String>]
   [<CommonParameters>]
New-SCVMTemplate
   [-HighlyAvailable <Boolean>]
   [-DRProtectionRequired <Boolean>]
   [-ApplicationProfile <ApplicationProfile>]
   [-SQLProfile <SQLProfile>]
   [-GuiRunOnceCommands <String[]>]
   [-MergeAnswerFile <Boolean>]
   [-AnswerFile <Script>]
   [-OperatingSystem <OperatingSystem>]
   [-LinuxAdministratorSSHKey <SSHKey>]
   [-LinuxDomainName <String>]
   [-RecoveryPointObjective <Int32>]
   [-ProtectionProvider <ProtectionProvider>]
   [-ReplicationGroup <ReplicationGroup>]
   [-DeploymentTypeNano <Boolean>]
   [-Name] <String>
   [-Description <String>]
   [-Owner <String>]
   [-UserRole <UserRole>]
   [-HardwareProfile <HardwareProfile>]
   [-GuestOSProfile <GuestOSProfile>]
   [-MemoryMB <Int32>]
   [-DynamicMemoryEnabled <Boolean>]
   [-DynamicMemoryMaximumMB <Int32>]
   [-DynamicMemoryBufferPercentage <Int32>]
   [-MemoryWeight <Int32>]
   [-VirtualVideoAdapterEnabled <Boolean>]
   [-MonitorMaximumCount <Int32>]
   [-MonitorMaximumResolution <String>]
   [-CPUCount <Byte>]
   [-CPUType <ProcessorType>]
   [-CPURelativeWeight <Int32>]
   [-CapabilityProfile <CapabilityProfile>]
   [-HAVMPriority <UInt32>]
   [-CPUPerVirtualNumaNodeMaximum <Byte>]
   [-MemoryPerVirtualNumaNodeMaximumMB <Int32>]
   [-VirtualNumaNodesPerSocketMaximum <Byte>]
   [-CPUReserve <UInt16>]
   [-CPUMaximumPercent <Int32>]
   [-DynamicMemoryMinimumMB <Int32>]
   [-NumaIsolationRequired <Boolean>]
   [-SecureBootEnabled <Boolean>]
   [-SecureBootTemplate <String>]
   [-FullName <String>]
   [-OrganizationName <String>]
   [-ComputerName <String>]
   [-ProductKey <String>]
   [-LocalAdministratorCredential <VMMCredential>]
   [-TimeZone <Int32>]
   [-RemoveServerFeatures]
   [-Domain <String>]
   [-DomainJoinCredential <VMMCredential>]
   [-Workgroup <String>]
   [-AutoLogonCredential <RunAsAccount>]
   [-AutoLogonCount <UInt32>]
   [-DisableAutoLogon]
   [-UnattendSettings <System.Collections.Generic.Dictionary`2[System.String,System.String]>]
   [-UpdateManagementProfile <AzureProfile>]
   [-DomainJoinOrganizationalUnit <String>]
   [-RemoveDomainJoinOrganizationalUnit]
   [-RunAsynchronously]
   [-PROTipID <Guid>]
   [-JobVariable <String>]
   [<CommonParameters>]
New-SCVMTemplate
   [-HighlyAvailable <Boolean>]
   [-DRProtectionRequired <Boolean>]
   [-ApplicationProfile <ApplicationProfile>]
   [-SQLProfile <SQLProfile>]
   [-GuiRunOnceCommands <String[]>]
   [-MergeAnswerFile <Boolean>]
   [-AnswerFile <Script>]
   [-OperatingSystem <OperatingSystem>]
   [-LinuxAdministratorSSHKeyString <String>]
   [-LinuxDomainName <String>]
   [-RecoveryPointObjective <Int32>]
   [-ProtectionProvider <ProtectionProvider>]
   [-ReplicationGroup <ReplicationGroup>]
   [-DeploymentTypeNano <Boolean>]
   [-Name] <String>
   [-Description <String>]
   [-Owner <String>]
   [-UserRole <UserRole>]
   [-HardwareProfile <HardwareProfile>]
   [-GuestOSProfile <GuestOSProfile>]
   [-MemoryMB <Int32>]
   [-DynamicMemoryEnabled <Boolean>]
   [-DynamicMemoryMaximumMB <Int32>]
   [-DynamicMemoryBufferPercentage <Int32>]
   [-MemoryWeight <Int32>]
   [-VirtualVideoAdapterEnabled <Boolean>]
   [-MonitorMaximumCount <Int32>]
   [-MonitorMaximumResolution <String>]
   [-CPUCount <Byte>]
   [-CPUType <ProcessorType>]
   [-CPURelativeWeight <Int32>]
   [-CapabilityProfile <CapabilityProfile>]
   [-HAVMPriority <UInt32>]
   [-CPUPerVirtualNumaNodeMaximum <Byte>]
   [-MemoryPerVirtualNumaNodeMaximumMB <Int32>]
   [-VirtualNumaNodesPerSocketMaximum <Byte>]
   [-CPUReserve <UInt16>]
   [-CPUMaximumPercent <Int32>]
   [-DynamicMemoryMinimumMB <Int32>]
   [-NumaIsolationRequired <Boolean>]
   [-SecureBootEnabled <Boolean>]
   [-SecureBootTemplate <String>]
   [-FullName <String>]
   [-OrganizationName <String>]
   [-ComputerName <String>]
   [-ProductKey <String>]
   [-LocalAdministratorCredential <VMMCredential>]
   [-TimeZone <Int32>]
   [-RemoveServerFeatures]
   [-Domain <String>]
   [-DomainJoinCredential <VMMCredential>]
   [-Workgroup <String>]
   [-AutoLogonCredential <RunAsAccount>]
   [-AutoLogonCount <UInt32>]
   [-DisableAutoLogon]
   [-UnattendSettings <System.Collections.Generic.Dictionary`2[System.String,System.String]>]
   [-UpdateManagementProfile <AzureProfile>]
   [-DomainJoinOrganizationalUnit <String>]
   [-RemoveDomainJoinOrganizationalUnit]
   [-RunAsynchronously]
   [-PROTipID <Guid>]
   [-JobVariable <String>]
   [<CommonParameters>]
New-SCVMTemplate
   [-HighlyAvailable <Boolean>]
   [-DRProtectionRequired <Boolean>]
   [-ApplicationProfile <ApplicationProfile>]
   [-SQLProfile <SQLProfile>]
   [-GuiRunOnceCommands <String[]>]
   [-MergeAnswerFile <Boolean>]
   [-AnswerFile <Script>]
   [-OperatingSystem <OperatingSystem>]
   [-LinuxDomainName <String>]
   [-RecoveryPointObjective <Int32>]
   [-ProtectionProvider <ProtectionProvider>]
   [-ReplicationGroup <ReplicationGroup>]
   [-DeploymentTypeNano <Boolean>]
   -VM <VM>
   [-BootVirtualHardDisk <VirtualHardDisk>]
   [-SkipRearm]
   [-LibraryServer <LibraryServer>]
   [-SharePath <String>]
   [-NoCustomization]
   [-Name] <String>
   [-Description <String>]
   [-Owner <String>]
   [-UserRole <UserRole>]
   [-HardwareProfile <HardwareProfile>]
   [-GuestOSProfile <GuestOSProfile>]
   [-MemoryMB <Int32>]
   [-DynamicMemoryEnabled <Boolean>]
   [-DynamicMemoryMaximumMB <Int32>]
   [-DynamicMemoryBufferPercentage <Int32>]
   [-MemoryWeight <Int32>]
   [-VirtualVideoAdapterEnabled <Boolean>]
   [-MonitorMaximumCount <Int32>]
   [-MonitorMaximumResolution <String>]
   [-CPUCount <Byte>]
   [-CPUType <ProcessorType>]
   [-CPURelativeWeight <Int32>]
   [-CapabilityProfile <CapabilityProfile>]
   [-HAVMPriority <UInt32>]
   [-CPUPerVirtualNumaNodeMaximum <Byte>]
   [-MemoryPerVirtualNumaNodeMaximumMB <Int32>]
   [-VirtualNumaNodesPerSocketMaximum <Byte>]
   [-CPUReserve <UInt16>]
   [-CPUMaximumPercent <Int32>]
   [-DynamicMemoryMinimumMB <Int32>]
   [-NumaIsolationRequired <Boolean>]
   [-SecureBootEnabled <Boolean>]
   [-SecureBootTemplate <String>]
   [-FullName <String>]
   [-OrganizationName <String>]
   [-ComputerName <String>]
   [-ProductKey <String>]
   [-LocalAdministratorCredential <VMMCredential>]
   [-TimeZone <Int32>]
   [-RemoveServerFeatures]
   [-Domain <String>]
   [-DomainJoinCredential <VMMCredential>]
   [-Workgroup <String>]
   [-AutoLogonCredential <RunAsAccount>]
   [-AutoLogonCount <UInt32>]
   [-DisableAutoLogon]
   [-UnattendSettings <System.Collections.Generic.Dictionary`2[System.String,System.String]>]
   [-UpdateManagementProfile <AzureProfile>]
   [-DomainJoinOrganizationalUnit <String>]
   [-RemoveDomainJoinOrganizationalUnit]
   [-JobGroup <Guid>]
   [-RunAsynchronously]
   [-PROTipID <Guid>]
   [-JobVariable <String>]
   [<CommonParameters>]

说明

注意

VMM 2019 UR1 中包含一个新参数 [-EnableNestedVirtualization]。 有关详细信息,请参阅参数

New-SCVMTemplate cmdlet 创建一个虚拟机模板,管理员或自助服务用户可以使用该模板创建由 Virtual Machine Manager (VMM) 管理的虚拟机。 模板存储了硬件配置和来宾操作系统信息,因此可重复使用特定模板来创建新的虚拟机。 New-SCVMTemplate cmdlet 将新模板对象存储在 VMM 库中。

可以根据现有虚拟硬盘、现有模板或当前部署在虚拟机主机上的虚拟机创建模板。 如果未指定任何参数,VMM 将创建默认模板对象。

VMM 模板要求

本部分介绍在 VMM 中创建模板的要求。

  • VHD 的模板。 如果从虚拟硬盘 (VHD) 创建模板,VHD 必须满足以下要求:

    • 操作系统。 在使用虚拟硬盘创建模板之前,必须先在虚拟硬盘上安装受支持的 Windows 操作系统。 有关受支持的操作系统的信息,请参阅 TechNet 库中 https://technet.microsoft.com/en-us/library/dn997307(v=sc.16).aspxSystem Center Technical Preview 的操作系统兼容性
  • SysPrep。 必须在 VHD 上运行系统准备工具 (Sysprep.exe) ,以确保将操作系统的每个副本分发到多个虚拟机时都是唯一的。 可以在 Windows Server 2008 或更高版本的计算机上找到在其默认位置安装Sysprep.exe:C:\Windows\System32\sysprep。

  • 本地管理员密码。 在虚拟硬盘上运行Sysprep.exe之前,VHD 上用于创建新模板的来宾操作系统的本地管理员密码必须为空。 需要一个空白的本地管理员密码,以便在模板上自定义来宾操作系统时,可以选择指定本地管理员密码。

  • 虚拟机的模板。 如果从虚拟机创建模板,则会在将虚拟机转换为模板的过程中销毁虚拟机。 如果要保留虚拟机并使用它创建模板,可以在创建模板之前克隆虚拟机。 有关如何克隆虚拟机的信息,请参阅 New-SCVirtualMachine

  • Self-Service用户的模板。 如果自助服务用户角色包含使用模板的权限,则自助服务用户无法更改任何硬件配置文件设置。 使用模板创建虚拟机时,自助服务用户可更改的唯一设置是计算机名称,如果用户具有适当的权限、密码和产品 ID 号。

VMM 对可自定义模板或不可自定义模板的支持

如果使用 New-SCVMTemplate cmdlet 指定 NoCustomization 参数,则无需在创建模板时向模板添加来宾操作系统配置文件。 如果没有来宾操作系统配置文件,VMM 在主机上部署使用此模板创建的虚拟机时,VMM 将不需要 Sysprep 在来宾操作系统中运行。

一种可能的方案是,你有一个手动 sysprepped 虚拟硬盘,其中包含非 Windows 操作系统 (,或者包含 VMM 无法自动 sysprep) 的操作系统,并在该虚拟硬盘中嵌入了一个答案文件,其中包含该操作系统的适当设置。 可以使用 New-SCVMTemplate cmdlet 从此虚拟硬盘创建模板,并指定该模板不允许自定义来宾操作系统。 为此,请在创建新模板时使用 NoCustomization 参数。

在另一种情况下,可以将基于 VMware 的模板导入到 VMM 中,其中包含基于 Windows 的操作系统。 默认情况下,如果 VMM 知道如何自定义来宾操作系统,则 VMM 会将基于 VMware 的模板导入为可自定义模板。 否则,该模板将作为不可自定义的模板进行导入。(例如,对于 Linux 来宾操作系统就适用该模板。) 如果要从此导入的、可自定义的基于 VMware 的模板创建不可自定义的基于 Windows 的模板,可以使用 New-SCVMTemplate 创建新模板,指向附加到导入模板的磁盘,然后在新模板上指定 NoCustomization 参数。

示例

示例 1:从虚拟硬盘创建虚拟机模板

PS C:\> $OS = Get-SCOperatingSystem -VMMServer "VMMServer01.Contoso.com" | where {$_.Name -eq "64-bit Edition of Windows Server 2008 R2 Datacenter"}
PS C:\> $VHD = Get-SCVirtualHardDisk -VMMServer "VMMServer01.Contoso.com" | where { $_.Name -eq "VHD01.vhd" -and $_.LibraryServer.Name -eq "LibServer01.Contoso.com" }
PS C:\> New-SCVMTemplate -Name "VMTemplate01" -VirtualHardDisk $VHD -OperatingSystem $OS -NoCustomization

第一个命令 (64 位版本的 Windows Server 2008 R2 Datacenter) 获取指定的操作系统对象,并将对象存储在$OS变量中。

第二个命令从 LibServer01 上的 VMM 库获取名为 VHD01 的虚拟硬盘对象,并将对象存储在$VHD变量中。

最后一个命令从 VHD01 创建名为 VMTemplate01 的虚拟机模板,并指定操作系统的名称。 没有对操作系统进行自定义。

注意:此示例假定 VHD01 是安装了 Windows Server 2008 R2 Datacenter 操作系统的 64 位版本的 SysPrepped 虚拟硬盘。 可以在虚拟机上安装虚拟化来宾服务,或者 VMM 会在基于 Windows 的主机上部署虚拟机时自动安装它们。

示例 2:从现有虚拟机创建虚拟机模板

PS C:\> $LibraryServer = Get-SCLibraryServer | where {$_.Name -eq "LibServer01.Contoso.com"}
PS C:\> $VM = Get-SCVirtualMachine -Name "VM01" | where {$_.VMHost.Name -eq "VMHost02.Contoso.com"}
PS C:\> $OperatingSystem = Get-SCOperatingSystem | where {$_.Name -eq "64-bit Edition of Windows Server 2008 R2 Enterprise"}
PS C:\> New-SCVMTemplate -Name "VMTemplate02" -RunAsynchronously -VM $VM -Owner "Contoso\ReneeLo" -LibraryServer $LibraryServer -SharePath "\\LibServer01.Contoso.com\MSSCVMMLibrary" -OperatingSystem $OperatingSystem -NoCustomization

第一个命令获取名为 LibServer01 的库服务器对象,并将对象存储在$LibraryServer变量中。

第二个命令获取在 VMHost02 上部署的名为 VM01 的虚拟机对象,并将该对象存储在$VM变量中。

注意:VM01(将转换为模板的虚拟机)将在转换过程中销毁。 如果要保留用于创建模板的虚拟机,可以在创建模板之前使用 New-SCVirtualMachine cmdlet 克隆虚拟机。

第三个命令 (Windows Server 2008 R2 Enterprise) 获取指定的操作系统对象,并将对象存储在$OS变量中。

最后一个命令从虚拟机 VM01 创建名为 VMTemplate02 的虚拟机模板。 它指定新模板的所有者、库服务器和共享要存储新模板的位置以及操作系统的名称,而无需对操作系统进行任何自定义。 RunAsynchronously 参数在命令完成之前立即将控件返回到 shell。

示例 3:从具有指定特征的虚拟硬盘创建虚拟机模板

PS C:\> $JobGroupId01 = [Guid]::NewGuid().ToString()
PS C:\> $LogNet = Get-SCLogicalNetwork -Name "LogicalNetwork01"
PS C:\> New-SCVirtualNetworkAdapter -JobGroup $JobGroupID01 -MACAddressType Dynamic -LogicalNetwork $LogNet
PS C:\> New-SCVirtualSCSIAdapter -JobGroup $JobGroupID01 -AdapterID 6 -Shared $False
PS C:\> New-SCVirtualDVDDrive -JobGroup $JobGroupID01 -Bus 1 -LUN 0
PS C:\> New-SCHardwareProfile -Name "TempHWProfile" -Owner "Contoso\ReneeLo" -Description "Temporary hardware profile used to create a VM Template" -MemoryMB 512 -JobGroup $JobGroupID01
PS C:\> $JobGroupId02 = [Guid]::NewGuid().ToString()
PS C:\> $VHD = Get-SCVirtualHardDisk | where {$_.Location -eq "\\VMHost01Share\VHDs\Template.vhd"} | where {$_.HostName -eq "VMHost01.Contoso.com"}
PS C:\> New-SCVirtualDiskDrive -IDE -Bus 0 -LUN 0 -JobGroup $JobGroupID02 -VirtualHardDisk $VHD
PS C:\> $HWProfile = Get-SCHardwareProfile | where { $_.Name -eq "TempHWProfile" }
PS C:\> $OS = Get-SCOperatingSystem | where {$_.Name -eq "64-bit Edition of Windows Server 2008 R2 Enterprise"}
PS C:\> New-SCVMTemplate -Name "NewTemplate03" -Owner "Contoso\ReneeLo" -HardwareProfile $HWProfile -JobGroup $JobGroupID02 -ComputerName "*" -JoinWorkgroup "WORKGROUP" -OperatingSystem $OS -RunAsynchronously

第一个命令 (GUID) 生成全局唯一标识符,并将 GUID 字符串存储在变量 $JobGroupID 01 中。 作业组 ID 充当标识符,将后续命令分组到单个作业组中$JobGroupID 01。

第二个命令获取名为 LogicalNetwork01 的逻辑网络对象,并将对象存储在$LogNet变量中。

第三个命令创建一个虚拟网络适配器,并使用 JobGroup 参数指示在 New-SCHardwareProfile cmdlet 运行之前不会创建网络适配器。 New-SCVirtualNetworkAdapter cmdlet 将 MAC 地址类型设置为动态,并指定新的虚拟网络适配器将连接到存储在$LogNet中的逻辑网络。

第四个命令创建虚拟 SCSI 适配器,并使用 JobGroup 参数指示在 New-SCHardwareProfile cmdlet 运行之前不会创建 SCSI 适配器。 New-SCVirtualScsiAdapter cmdlet 将适配器 ID 设置为 6,并将共享参数设置为$False,以便适配器不共享,如果想要在来宾群集中使用该适配器,则需要这样做。

第五个命令创建虚拟 DVD 驱动器,并使用 JobGroup 参数指定在 New-SCHardwareProfile cmdlet 运行之前不会创建 DVD 驱动器。 New-SCVirtual DVDDrive cmdlet 指定总线 1 和 LUN 0,用于将虚拟 DVD 驱动器附加到 IDE 总线上的辅助通道 (0) 。

第六个命令创建名为 TempHWProfile 的硬件配置文件,将所有者设置为 Contoso\ReneeLo,指定说明,并且使用此模板创建的虚拟机创建的主机上的内存量将为 512 MB。 New-SCHardwareProfile cmdlet 使用 JobGroup 参数指定所有包含变量$JobGroupID 01 的上述命令将在 New-SCHardwareProfile 创建新硬件配置文件之前运行。 在 New-SCVirtualNetworkAdapterNew-SCVirtualSCSIAdapterNew-SCVirtualDVDDrive 运行之后,创建的结果对象将自动与新的硬件配置文件相关联。

第七个命令生成新的 GUID 并将其存储在 $JobGroupID 02 中。 此作业组 ID 将用于标识包含此 ID 的任何后续命令,并将延迟运行这些命令,直到指定$JobGroupID 02 运行的最后一个命令之前。

第八个命令使用 Get-SCVirtualHardDisk cmdlet 获取名为 Template.vhd、VMHost01 上的 VHD 的虚拟硬盘对象,并将该对象存储在$VHD变量中。

第九个命令创建新的虚拟磁盘驱动器,并将存储在 $VHD (template.vhd) 中的虚拟硬盘附加到此新的虚拟磁盘驱动器。 此命令指定 IDE 总线上的总线 0 和 LUN 0,以便 Template.vhd 连接到主要通道 (0) 的第一个插槽 (0),该主要通道位于新虚拟磁盘驱动器的 IDE 总线上。 该命令使用 JobGroup 参数指定在 New-SCVMTemplate cmdlet 在最后一个命令中运行之前,不会创建新的虚拟磁盘驱动器。

第十个命令获取硬件配置文件对象,该对象表示 VMM 库中名为 TempHWProfile 的硬件配置文件,并将对象存储在$HWProfile变量中。

第十一个命令获取指定的操作系统对象 (64 位版本的 Windows Server 2008 R2 Enterprise) ,并将对象存储在$OS变量中。

最后一个命令创建名为 NewTemplate03 的虚拟机模板,将所有者设置为 Contoso\ReneeLo,指定此模板将使用名为 TempHWProfile 的硬件配置文件,将计算机名称设置为随机生成 (由星号 *) 指示,并指定使用此模板创建的任何虚拟机都将加入名为 WORKGROUP 的工作组。 New-SCVMTemplate cmdlet 使用 JobGroup 参数指定在 New-SCVMTemplate 创建新模板之前运行变量$JobGroupID 02 的所有上述命令。 在 Add-SCVirtualHardDisk 运行时,生成的虚拟硬盘对象将自动与新模板相关联。

示例 4:使用 DRProtectionRequired 参数设置为$True创建虚拟机模板

PS C:\> $OS = Get-SCOperatingSystem -VMMServer "VMMServer01.Contoso.com" | where {$_.Name -eq "Windows Server 2016"}
PS C:\> $VHDX = Get-SCVirtualHardDisk -VMMServer "VMMServer01.Contoso.com" | where { $_.Name -eq "VHDX01.vhdx" -and $_.LibraryServer.Name -eq "LibServer01.Contoso.com" }
PS C:\> New-SCVMTemplate -Name "VMTemplate04" -VirtualHardDisk $VHDX -OperatingSystem $OS -DRProtectionRequired $True

第一个命令获取名为Windows Server 2016的操作系统,并将其存储在$OS变量中。

第二个命令从 VMM 库获取名为 VHDX01 的虚拟硬盘对象,并将对象存储在$VHDX变量中。

最后一个命令创建名为 VMTemplate04 的虚拟机模板,该模板需要针对从此模板创建的虚拟机提供 DR 保护。

示例 5:从虚拟硬盘创建可自定义的 Linux 虚拟机模板

PS C:\> $OS = Get-SCOperatingSystem -VMMServer "VMMServer01.Contoso.com" | where {$_.Name -eq "CentOS Linux 6 (64 bit)"}
PS C:\> $VHD = Get-SCVirtualHardDisk -VMMServer "VMMServer01.Contoso.com" | where { $_.Name -eq "LinuxVHD01.vhd" -and $_.LibraryServer.Name -eq "LibServer01.Contoso.com" }
PS C:\> New-SCVMTemplate -Name "LinuxVMTemplate01" -VirtualHardDisk $VHD -OperatingSystem $OS

第一个命令 (CentOS Linux 6 (64 位) ) 获取指定的操作系统对象,并将对象存储在$OS变量中。

第二个命令从 LibServer01 上的 VMM 库获取名为 LinuxVHD01 的虚拟硬盘对象,并将对象存储在$VHD变量中。

最后一个命令从 LinuxVHD01 创建名为 LinuxVMTemplate01 的虚拟机模板,并指定操作系统的名称。

示例 6:使用 Azure 更新管理服务的 Azure 配置文件创建虚拟机模板

PS C:\> $OS = Get-SCOperatingSystem -VMMServer "VMMServer01.Contoso.com" | where {$_.Name -eq "Windows Server 2019 Datacenter"}
PS C:\> $VHD = Get-SCVirtualHardDisk -VMMServer "VMMServer01.Contoso.com" | where { $_.Name -eq "VHD01.vhd" -and $_.LibraryServer.Name -eq "LibServer01.Contoso.com" }
PS C:\> $azureProfile = Get-SCAzureProfile -VMMServer "VMMServer01.Contoso.com" | where { $_.Name -eq "AzUpdateMgmtProfile"}
PS C:\> New-SCVMTemplate -Name "VMTemplate01" -VirtualHardDisk $VHD -OperatingSystem $OS -NoCustomization -UpdateManagementProfile $azureProfile

第一个命令获取指定的操作系统对象,并将对象存储在$OS变量中。

第二个命令从 LibServer01 上的 VMM 库获取名为 VHD01 的虚拟硬盘对象,并将对象存储在$VHD变量中。

第三个 commandlet 从 VMM 库获取名为 AzUpdateMgmtProfile 的 azure 配置文件对象,并将对象存储在$azureProfile变量中。

最后一个命令使用 Azure 配置文件从 VHD01 创建名为 VMTemplate01 的虚拟机模板,并指定操作系统的名称。 没有对操作系统进行自定义。

注意:此示例假定 VHD01 是安装了 Windows Server 2019 Datacenter 操作系统的 SysPrepped 虚拟硬盘。 可以在虚拟机上安装虚拟化来宾服务,或者 VMM 会在基于 Windows 的主机上部署虚拟机时自动安装它们。

参数

-AnswerFile

指定要用作应答文件的 Virtual Machine Manager (VMM) 库中存储的脚本对象。 应答文件脚本的名称将根据虚拟机上安装的操作系统而有所不同:

  • Sysprep.inf。 Windows XP、Windows Server 2000 或 Windows Server 2003
  • Unattend.xml。 Windows Vista、Windows 7 或 Windows Server 2008
Type:Script
Aliases:SysPrepFile
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-ApplicationProfile

指定应用程序配置文件对象。

Type:ApplicationProfile
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-AutoLogonCount

指定 Windows 应自动将答案文件中指定的管理员记录到控制台会话的次数。

Type:UInt32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-AutoLogonCredential

指定在启用自动管理员登录时 Windows 用于登录到控制台会话的应答文件中包含的运行方式帐户。

Type:RunAsAccount
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-AutomaticCriticalErrorAction

指定虚拟机遇到严重错误时要执行的操作,并超出 AutomaticCriticalErrorActionTimeout 参数指定的超时持续时间。 此参数的可接受值为:Pause 和 None。

Type:UInt16
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-AutomaticCriticalErrorActionTimeout

指定在关闭虚拟机之前在关键暂停中等待的时间量(以分钟为单位)。

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-BootVirtualHardDisk

指定包含创建新模板时要使用的操作系统文件的虚拟硬盘。

Type:VirtualHardDisk
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-CapabilityProfile

指定功能配置文件对象。

Type:CapabilityProfile
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-CheckpointType

指定检查点类型。 此参数的可接受值为:

  • 已禁用
  • 生产
  • ProductionOnly
  • 标准
Type:CheckpointType
Accepted values:Disabled, Production, ProductionOnly, Standard
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ComputerName

指定 VMM 可以在您的网络上唯一标识的计算机的名称。 此参数的可接受值为:

  • FQDN
  • IPv4 或 IPv6 地址
  • NetBIOS 名称
Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-CPUCount

指定虚拟机、硬件配置文件或模板上的 CPU 数目。

主机类型支持以下数量的 CPU:

  • Hyper-V。 每个虚拟机最多四个 CPU,具体取决于来宾操作系统。
  • VMware ESX。 每个虚拟机最多四个 CPU,但在运行 Windows NT 4.0 的虚拟机上只有一个 CPU。
  • Citrix XenServer。 每个虚拟机最多 8 个 CPU,具体取决于来宾操作系统。
Type:Byte
Aliases:ProcessorCount
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-CPUMaximumPercent

指定特定虚拟机在任意给定时间最多可以利用主机上的单个 CPU 的总资源的百分比。

示例: -CPUMaximumPercent 80 (指定 80%)

Type:Int32
Aliases:CPUMax
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-CPUPerVirtualNumaNodeMaximum

指定每个虚拟 NUMA 节点允许的最大 CPU 数。

Type:Byte
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-CPURelativeWeight

指定主机上此虚拟机可以使用的 CPU 资源量(相对于同一主机上的其他虚拟机)。 具有较高权重值的虚拟机分配的 CPU 资源比权重值较低的虚拟机分配的 CPU 资源更多。 这些值的 VMware 术语是共享。

主机类型支持以下相对值:

  • Hyper-V。 1 到 10000。
  • VMware ESX。 高。
  • VMware ESX。 高于普通。
  • VMware ESX。 普通 (默认) 。 1000。
  • VMware ESX。 正常情况下。
  • VMware ESX。 低。
  • VMware ESX。 自定义 1 到 1000000。
  • Citrix XenServer。 1 到 65536,正常为 256。
Type:Int32
Aliases:RelativeWeight
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-CPUReserve

指定主机上最低可以分配给虚拟机使用的单个 CPU 资源的百分比。 虚拟机的可用 CPU 容量的百分比决不能小于此百分比。

Type:UInt16
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-CPUType

指定虚拟机的 CPU 类型。 若要检索可用于 VMM 环境中的虚拟机的所有 CPU 类型的列表,请键入 Get-SCCPUType

Type:ProcessorType
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DeploymentTypeNano

{{Fill DeploymentTypeNano Description}}

Type:Boolean
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Description

指定虚拟机模板的说明。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DisableAutoLogon

指示此 cmdlet 禁用自动管理员登录。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Domain

为 Active Directory 域指定完全限定的域名 (FQDN)。

示例格式: -Domain "Domain01.Corp.Contoso.com"

Type:String
Aliases:JoinDomain
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DomainJoinCredential

指定有权将计算机加入域的帐户的用户名和密码。 建议使用将计算机加入域的有限权限帐户。 这包括虚拟计算机和物理计算机。

可以使用当前参数在 VMHostProfile 上指定凭据,以便将物理主计算机加入域,或者在新的或现有模板、新来宾操作系统配置文件或新虚拟机上指定凭据,以便将虚拟机加入域。

Type:VMMCredential
Aliases:JoinDomainCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DomainJoinOrganizationalUnit

指定在无人参与的微型设置期间计算机加入到的组织单位。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DRProtectionRequired

此参数留待将来使用。

Type:Boolean
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DynamicMemoryBufferPercentage

指定虚拟机当前内存分配上方的内存百分比,主机应尝试保留为缓冲区。 默认值为 20。

示例格式: -DynamicMemoryTargetBufferPercentage 20

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DynamicMemoryEnabled

当设置为$True虚拟机的动态内存时启用。 您可以直接对虚拟机或将用于创建虚拟机的模板或硬件配置文件启用动态内存。 默认值为 False。

必需:仅当虚拟机部署在运行 Windows Server 2008 SP1 或更高版本的主机上,或者如果虚拟机以停止状态存储在库中,则只能对存储的虚拟机进行硬件更改 (,前提是虚拟机没有快照) 才能启用该虚拟机的动态内存。 在库中存储的虚拟机上启用动态内存会将该计算机的放置限制为运行 Windows Server 2008 SP1 或更高版本的主机。

示例格式: -DynamicMemoryEnabled $True

Type:Boolean
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DynamicMemoryMaximumMB

指定在启用动态内存时可分配给虚拟机的最大内存量。 默认值为 65536。

必需:仅当虚拟机部署在运行 Windows Server 2008 R2 SP1 或更高版本的主机上,或者如果虚拟机存储在库中, (存储的虚拟机的硬件更改 (存储的虚拟机时,才能对存储的虚拟机) 启用动态内存。 如果对存储在库中的虚拟机启用动态内存,则会将该虚拟机的放置局限于运行 Windows Server 2008 R2 SP1 或更高版本的主机。

示例格式: -DynamicMemoryMaximumMB 1024

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DynamicMemoryMinimumMB

指定启用动态内存时可分配给虚拟机的最小内存量。 默认值为 65536。

必需:仅当虚拟机部署在运行 Windows Server 2008 R2 SP1 或更高版本的主机上,或者如果虚拟机存储在库中, (存储的虚拟机的硬件更改 (存储的虚拟机时,才能对存储的虚拟机) 启用动态内存。 如果对存储在库中的虚拟机启用动态内存,则会将该虚拟机的放置局限于运行 Windows Server 2008 R2 SP1 或更高版本的主机。

示例格式: -DynamicMemoryMinimumMB 1024

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-EnableNestedVirtualization

启用嵌套虚拟化。

注意

此参数适用于 VMM 2019 UR1。

Type:Boolean
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-FullName

指定注册虚拟机所用的个人姓名。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Generation

指示创建的虚拟机的生成。

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-GuestOSProfile

指定来宾操作系统配置文件对象。

Type:GuestOSProfile
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-GuiRunOnceCommands

指定要添加到无人参与应答文件的 [GuiRunOnce] 节的命令数组。 在每个用双引号括起来的字符串周围使用单引号。

示例格式: -GuiRunOnceCommands '"C:\APF\APFPostSysPrepCopy.cmd PARAMS1"', '"C:\APF\APFPostSysPrepCopy.cmd PARAMS1"'

有关如何Windows PowerShell使用引号的信息,请键入Get-Help about_Quoting_Rules

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-HardwareProfile

指定硬件配置文件对象。

Type:HardwareProfile
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-HAVMPriority

指定虚拟机优先级。 虚拟机的优先级顺序从主机群集节点的限制开始。 此参数的有效输入是优先级的数字表示形式:

  • 高。 3000
  • 中等。 2000
  • 低。 1000

如果指定值为 0 (0) ,则虚拟机不会自动重启。

Type:UInt32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-HighlyAvailable

指示是否将虚拟机放置在属于主机群集的 Hyper-V 主机上。 在虚拟机或用于创建虚拟机的模板或硬件配置文件上配置此设置。

Type:Boolean
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-JobGroup

在运行最后一个包含相同作业组标识符的命令之前,为作为集合运行的一系列命令指定标识符。

Type:Guid
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-JobVariable

指定跟踪作业进度,并将其存储在此参数命名的变量中。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-LibraryServer

指定一个 VMM 库服务器对象。

Type:LibraryServer
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-LinuxAdministratorSSHKey

指定 Linux SSH 密钥的公钥文件。

Type:SSHKey
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-LinuxAdministratorSSHKeyString

将 Linux 管理员 SSH 密钥指定为字符串。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-LinuxDomainName

指定要与 Linux 操作系统专用化结合使用的完全限定域名 (FQDN) 。

示例格式: -LinuxDomainName "Domain01.Corp.Contoso.com"

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-LocalAdministratorCredential

指定与 Linux 兼容的来宾操作系统配置文件) 时本地管理员帐户 (或 Linux 根帐户的用户名和密码。

在新或现有模板、新来宾操作系统配置文件或新虚拟机上指定凭据将覆盖任何现有的管理员密码。

Type:VMMCredential
Aliases:AdminPasswordCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-MemoryMB

指定此 cmdlet 分配给转换后的虚拟机的主机上的 RAM (RAM) 随机访问内存量(以 MB () MB 为单位)。 默认值为 512 MB。 对于在运行 Windows Server 2008 R2 SP1 或更高版本的主机上启用动态内存的虚拟机,请指定启动内存值。

主机类型具有以下可分配给虚拟机的最大内存:

  • Hyper-V。 每个虚拟机最多 65536 MB RAM。
  • VMware ESX Server 3.0.x。 每个虚拟机最多 16384 MB RAM。
  • VMware ESX Server 3.5.x。 每个虚拟机最多 65532 MB RAM。
  • Citrix XenServer。 每个虚拟机最多 32265 MB RAM。
Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-MemoryPerVirtualNumaNodeMaximumMB

指定允许每个虚拟 NUMA 节点的最大内存量(以 MB 为单位)。

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-MemoryWeight

指明向虚拟机分配内存的优先级(相对于同一主机上的其他虚拟机)。 设置较高的虚拟机所分配到的内存资源比设置较低的虚拟机多。

对于运行 Windows Server 2008 R2 SP1 或更高版本的主机,5000 = 普通,10000 = 高,0 = 低,1 到 10000 = 自定义。

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-MergeAnswerFile

指示此 cmdlet 是否将应答文件与来宾操作系统设置合并在一起。 默认值为$True。 VMM 控制台使用此参数。 请勿指定此参数。

Type:Boolean
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-MonitorMaximumCount

指定虚拟视频适配器支持的最大监视器数。

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-MonitorMaximumResolution

将值指定为字符串,表示虚拟视频适配器的最大可能监视器分辨率。 此参数的可接受值为:

  • 1024 x 768
  • 1280x1024
  • 1600 x 1200
  • 1920x1200

默认值为 1280x1024。

示例格式: -MonitorMaximumResolution "1600x1200"

Type:String
Aliases:MonitorResolutionMaximum
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Name

指定 VMM 对象的名称。

Type:String
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-NoCustomization

指定不能自定义此模板上的来宾操作系统设置。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-NumaIsolationRequired

指示是否需要 NUMA 隔离。

Type:Boolean
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-OperatingSystem

指定虚拟机操作系统的类型。 若要列出 VMM 中所有可用操作系统的名称,请键入 Get-SCOperatingSystem

Type:OperatingSystem
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-OrganizationName

指定注册虚拟机名称的人员的组织名称。

Type:String
Aliases:OrgName
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Owner

以一个有效的域用户帐户形式指定 VMM 对象的所有者。

  • 示例格式: -Owner "Contoso\PattiFuller"
  • 示例格式: -Owner "PattiFuller@Contoso"
Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ProductKey

指定产品密钥。 产品密钥是一个标识产品许可证的 25 位数字。 产品密钥可用于注册要安装在虚拟机或主机上的 VMM 或操作系统。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ProtectionProvider

指定保护提供程序。

Type:ProtectionProvider
Accepted values:None, HVR8, HVRBlue, HVRAzure, DiskReplication, SANReplication
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PROTipID

指定触发此操作 (PRO 提示) 的性能和资源优化提示的 ID。 此参数允许审核 PRO 提示。

Type:Guid
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-RecoveryPointObjective

指定因重大事件而无法容忍从 IT 服务丢失数据的最大时间段。

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-RemoveDomainJoinOrganizationalUnit

删除计算机在安装过程中加入的组织单位 (OU) 。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-RemoveServerFeatures

从模板中删除所有服务器角色和功能。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ReplicationGroup

指定复制组。

Type:ReplicationGroup
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-RunAsynchronously

指示作业异步运行,以便控件立即返回到命令 shell。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SecureBootEnabled

指示是否启用了安全启动。

Type:Boolean
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SecureBootTemplate

指定要用于第 2 代虚拟机的安全启动模板。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SharePath

指定现有库服务器上使用通用命名约定 (UNC) 路径的一个有效库共享路径。

示例格式: -SharePath "\\LibServer01\LibShare"

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Shielded

指示对象是否受到防护。

Type:Boolean
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SkipRearm

跳过运行 Windows 软件授权 Rearm 程序。 此程序将 Windows 操作系统还原到其原始的授权状态。

重要说明:有关激活和重排计划的许可协议。 使用此参数可能会违反许可协议。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SQLProfile

指定SQL Server配置文件对象。

Type:SQLProfile
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-TimeZone

指定一个数字 (索引) ,用于标识共享同一标准时间的地理区域。 有关时区索引的列表,请参阅 Microsoft 时区索引值http://go.microsoft.com/fwlink/?LinkId=120935 如果未指定时区,则用于虚拟机的默认时区是虚拟机主机上的同一时区设置。

指定 GMT 标准时区的示例格式: -TimeZone 085

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-UnattendSettings

指定包含 StringString 的键/值对。

Type:System.Collections.Generic.Dictionary`2[System.String,System.String]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-UpdateManagementProfile

指定可在 VMTemplate 中使用的 Azure 配置文件。 Azure 配置文件向 VM 提供 Azure 共同管理功能。

Type:AzureProfile
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-UserRole

指定一个用户角色对象。

Type:UserRole
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-VirtualHardDisk

指定虚拟硬盘对象。

Type:StandaloneVirtualHardDisk
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-VirtualNumaNodesPerSocketMaximum

指定每个套接字允许的最大 NUMA 节点数。

Type:Byte
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-VirtualVideoAdapterEnabled

启用,设置为$True时,适用于虚拟机的 Microsoft 合成 3D 虚拟视频适配器。 可以直接在虚拟机上或用于创建虚拟机的模板或硬件配置文件上启用虚拟视频适配器。

必需:仅当虚拟机部署在运行 Windows Server 2008 R2 SP1 (的主机上部署该虚拟机时,才能为虚拟机启用 Microsoft 合成 3D 虚拟视频适配器,且远程桌面虚拟图形角色服务安装在) 或更高版本,或者如果虚拟机存储在已停止状态的库中, (存储虚拟机的硬件更改只能进行如果虚拟机没有快照) 。 在库中存储的虚拟机上启用 Microsoft 合成 3D 虚拟视频适配器会将该计算机的位置限制为托管运行 Windows Server 2008 R2 SP1 的主机, (安装了远程桌面服务角色和已安装) 或更高版本的远程桌面虚拟图形角色服务。

示例格式: -VirtualVideoAdapterEnabled $True

Type:Boolean
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-VM

指定一个虚拟机对象。

Type:VM
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-VMMServer

指定VMM 服务器对象。

Type:ServerConnection
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-VMTemplate

指定一个用于创建虚拟机的 VMM 模板对象。

Type:Template
Aliases:Template
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Workgroup

在新的或现有的模板、新的或现有的来宾操作系统配置文件或新虚拟机上指定要加入虚拟机的工作组的名称。 您可以使用此参数来覆盖模板或来宾操作系统配置文件中现有的值。

Type:String
Aliases:JoinWorkgroup
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

输出

Template

此 cmdlet 返回 Template 对象。