Another question Sean Massey asked me if it is possible to register an instant clone domain administrator. This is possible using the instantcloneenginedomainadministrator service with the InstantCloneEngineDomainAdministrator_create method. This needs a spec with the following content:
- spec (vmware.hv.InstantCloneEngineDomainAdministratorSpec)
- base (vmware.hv.InstantCloneEngineDomainAdministratorBase)
- username (string)
- domain (domainid)
- password(vmware.hv.securestring)
- base (vmware.hv.InstantCloneEngineDomainAdministratorBase)
The password can be created using the same scriptlet I used to register a new vCenter server. The domain ID can actually be gotten by listing all domains using
$services1.ADDomain.addomain_list()
For now I have created a scripts that requires you to give some details so it can register the instant clone domain administrator. It can also be found on Github but I will also definitively add it to the vmware.hv.helper module.
$icausername=read-host "What username to use for instantclone administrator?" $icadomain=read-host "please give the dns name for the domain to user (i.e. domain.com)" $icapassword=read-host "vCenter User password?" -assecurestring $temppw = [System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($icaPassword) $PlainicaPassword = [System.Runtime.InteropServices.Marshal]::PtrToStringAuto($temppw) $icadminPassword = New-Object VMware.Hv.SecureString $enc = [system.Text.Encoding]::UTF8 $icadminPassword.Utf8String = $enc.GetBytes($PlainicaPassword) $spec=new-object vmware.hv.InstantCloneEngineDomainAdministratorSpec $spec.base=new-object vmware.hv.InstantCloneEngineDomainAdministratorBase $spec.base.domain=(($services1.ADDomain.addomain_list() | where {$_.DnsName -eq $icadomain} | select-object -first 1).id) $spec.base.username=$icausername $spec.base.password=$icadminpassword $services1.InstantCloneEngineDomainAdministrator.InstantCloneEngineDomainAdministrator_Create($spec)