Set-SCGuestOSProfile
Set-SCGuestOSProfile
Changes the properties of a guest operating system profile used in VMM.
Syntax
Parameter Set: Default
Set-SCGuestOSProfile [-GuestOSProfile] <GuestOSProfile> [-AnswerFile <Script> ] [-AutoLogonCount <UInt32> ] [-AutoLogonCredential <RunAsAccount> ] [-ComputerName <String> ] [-Description <String> ] [-DisableAutoLogon] [-DomainJoinOrganizationalUnit <String> ] [-FullName <String> ] [-GuiRunOnceCommands <String[]> ] [-JobVariable <String> ] [-LinuxAdministratorSSHKey <SSHKey> ] [-LinuxDomainName <String> ] [-LocalAdministratorCredential <VMMCredential> ] [-MergeAnswerFile <Boolean> ] [-Name <String> ] [-OperatingSystem <OperatingSystem> ] [-OrganizationName <String> ] [-Owner <String> ] [-ProductKey <String> ] [-PROTipID <Guid> ] [-RemoveDomainJoinOrganizationalUnit] [-RemoveServerFeatures] [-RunAsynchronously] [-TimeZone <Int32> ] [-UnattendSettings <Dictionary<String>> ] [-UserRole <UserRole> ] [ <CommonParameters>]
Parameter Set: Domain
Set-SCGuestOSProfile [-GuestOSProfile] <GuestOSProfile> -Domain <String> [-AnswerFile <Script> ] [-AutoLogonCount <UInt32> ] [-AutoLogonCredential <RunAsAccount> ] [-ComputerName <String> ] [-Description <String> ] [-DisableAutoLogon] [-DomainJoinCredential <VMMCredential> ] [-DomainJoinOrganizationalUnit <String> ] [-FullName <String> ] [-GuiRunOnceCommands <String[]> ] [-JobVariable <String> ] [-LinuxAdministratorSSHKey <SSHKey> ] [-LinuxDomainName <String> ] [-LocalAdministratorCredential <VMMCredential> ] [-MergeAnswerFile <Boolean> ] [-Name <String> ] [-OperatingSystem <OperatingSystem> ] [-OrganizationName <String> ] [-Owner <String> ] [-ProductKey <String> ] [-PROTipID <Guid> ] [-RemoveDomainJoinOrganizationalUnit] [-RemoveServerFeatures] [-RunAsynchronously] [-TimeZone <Int32> ] [-UnattendSettings <Dictionary<String>> ] [-UserRole <UserRole> ] [ <CommonParameters>]
Parameter Set: Workgroup
Set-SCGuestOSProfile [-GuestOSProfile] <GuestOSProfile> [-AnswerFile <Script> ] [-AutoLogonCount <UInt32> ] [-AutoLogonCredential <RunAsAccount> ] [-ComputerName <String> ] [-Description <String> ] [-DisableAutoLogon] [-DomainJoinOrganizationalUnit <String> ] [-FullName <String> ] [-GuiRunOnceCommands <String[]> ] [-JobVariable <String> ] [-LinuxAdministratorSSHKey <SSHKey> ] [-LinuxDomainName <String> ] [-LocalAdministratorCredential <VMMCredential> ] [-MergeAnswerFile <Boolean> ] [-Name <String> ] [-OperatingSystem <OperatingSystem> ] [-OrganizationName <String> ] [-Owner <String> ] [-ProductKey <String> ] [-PROTipID <Guid> ] [-RemoveDomainJoinOrganizationalUnit] [-RemoveServerFeatures] [-RunAsynchronously] [-TimeZone <Int32> ] [-UnattendSettings <Dictionary<String>> ] [-UserRole <UserRole> ] [-Workgroup <String> ] [ <CommonParameters>]
Detailed Description
The Set-SCGuestOSProfile changes one or more properties of a guest operating system profile used in a Virtual Machine Manager (VMM) environment. Changes made to a guest operating system profile affect only the guest operating system profile itself. Changes do not affect any existing virtual machines that were previously created by using this profile.
Parameters
-AnswerFile<Script>
Specifies a script object stored in the VMM library to use as an answer file. The name of the answer file script depends on the operating system that you want to install on a virtual machine:
ANSWER FILE GUEST OS TO INSTALL ON VM
----------- -------------------------
Sysprep.inf Windows XP, Windows Server 2000, or Windows Server 2003
Unattend.xml Windows Vista, Windows 7, or Windows Server 2008
Aliases |
SysPrepFile |
Required? |
false |
Position? |
named |
Default Value |
none |
Accept Pipeline Input? |
True (ByValue) |
Accept Wildcard Characters? |
false |
-AutoLogonCount<UInt32>
Specifies the number of times that Windows should automatically log the administrator denoted in the Answerr File on to the console session.
Aliases |
none |
Required? |
false |
Position? |
named |
Default Value |
none |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
-AutoLogonCredential<RunAsAccount>
Specifies the Run As account contained in the Answer File that Windows uses to log on to the console session when automatic administrator logon is enabled.
Aliases |
none |
Required? |
false |
Position? |
named |
Default Value |
none |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
-ComputerName<String>
Specifies the name of a computer that VMM can uniquely identify on your network. Valid formats are: FQDN, IPv4 or IPv6 address, or NetBIOS name.
NOTE: See the examples for a specific cmdlet to determine how that cmdlet specifies the computer name.
Aliases |
none |
Required? |
false |
Position? |
named |
Default Value |
none |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
-Description<String>
States a description for the specified object.
Aliases |
none |
Required? |
false |
Position? |
named |
Default Value |
none |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
-DisableAutoLogon
Disables automatic administrator logon.
Aliases |
none |
Required? |
false |
Position? |
named |
Default Value |
none |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
-Domain<String>
Specifies a fully qualified domain name (FQDN) for an Active Directory domain.
Example format: -Domain "Domain01.Corp.Contoso.com"
Aliases |
none |
Required? |
true |
Position? |
named |
Default Value |
none |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
-DomainJoinCredential<VMMCredential>
Specifies the user name and password of an account with permission to join a computer to the domain. A limited rights account should be used for joining computers (either physical or virtual) to the domain.
Example format for a PS credential:
$DomainJoinCredential = Get-Credenital
-Domain "ThisDomain.Corp.Contoso.com" -DomainJoinCredential $DomainJoinCredential
Example format for a Run As account:
$DomainJoinCredential = Get-SCRunAsAccount -Name "RunAsAcct01"
-Domain "ThisDomain.Corp.Contoso.com" -DomainJoinCredential $DomainJoinCredential
NOTE: You can use the DomainJoinCredential parameter to specify credentials (on a VMHostProfile) for joining a physical host computer to the domain, or to specify credentials (on a new or existing template, on a new or existing guest operating system profile, or on a new virtual machine) for joining a virtual machine to the domain.
Aliases |
JoinDomainCredential |
Required? |
false |
Position? |
named |
Default Value |
none |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
-DomainJoinOrganizationalUnit<String>
Specifies the organizational unit to which the computer is joined during an unattended mini-setup.
Aliases |
none |
Required? |
false |
Position? |
named |
Default Value |
none |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
-FullName<String>
Specifies the name of the person in whose name a virtual machine is registered.
Aliases |
none |
Required? |
false |
Position? |
named |
Default Value |
none |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
-GuestOSProfile<GuestOSProfile>
Specifies a guest operating system profile object.
Aliases |
none |
Required? |
true |
Position? |
1 |
Default Value |
none |
Accept Pipeline Input? |
True (ByValue) |
Accept Wildcard Characters? |
false |
-GuiRunOnceCommands<String[]>
Specifies one or more commands to add to the [GuiRunOnce] section of an unattended answer file (such as Unattend.xml). Use single quotes around each string enclosed in double quotes.
Example format:
-GuiRunOnceCommands '"C:\APF\APFPostSysPrepCopy.cmd PARAMS1"', '"C:\APF\APFPostSysPrepCopy.cmd PARAMS1"'
For information about how Windows PowerShell uses quotes, type: "Get-Help about_Quoting_Rules"
Aliases |
none |
Required? |
false |
Position? |
named |
Default Value |
none |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
-JobVariable<String>
Specifies that job progress is tracked and stored in the variable named by this parameter.
Aliases |
none |
Required? |
false |
Position? |
named |
Default Value |
none |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
-LinuxAdministratorSSHKey<SSHKey>
Specifes the public key file for a Linux Ssh Key.
Aliases |
none |
Required? |
false |
Position? |
named |
Default Value |
none |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
-LinuxDomainName<String>
Specifies a fully qualified domain name (FQDN) to be used in conjunction with Linux operating system specialization.
Example format: -LinuxDomainName "Domain01.Corp.Contoso.com"
Aliases |
none |
Required? |
false |
Position? |
named |
Default Value |
none |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
-LocalAdministratorCredential<VMMCredential>
Specifies the user name and password for the Local Administrator account (or Linux root account in the case of a Linux compatible Guest Operating System profile).
Specifying credentials on a new or existing template, on a new or existing guest operating system profile, or on a new virtual machine overrides any existing Administrator password.
Aliases |
AdminPasswordCredential |
Required? |
false |
Position? |
named |
Default Value |
none |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
-MergeAnswerFile<Boolean>
Specifies that the cmdlet merge the specified answer file with the specified guest operating system settings. The default value is TRUE. This parameter is used by the VMM console. You do not need to use this parameter at the command prompt.
Aliases |
none |
Required? |
false |
Position? |
named |
Default Value |
none |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
-Name<String>
Specifies the name of a VMM object.
Aliases |
none |
Required? |
false |
Position? |
named |
Default Value |
none |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
-OperatingSystem<OperatingSystem>
Specifies the type of operating system for a virtual machine. To list the names of all available operating systems in VMM, type: "Get-SCOperatingSystem".
Aliases |
none |
Required? |
false |
Position? |
named |
Default Value |
none |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
-OrganizationName<String>
Specifies the name of the organization for the person in whose name a virtual machine is registered.
Aliases |
none |
Required? |
false |
Position? |
named |
Default Value |
none |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
-Owner<String>
Specifies the owner of a VMM object in the form of a valid domain user account.
Example format: -Owner "Contoso\ReneeLo"
Example format: -Owner "ReneeLo@Contoso"
Aliases |
none |
Required? |
false |
Position? |
named |
Default Value |
none |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
-ProductKey<String>
Specifies a product key. The product key is a 25-digit number that identifies the product license. A product key can be used to register VMM or an operating system to be installed on a virtual machine or host.
Aliases |
none |
Required? |
false |
Position? |
named |
Default Value |
none |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
-PROTipID<Guid>
Specifies the ID of the PRO tip that triggered this action. This allows for auditing of PRO tips.
Aliases |
none |
Required? |
false |
Position? |
named |
Default Value |
none |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
-RemoveDomainJoinOrganizationalUnit
Removes the organizational unit that the computer joined during setup.
Aliases |
none |
Required? |
false |
Position? |
named |
Default Value |
none |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
-RemoveServerFeatures
Removes all server roles and features from a template.
Aliases |
none |
Required? |
false |
Position? |
named |
Default Value |
none |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
-RunAsynchronously
Indicates that the job runs asynchronously so that control returns to the command shell immediately.
Aliases |
none |
Required? |
false |
Position? |
named |
Default Value |
none |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
-TimeZone<Int32>
Specifies a number (an index) that identifies a geographical region that shares the same standard time. For a list of time zone indexes, see "Microsoft Time Zone Index Values" at: https://go.microsoft.com/fwlink/?LinkId=120935. If no time zone is specified, the default time zone used for a virtual machine is the same time zone setting that is on the virtual machine host.
Example format to specify the GMT Standard Time zone: -TimeZone 085
Aliases |
none |
Required? |
false |
Position? |
named |
Default Value |
none |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
-UnattendSettings<Dictionary<String>>
Specifies a key/value pair consisting of string, string.
Aliases |
none |
Required? |
false |
Position? |
named |
Default Value |
none |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
-UserRole<UserRole>
Specifies a user role object.
Aliases |
none |
Required? |
false |
Position? |
named |
Default Value |
none |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
-Workgroup<String>
Specifies on a new or existing template, on a new or existing guest operating system profile, or on a new virtual machine the name of the workgroup to which you want to join a virtual machine. You can use this parameter to override the existing value on a template or on a guest operating system profile.
Aliases |
none |
Required? |
false |
Position? |
named |
Default Value |
none |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
<CommonParameters>
This cmdlet supports the common parameters: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer, and -OutVariable. For more information, see about_CommonParameters (https://go.microsoft.com/fwlink/p/?LinkID=113216).
Inputs
The input type is the type of the objects that you can pipe to the cmdlet.
Outputs
The output type is the type of the objects that the cmdlet emits.
- GuestOSProfile
Notes
- Requires a VMM guest OS profile object, which can be retrieved by using the Get-SCGuestOSProfile cmdlet.
Examples
1: Specify an organization name for an existing guest operating system profile.
The first command gets the guest OS profile object named NewOSProfile01 and stores the object in the $OSProfile variable.
The second command sets Contoso as the organization name for the guest operating system profile stored in $OSProfile.
PS C:\> $OSProfile = Get-SCGuestOSProfile -Name "NewOSProfile01"
PS C:\> Set-SCGuestOSProfile -GuestOSProfile $OSProfile -OrgName "Contoso"
2: Specify an SSHKey for an existing Linux guest operating system profile.
The first command gets the guest OS profile object named MyCentOSProfile and stores the object in the $OSProfile variable.
The second command gets the SSHKey object named My.sshkey and stores the object in the $sshkey variable
The last command sets the My.sshkey object on the guest operating system profile stored in $OSProfile.
PS C:\> $OSProfile = Get-SCGuestOSProfile -Name "My CentOS Profile"
PS C:\> $sshkey = Get-SCSSHKey -Name "My.sshkey"
PS C:\> Set-SCGuestOSProfile -GuestOSProfile $OSProfile -LinuxAdministratorSSHKey $sshkey