New-OSCustomizationSpec
This cmdlet creates a new OS customization specification or clones an existing one. If a name is provided, creates and adds the specified customization specification to the server. Otherwise, creates and returns the requested specification object. If the Name parameter is not specified, the OSCustomizationSpec object is not persisted on the server. Either the Domain or the Workgroup parameters should be provided if a Windows specification is created. If a Linux specification is created, the Domain parameter is mandatory. New-OSCustomizationSpec automatically creates a default NIC mapping.
Syntax
Parameters
Required | Parameter Name | Type | Position | Features | Description |
---|---|---|---|---|---|
required
|
OSCustomizationSpec | OSCustomizationSpec | named |
|
Specifies an OS customization specification that you want to clone. |
optional | Name | String | named |
|
Specifies a name for the new specification. |
optional | ProgressAction | ActionPreference | named |
|
|
optional | Server | VIServer[] | named |
|
Specifies the vCenter Server systems on which you want to run the cmdlet. If no value is provided or $null value is passed to this parameter, the command runs on the default servers. For more information about default servers, see the description of Connect-VIServer. |
optional | Type | OSCustomizationSpecType | named |
|
Specifies the type of the OS customization specification. The valid values are Persistent and NonPersistent. |
Parameters
Required | Parameter Name | Type | Position | Features | Description |
---|---|---|---|---|---|
optional | CustomizationScript | String | named |
|
Specifies a bash script that runs before and after the customization of the guest operating system. You can use this parameter only for Linux-based operating systems. Use the bash script itself and not the path to it. |
optional | Description | String | named |
|
Provides a description for the new specification. |
optional | DnsServer | String[] | named |
|
Specifies the DNS server settings. This parameter applies only to Linux operating systems. |
optional | DnsSuffix | String[] | named |
|
Specifies the DNS suffix settings. This parameter applies only to Linux operating systems. |
optional | Domain | String | named |
|
Specifies a domain name. |
optional | Name | String | named |
|
Specifies a name for the new specification. |
optional | NamingPrefix | String | named |
|
Depends on the customization naming scheme - Custom, NamingPrefix, or Prefix. If the "Custom" naming scheme is used, NamingPrefix is an optional argument that is passed to the utility for this IP address. The meaning of this field is user-defined in the script. If the "Fixed" naming scheme is used, NamingPrefix should indicate the name of the virtual machine. If the "Prefix" naming scheme is selected, NamingPrefix indicates the prefix to which a unique number is appended. |
optional | NamingScheme | String | named |
|
Specifies the naming scheme for the virtual machine. The following values are valid: Custom - Specifies that vCenter Server will launch an external application to generate the (hostname/IP). The command line for this application must be specified in the server configuration file (vpxd.cfg) in the vpxd/name-ip-generator key. Fixed - Specifies that the name is fixed. Prefix - Specifies that a unique name should be generated by concatenating the base string with a number. Virtual machine names are unique across the set of hosts and virtual machines known to the vCenter Server system. vCenter Server tracks the network names of virtual machines as well as hosts. VMware Tools runs in a guest operating system and reports information to vCenter Server, including the network name of the guest.Vm - Specifies that vCenter Server should generate a virtual machine name from a base prefix comprising the virtual machine entity name. A number is appended, if necessary, to make it unique. Virtual machine names are unique across the set of hosts and virtual machines known to the vCenter Server system. VMware Tools reports the names of existing virtual machines. |
optional | OSType | String | named |
|
Specifies the type of the operating system. The valid values are Linux and Windows. |
optional | ProgressAction | ActionPreference | named |
|
|
optional | Server | VIServer[] | named |
|
Specifies the vCenter Server systems on which you want to run the cmdlet. If no value is provided or $null value is passed to this parameter, the command runs on the default servers. For more information about default servers, see the description of Connect-VIServer. |
optional | Type | OSCustomizationSpecType | named |
|
Specifies the type of the OS customization specification. The valid values are Persistent and NonPersistent. |
Parameters
Required | Parameter Name | Type | Position | Features | Description |
---|---|---|---|---|---|
required
|
FullName | String | named |
|
Specifies the administrator's full name. This parameter applies only to Windows operating systems. |
required
|
OrgName | String | named |
|
Specifies the name of the organization to which the administrator belongs. |
optional | AdminPassword | String | named |
|
Specifies a new OS administrator's password. This parameter applies only to Windows operating systems. If not specified, the administrator's password is set to blank. |
optional | AutoLogonCount | Int32 | named |
|
Specifies the number of times the virtual machine automatically logs in as administrator without prompting for user credentials. The valid values are in the range between 0 and Int32.MaxValue. Specifying 0 deactivates auto log-on. This parameter applies only to Windows operating systems. |
optional | ChangeSid | SwitchParameter | named |
|
Indicates that the customization should modify the system security identifier (SID). This parameter applies only to Windows operating systems. |
optional | DeleteAccounts | SwitchParameter | named |
|
Indicates that you want to delete all user accounts. This parameter applies only to Windows operating systems. |
optional | Description | String | named |
|
Provides a description for the new specification. |
optional | DnsServer | String[] | named |
|
Specifies the DNS server settings. This parameter applies only to Linux operating systems. |
optional | DnsSuffix | String[] | named |
|
Specifies the DNS suffix settings. This parameter applies only to Linux operating systems. |
optional | Domain | String | named |
|
Specifies a domain name. |
optional | DomainCredentials | PSCredential | named |
|
Specifies the credentials you want to use for domain authentication. This parameter applies only to Windows operating systems. |
optional | DomainPassword | String | named |
|
Specifies the password you want to use for domain authentication. This parameter applies only to Windows operating systems. |
optional | DomainUsername | String | named |
|
Specifies the user name you want to use for domain authentication. This parameter applies only to Windows operating systems. |
optional | GuiRunOnce | String[] | named |
|
Specifies a list of commands. These commands run when a user logs in for the first time after the customization completes. This parameter applies only to Windows operating systems. |
optional | LicenseMaxConnections | Int32 | named |
|
Specifies the maximum connections for server license mode. Use this parameter only if the LicenseMode parameter is set to Perserver. This parameter applies only to Windows operating systems. |
optional | LicenseMode | LicenseMode | named |
|
Specifies the license mode of the Windows 2000/2003 guest operating system. The valid values are Perseat, Perserver, and Notspecified. If Perserver is set, use the LicenseMaxConnection parameter to define the maximum number of connections. This parameter applies only to Windows operating systems. |
optional | Name | String | named |
|
Specifies a name for the new specification. |
optional | NamingPrefix | String | named |
|
Depends on the customization naming scheme - Custom, NamingPrefix, or Prefix. If the "Custom" naming scheme is used, NamingPrefix is an optional argument that is passed to the utility for this IP address. The meaning of this field is user-defined in the script. If the "Fixed" naming scheme is used, NamingPrefix should indicate the name of the virtual machine. If the "Prefix" naming scheme is selected, NamingPrefix indicates the prefix to which a unique number is appended. |
optional | NamingScheme | String | named |
|
Specifies the naming scheme for the virtual machine. The following values are valid: Custom - Specifies that vCenter Server will launch an external application to generate the (hostname/IP). The command line for this application must be specified in the server configuration file (vpxd.cfg) in the vpxd/name-ip-generator key. Fixed - Specifies that the name is fixed. Prefix - Specifies that a unique name should be generated by concatenating the base string with a number. Virtual machine names are unique across the set of hosts and virtual machines known to the vCenter Server system. vCenter Server tracks the network names of virtual machines as well as hosts. VMware Tools runs in a guest operating system and reports information to vCenter Server, including the network name of the guest.Vm - Specifies that vCenter Server should generate a virtual machine name from a base prefix comprising the virtual machine entity name. A number is appended, if necessary, to make it unique. Virtual machine names are unique across the set of hosts and virtual machines known to the vCenter Server system. VMware Tools reports the names of existing virtual machines. |
optional | OSType | String | named |
|
Specifies the type of the operating system. The valid values are Linux and Windows. |
optional | ProductKey | String | named |
|
Specifies the MS product key. If the guest OS version is earlier than Vista, this parameter is required in order to make the customization unattended. For Vista or later, the OS customization is unattended no matter if the ProductKey parameter is set. |
optional | ProgressAction | ActionPreference | named |
|
|
optional | Server | VIServer[] | named |
|
Specifies the vCenter Server systems on which you want to run the cmdlet. If no value is provided or $null value is passed to this parameter, the command runs on the default servers. For more information about default servers, see the description of Connect-VIServer. |
optional | TimeZone | String | named |
|
Specifies the name or ID of the time zone for a Windows guest OS only. Using wildcards is supported. The following time zones are available: 000 Int'l Dateline 001 Samoa 002 Hawaii 003 Alaskan 004 Pacific 010 Mountain (U.S. and Canada) 015 U.S. Mountain: Arizona 020 Central (U.S. and Canada) 025 Canada Central 030 Mexico 033 Central America 035 Eastern (U.S. and Canada) 040 U.S. Eastern: Indiana (East) 045 S.A. Pacific 050 Atlantic (Canada) 055 S.A. Western 056 Pacific S.A. 060 Newfoundland 065 E. South America 070 S.A. Eastern 073 Greenland 075 Mid-Atlantic 080 Azores 083 Cape Verde Islands 085 GMT (Greenwich Mean Time) 090 GMT Greenwich 095 Central Europe 100 Central European 105 Romance 110 W. Europe 113 W. Central Africa 115 E. Europe 120 Egypt 125 EET (Helsinki, Riga, Tallinn) 130 EET (Athens, Istanbul, Minsk) 135 Israel: Jerusalem 140 S. Africa: Harare, Pretoria 145 Russian 150 Arab 155 E. Africa 160 Iran 165 Arabian 170 Caucasus Pacific (U.S. and Canada) 175 Afghanistan 180 Russia Yekaterinburg 185 W. Asia 190 India 193 Nepal 195 Central Asia 200 Sri Lanka 201 N. Central Asia 203 Myanmar: Rangoon 205 S.E. Asia 207 N. Asia 210 China 215 Singapore 220 Taipei 225 W. Australia 227 N. Asia East 230 Korea: Seoul 235 Tokyo 240 Sakha Yakutsk 245 A.U.S. Central: Darwin 250 Central Australia 255 A.U.S. Eastern 260 E. Australia 265 Tasmania 270 Vladivostok 275 W. Pacific 280 Central Pacific 285 Fiji 290 New Zealand 300 Tonga |
optional | Type | OSCustomizationSpecType | named |
|
Specifies the type of the OS customization specification. The valid values are Persistent and NonPersistent. |
optional | Workgroup | String | named |
|
Specifies a workgroup. This parameter applies only to Windows operating systems. |
Output
VMware.VimAutomation.ViCore.Types.V1.OSCustomization.OSCustomizationSpecExamples
Example 1
New-OSCustomizationSpec -Name Spec -OSType Windows -FullName Administrator -OrgName Organization -NamingScheme Fixed -NamingPrefix Computer -ProductKey "xxxx-xxxx" -LicenseMode PerSeat -Workgroup Workgroup -ChangeSid
Generates a new SID for the machine and sets the name of the machine to "Computer".
Example 2
New-OSCustomizationSpec -Name Spec -OSType Windows -Description "This spec adds a computer in a domain." -FullName Administrator -OrgName Organization -NamingScheme Fixed -NamingPrefix "Computer" -ProductKey "xxxx-xxxx" -LicenseMode Perserver -LicenseMaxConnections 30 -AdminPassword pass -Domain Domain -DomainUsername Root -DomainPassword pass
Creates a customization specification that adds a computer in the domain named "Domain".
Related Commands
OSCustomizationNicMapping
This cmdlet retrieves the configured NIC setting mappings for the specified OS customization specification.
This cmdlet adds NIC settings mappings to the specified OS customization specifications.
This cmdlet removes the specified OS customization NIC mappings.
This cmdlet modifies the provided OS customization NIC mappings.
OSCustomizationSpec
This cmdlet retrieves the OS customization specifications available on a vCenter Server system.
This cmdlet creates a new OS customization specification.
This cmdlet removes the specified OS customization specifications.
This cmdlet modifies the specified OS customization specification.