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
指定由 String、 String 组成的键/值对。
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 对象。