New-SCGuestOSProfile

创建用于 VMM 的来宾操作系统配置文件。

语法

New-SCGuestOSProfile
   [-Shielded <Boolean>]
   [-GuiRunOnceCommands <String[]>]
   [-MergeAnswerFile <Boolean>]
   [-AnswerFile <Script>]
   [-OperatingSystem <OperatingSystem>]
   [-VMMServer <ServerConnection>]
   [-Name] <String>
   [-Description <String>]
   [-FullName <String>]
   [-OrganizationName <String>]
   [-ComputerName <String>]
   [-ProductKey <String>]
   [-LocalAdministratorCredential <VMMCredential>]
   [-TimeZone <Int32>]
   [-RemoveServerFeatures]
   [-GuestOSProfile <GuestOSProfile>]
   [-Owner <String>]
   [-UserRole <UserRole>]
   [-AutoLogonCredential <RunAsAccount>]
   [-AutoLogonCount <UInt32>]
   [-DisableAutoLogon]
   [-UnattendSettings <System.Collections.Generic.Dictionary`2[System.String,System.String]>]
   [-DomainJoinOrganizationalUnit <String>]
   [-RemoveDomainJoinOrganizationalUnit]
   [-LinuxDomainName <String>]
   [-RunAsynchronously]
   [-PROTipID <Guid>]
   [-JobVariable <String>]
   [<CommonParameters>]
New-SCGuestOSProfile
   [-Shielded <Boolean>]
   [-GuiRunOnceCommands <String[]>]
   [-MergeAnswerFile <Boolean>]
   [-AnswerFile <Script>]
   [-OperatingSystem <OperatingSystem>]
   [-LinuxAdministratorSSHKey <SSHKey>]
   [-VMMServer <ServerConnection>]
   [-Name] <String>
   [-Description <String>]
   [-FullName <String>]
   [-OrganizationName <String>]
   [-ComputerName <String>]
   [-ProductKey <String>]
   [-LocalAdministratorCredential <VMMCredential>]
   [-TimeZone <Int32>]
   [-RemoveServerFeatures]
   [-GuestOSProfile <GuestOSProfile>]
   [-Owner <String>]
   [-UserRole <UserRole>]
   [-AutoLogonCredential <RunAsAccount>]
   [-AutoLogonCount <UInt32>]
   [-DisableAutoLogon]
   [-UnattendSettings <System.Collections.Generic.Dictionary`2[System.String,System.String]>]
   [-DomainJoinOrganizationalUnit <String>]
   [-RemoveDomainJoinOrganizationalUnit]
   [-LinuxDomainName <String>]
   [-RunAsynchronously]
   [-PROTipID <Guid>]
   [-JobVariable <String>]
   [<CommonParameters>]
New-SCGuestOSProfile
   [-Shielded <Boolean>]
   [-GuiRunOnceCommands <String[]>]
   [-MergeAnswerFile <Boolean>]
   [-AnswerFile <Script>]
   [-OperatingSystem <OperatingSystem>]
   [-LinuxAdministratorSSHKeyString <String>]
   [-VMMServer <ServerConnection>]
   [-Name] <String>
   [-Description <String>]
   [-FullName <String>]
   [-OrganizationName <String>]
   [-ComputerName <String>]
   [-ProductKey <String>]
   [-LocalAdministratorCredential <VMMCredential>]
   [-TimeZone <Int32>]
   [-RemoveServerFeatures]
   [-GuestOSProfile <GuestOSProfile>]
   [-Owner <String>]
   [-UserRole <UserRole>]
   [-AutoLogonCredential <RunAsAccount>]
   [-AutoLogonCount <UInt32>]
   [-DisableAutoLogon]
   [-UnattendSettings <System.Collections.Generic.Dictionary`2[System.String,System.String]>]
   [-DomainJoinOrganizationalUnit <String>]
   [-RemoveDomainJoinOrganizationalUnit]
   [-LinuxDomainName <String>]
   [-RunAsynchronously]
   [-PROTipID <Guid>]
   [-JobVariable <String>]
   [<CommonParameters>]
New-SCGuestOSProfile
   [-Shielded <Boolean>]
   [-GuiRunOnceCommands <String[]>]
   [-MergeAnswerFile <Boolean>]
   [-AnswerFile <Script>]
   [-OperatingSystem <OperatingSystem>]
   [-VMMServer <ServerConnection>]
   [-Name] <String>
   [-Description <String>]
   [-FullName <String>]
   [-OrganizationName <String>]
   [-ComputerName <String>]
   [-ProductKey <String>]
   [-LocalAdministratorCredential <VMMCredential>]
   [-TimeZone <Int32>]
   [-RemoveServerFeatures]
   -Domain <String>
   [-DeploymentTypeNano <Boolean>]
   [-DomainJoinCredential <VMMCredential>]
   [-GuestOSProfile <GuestOSProfile>]
   [-Owner <String>]
   [-UserRole <UserRole>]
   [-AutoLogonCredential <RunAsAccount>]
   [-AutoLogonCount <UInt32>]
   [-DisableAutoLogon]
   [-UnattendSettings <System.Collections.Generic.Dictionary`2[System.String,System.String]>]
   [-DomainJoinOrganizationalUnit <String>]
   [-RemoveDomainJoinOrganizationalUnit]
   [-LinuxDomainName <String>]
   [-RunAsynchronously]
   [-PROTipID <Guid>]
   [-JobVariable <String>]
   [<CommonParameters>]
New-SCGuestOSProfile
   [-Shielded <Boolean>]
   [-GuiRunOnceCommands <String[]>]
   [-MergeAnswerFile <Boolean>]
   [-AnswerFile <Script>]
   [-OperatingSystem <OperatingSystem>]
   [-VMMServer <ServerConnection>]
   [-Name] <String>
   [-Description <String>]
   [-FullName <String>]
   [-OrganizationName <String>]
   [-ComputerName <String>]
   [-ProductKey <String>]
   [-LocalAdministratorCredential <VMMCredential>]
   [-TimeZone <Int32>]
   [-RemoveServerFeatures]
   [-Workgroup <String>]
   [-GuestOSProfile <GuestOSProfile>]
   [-Owner <String>]
   [-UserRole <UserRole>]
   [-AutoLogonCredential <RunAsAccount>]
   [-AutoLogonCount <UInt32>]
   [-DisableAutoLogon]
   [-UnattendSettings <System.Collections.Generic.Dictionary`2[System.String,System.String]>]
   [-DomainJoinOrganizationalUnit <String>]
   [-RemoveDomainJoinOrganizationalUnit]
   [-LinuxDomainName <String>]
   [-RunAsynchronously]
   [-PROTipID <Guid>]
   [-JobVariable <String>]
   [<CommonParameters>]

说明

New-SCGuestOSProfile cmdlet 创建来宾操作系统配置文件,以便在 Virtual Machine Manager (VMM) 中使用。 来宾操作系统是虚拟机上的操作系统,与部署一个或多个虚拟机的物理主机计算机上的主机操作系统相反。

来宾操作系统配置文件将存储操作系统配置信息。 配置文件由一系列属性组成,其中包括无人参与应答文件(如 Sysprep.inf 或 Unattend.xml 文件)中指定的最常见设置。

可以创建单独的来宾操作系统配置文件,或自定义一个模板或虚拟机,以包含来宾操作系统配置文件设置。 New-SCGuestOSProfile cmdlet 将新的来宾操作系统配置文件对象存储在 VMM 库中。

可以基于默认设置或现有来宾操作系统配置文件来创建一个来宾操作系统配置文件,也可以在创建配置文件时自定义设置。 如果未指定除 Name 参数以外的任何参数, New-SCGuestOSProfile cmdlet 将创建默认来宾操作系统配置文件对象。

示例

示例 1:创建默认来宾操作系统配置文件

PS C:\> $OS = Get-SCOperatingSystem -VMMServer "VMMServer01.Contoso.com" | where {$_.Name -eq "64-bit edition of Windows Server 2008 R2 Enterprise"}
PS C:\> New-SCGuestOSProfile -Name "NewOSProfile01" -OperatingSystem $OS

第一个命令从 VMMServer01 获取名为“64 位版本的 Windows Server 2008 R2 Enterprise”的操作系统对象,并将该对象存储在$OS变量中。

第二个命令创建名为 NewProfile01 的默认来宾操作系统配置文件,并指定操作系统的名称。

示例 2:创建用于将虚拟机加入域的来宾操作系统配置文件

PS C:\> $DomainCredential = Get-SCRunAsAccount -Name "RunAsAccount01"
PS C:\> $OS = Get-SCOperatingSystem -VMMServer "VMMServer01.Contoso.com" | where {$_.Name -eq "64-bit edition of Windows Server 2008 R2 Enterprise"} 
PS C:\> New-SCGuestOSProfile -Name "NewOSProfile02" -JoinDomain "Contoso.com" -DomainJoinCredential $DomainCredential -OperatingSystem $OS

第一个命令获取名为 RunAsAccount01 的运行方式帐户对象,并将对象存储在$DomainCredential变量中。

第二个命令从 VMMServer01 获取名为 64 位版本的 Windows Server 2008 R2 Enterprise 的操作系统对象,并将对象存储在$OS变量中。

最后一个命令创建一个名为 NewOSProfile02 的来宾操作系统配置文件,并指定操作系统的名称。 使用 NewOSProfile02 创建虚拟机时,配置文件使用指定的运行方式帐户将虚拟机加入 Contoso.com 域。

注意:如果你提供 PSCredential 对象而不是 DomainJoinCredential 参数的 RunAs 帐户,建议仅使用权限有限的帐户自动加入域,因为域名和密码在主机服务器上以纯文本短暂显示。

示例 3:克隆现有来宾操作系统配置文件

PS C:\> $OSProfile = Get-SCGuestOSProfile -Name "NewOSProfile02"
PS C:\> $OS = Get-SCOperatingSystem -VMMServer "VMMServer01.contoso.com" | where {$_.Name -eq "64-bit edition of Windows Server 2008 R2 Datacenter"} 
PS C:\> New-SCGuestOSProfile -Name "NewOSProfile03" -GuestOSProfile $OSProfile -ComputerName "Contoso03" -OperatingSystem $OS

第一个命令获取名为 NewOSProfile02 的来宾 OS 配置文件对象,并将对象存储在$OSProfile变量中。

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

最后一个命令创建名为 NewOSProfile03 的来宾操作系统配置文件,该配置文件基于 NewOSProfile02,但修改计算机名称并指定操作系统的不同名称。 NewOSProfile03 中的所有其他设置都与 NewOSProfile02 中的设置相同。

示例 4:创建 Linux 来宾操作系统配置文件并设置 Linux DNS 域名

PS C:\> $OS = Get-SCOperatingSystem -VMMServer "VMMServer01.Contoso.com" | where {$_.Name -eq "CentOS Linux 6 (64 bit)"} 
PS C:\> New-SCGuestOSProfile -Name "My CentOS Profile" -LinuxDomainName "contoso.com" -OperatingSystem $os

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

第二个命令创建名为 My CentOS 配置文件的来宾操作系统配置文件,并指定操作系统的名称和 Linux DNS 域名。 使用 My CentOS 配置文件创建虚拟机时,该配置文件使用指定的 Linux DNS 域名。

参数

-AnswerFile

指定存储在 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

-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

-ComputerName

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

  • FQDN
  • IPv4 或 IPv6 地址
  • NetBIOS 名称
Type:String
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:True
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

-FullName

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

Type:String
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:True
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

-JobVariable

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

Type:String
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

-MergeAnswerFile

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

Type:Boolean
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: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

-PROTipID

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

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

-RemoveDomainJoinOrganizationalUnit

指示此 cmdlet 删除计算机在安装过程中加入的组织单位。

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

-RemoveServerFeatures

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

Type:SwitchParameter
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

-Shielded

指示对象是否受到防护。

Type:Boolean
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

-UserRole

指定一个用户角色对象。

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

-VMMServer

指定VMM 服务器对象。

Type:ServerConnection
Position:Named
Default value:None
Required:False
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

输出

GuestOSProfile

此 cmdlet 返回 GuestOSProfile 对象。