< Back

New-OSCustomizationSpec

Sun Jan 19, 2020 7:00 pm

NAME New-OSCustomizationSpec



SYNOPSIS

This cmdlet creates a new OS customization specification.





SYNTAX

New-OSCustomizationSpec [-AdminPassword <String>] [-AutoLogonCount <Int32>] [-ChangeSid] [-DeleteAccounts]

[-Description <String>] [-DnsServer <String[]>] [-DnsSuffix <String[]>] [-Domain <String>] [-DomainCredentials

<PSCredential>] [-DomainPassword <String>] [-DomainUsername <String>] -FullName <String> [-GuiRunOnce <String[]>]

[-LicenseMaxConnections <Int32>] [-LicenseMode <LicenseMode>] [-Name <String>] [-NamingPrefix <String>]

[-NamingScheme <String>] -OrgName <String> [-OSType <String>] [-ProductKey <String>] [-Server <VIServer[]>]

[-TimeZone <String>] [-Type <OSCustomizationSpecType>] [-Workgroup <String>] [-Confirm] [-WhatIf]

[<CommonParameters>]



New-OSCustomizationSpec [-Description <String>] [-DnsServer <String[]>] [-DnsSuffix <String[]>] [-Domain <String>]

[-Name <String>] [-NamingPrefix <String>] [-NamingScheme <String>] [-OSType <String>] [-Server <VIServer[]>]

[-Type <OSCustomizationSpecType>] [-Confirm] [-WhatIf] [<CommonParameters>]



New-OSCustomizationSpec [-Name <String>] -OSCustomizationSpec <OSCustomizationSpec> [-Server <VIServer[]>] [-Type

<OSCustomizationSpecType>] [-Confirm] [-WhatIf] [<CommonParameters>]





DESCRIPTION

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.





PARAMETERS

-AdminPassword <String>

Specifies a new OS administrator's password. This parameter applies only to Windows operating systems.



Required? false

Position? named

Default value None

Accept pipeline input? False

Accept wildcard characters? false



-AutoLogonCount <Int32>

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 disables auto

log-on. This parameter applies only to Windows operating systems.



Required? false

Position? named

Default value 0

Accept pipeline input? False

Accept wildcard characters? false



-ChangeSid [<SwitchParameter>]

Indicates that the customization should modify the system security identifier (SID). This parameter applies

only to Windows operating systems.



Required? false

Position? named

Default value False

Accept pipeline input? False

Accept wildcard characters? false



-DeleteAccounts [<SwitchParameter>]

Indicates that you want to delete all user accounts. This parameter applies only to Windows operating systems.



Required? false

Position? named

Default value False

Accept pipeline input? False

Accept wildcard characters? false



-Description <String>

Provides a description for the new specification.



Required? false

Position? named

Default value Empty string

Accept pipeline input? False

Accept wildcard characters? false



-DnsServer <String[]>

Specifies the DNS server settings. This parameter applies only to Linux operating systems.



Required? false

Position? named

Default value None

Accept pipeline input? False

Accept wildcard characters? false



-DnsSuffix <String[]>

Specifies the DNS suffix settings. This parameter applies only to Linux operating systems.



Required? false

Position? named

Default value None

Accept pipeline input? False

Accept wildcard characters? false



-Domain <String>

Specifies a domain name.



Required? false

Position? named

Default value Empty string

Accept pipeline input? False

Accept wildcard characters? false



-DomainCredentials <PSCredential>

Specifies the credentials you want to use for domain authentication. This parameter applies only to Windows

operating systems.



Required? false

Position? named

Default value None

Accept pipeline input? False

Accept wildcard characters? false



-DomainPassword <String>

Specifies the password you want to use for domain authentication. This parameter applies only to Windows

operating systems.



Required? false

Position? named

Default value None

Accept pipeline input? False

Accept wildcard characters? false



-DomainUsername <String>

Specifies the user name you want to use for domain authentication. This parameter applies only to Windows

operating systems.



Required? false

Position? named

Default value None

Accept pipeline input? False

Accept wildcard characters? false



-FullName <String>

Specifies the administrator's full name. This parameter applies only to Windows operating systems.



Required? true

Position? named

Default value None

Accept pipeline input? False

Accept wildcard characters? false



-GuiRunOnce <String[]>

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.



Required? false

Position? named

Default value None

Accept pipeline input? False

Accept wildcard characters? false



-LicenseMaxConnections <Int32>

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.



Required? false

Position? named

Default value $null

Accept pipeline input? False

Accept wildcard characters? false



-LicenseMode <LicenseMode>

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.



Required? false

Position? named

Default value Notspecified

Accept pipeline input? False

Accept wildcard characters? false



-Name <String>

Specifies a name for the new specification.



Required? false

Position? named

Default value None

Accept pipeline input? False

Accept wildcard characters? false



-NamingPrefix <String>

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.



Required? false

Position? named

Default value Empty string

Accept pipeline input? False

Accept wildcard characters? false



-NamingScheme <String>

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.





Required? false

Position? named

Default value Vm

Accept pipeline input? False

Accept wildcard characters? false



-OrgName <String>

Specifies the name of the organization to which the administrator belongs.



Required? true

Position? named

Default value None

Accept pipeline input? False

Accept wildcard characters? false



-OSCustomizationSpec <OSCustomizationSpec>

Specifies an OS customization specification that you want to clone.



Required? true

Position? named

Default value None

Accept pipeline input? True (ByValue)

Accept wildcard characters? true



-OSType <String>

Specifies the type of the operating system. The valid values are Linux and Windows.



Required? false

Position? named

Default value Windows

Accept pipeline input? False

Accept wildcard characters? false



-ProductKey <String>

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.



Required? false

Position? named

Default value Empty string

Accept pipeline input? False

Accept wildcard characters? false



-Server <VIServer[]>

Specifies the vCenter Server systems on which you want to run the cmdlet. If no 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.



Required? false

Position? named

Default value None

Accept pipeline input? True (ByValue)

Accept wildcard characters? true



-TimeZone <String>

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





Required? false

Position? named

Default value None

Accept pipeline input? False

Accept wildcard characters? true



-Type <OSCustomizationSpecType>

Specifies the type of the OS customization specification. The valid values are Persistent and NonPersistent.



Required? false

Position? named

Default value None

Accept pipeline input? False

Accept wildcard characters? false



-Workgroup <String>

Specifies a workgroup. This parameter applies only to Windows operating systems.



Required? false

Position? named

Default value Empty string

Accept pipeline input? False

Accept wildcard characters? false



-Confirm [<SwitchParameter>]

If the value is $true, indicates that the cmdlet asks for confirmation before running. If the value is $false,

the cmdlet runs without asking for user confirmation.



Required? false

Position? named

Default value $true

Accept pipeline input? False

Accept wildcard characters? false



-WhatIf [<SwitchParameter>]

Indicates that the cmdlet is run only to display the changes that would be made and actually no objects are

modified.



Required? false

Position? named

Default value False

Accept pipeline input? False

Accept wildcard characters? false



<CommonParameters>

This cmdlet supports the common parameters: Verbose, Debug,

ErrorAction, ErrorVariable, WarningAction, WarningVariable,

OutBuffer, PipelineVariable, and OutVariable. For more information, see

about_CommonParameters (https:/go.microsoft.com/fwlink/?LinkID=113216).



INPUTS



OUTPUTS

The newly created OSCustomizationSpec object







NOTES





When the ProductKey parameter is not specified, the OS customization is unattended only if the Windows guest

operating system version is Vista or later.



-------------------------- 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 LINKS

Online Version: https://code.vmware.com/doc/preview?id= ... nSpec.html

Get-OSCustomizationSpec

Set-OSCustomizationSpec