Public/LicenseInformation/Invoke-LicenseActivation.ps1
function Invoke-LicenseActivation { [CmdletBinding()] param ( # Specifies the My Milestone credentials to use for the license activation request [Parameter(mandatory)] [pscredential] $Credential, # Specifies whether the provided credentials should be saved and re-used for automatic license activation [Parameter()] [switch] $EnableAutomaticActivation, # Specifies that the result of Get-LicenseDetails should be passed into the pipeline after activatino [Parameter()] [switch] $Passthru ) process { $licenseInfo = Get-LicenseInfo $invokeResult = $licenseInfo.ActivateLicense($Credential.UserName, $Credential.Password, $EnableAutomaticActivation) do { $task = $invokeResult | Get-ConfigurationItem $state = $task | Get-ConfigurationItemProperty -Key State Write-Verbose ([string]::Join(', ', $task.Properties.Key)) Start-Sleep -Seconds 1 } while ($state -ne 'Error' -and $state -ne 'Success') if ($state -ne 'Success') { Write-Error ($task | Get-ConfigurationItemProperty -Key 'ErrorText') } if ($Passthru) { Get-LicenseDetails } } } |