Preface

This document describes the functionality of the PowerShell plugin. The PowerShell plugin can be used to create Deployit extensions and plugins that require PowerShell scripts to be executed on the target platform. For example, the plugings for Windows, Internet Information Services (IIS) and BizTalk have been built on top of this plugin.

PowerShell step batching

The PowerShell plugin allows one to enable batching of multiple PowerShell steps into a single step. This will improve the throughput of large deployments at the cost of less granular steps.

By default batching is disabled, but it can be enabled to setting the hidden property powershell.BaseExtensiblePowerShellDeployed.batchSteps (or the batchSteps property on one its subtypes) to true.

The maximum number of steps that will be included in one batch can be controlled with the hidden property powershell.BaseExtensiblePowerShellDeployed.maxBatchSize (or the maxBatchSize property on one of its subtypes).

Next to these configurable options, the following restrictions are applied when batching steps:

  1. Only PowerShell steps generated by the type powershell.BaseExtensiblePowerShellDeployed or one of its subtypes are batched.
  2. Only steps that deploy to the same target container are batched.
  3. Only steps with identical orders are batched.
  4. Only steps that have identical 'verbs' are batched, e.g. 'Create appPool1 on iis' and 'Deploy website1 on iis' would not be batched, while 'Create appPool1 on iis' and 'Create website1 on iis' would be batched into 'Create appPool1, website1 on iis', provided they had the same order.
  5. Steps that have classpathResources are never batched.
  6. Even though at most maxBatchSize steps are batched together, the step description will never be longer than roughly 50 characters plus the name of the container.

CI Reference

Configuration Item Overview

Deployables

CI Description
powershell.BasePowerShellDeployable Description unavailable
powershell.BasePowerShellDeployableArchiveArtifact Description unavailable
powershell.BasePowerShellDeployableFileArtifact Description unavailable
powershell.BasePowerShellDeployableFolderArtifact Description unavailable

Deployeds

CI Description
powershell.BaseExtensiblePowerShellDeployed Description unavailable
powershell.BasePowerShellDeployed Description unavailable
powershell.ExtensiblePowerShellDeployed Base class for all extensible PowerShell deployed resource configuration items
powershell.ExtensiblePowerShellDeployedArtifact Base class for all extensible PowerShell deployed artifact configuration items

Containers

CI Description
powershell.BasePowerShellContainer Description unavailable

Other Configuration Items

CI Description
powershell.BaseExtensiblePowerShellDeployed Description unavailable
powershell.BasePowerShellContainer Description unavailable
powershell.BasePowerShellDeployable Description unavailable
powershell.BasePowerShellDeployableArchiveArtifact Description unavailable
powershell.BasePowerShellDeployableFileArtifact Description unavailable
powershell.BasePowerShellDeployableFolderArtifact Description unavailable
powershell.BasePowerShellDeployed Description unavailable
powershell.ExtensiblePowerShellDeployed Base class for all extensible PowerShell deployed resource configuration items
powershell.ExtensiblePowerShellDeployedArtifact Base class for all extensible PowerShell deployed artifact configuration items

Configuration Item Details

powershell.BaseExtensiblePowerShellDeployed

Virtual Type
Type Hierarchy powershell.BasePowerShellDeployed >> udm.BaseDeployed >> udm.BaseConfigurationItem
Interfaces udm.EmbeddedDeployedContainer, udm.Deployed, udm.ConfigurationItem

Description unavailable

Parent
 
 
container : CI<udm.Container>
The container on which this deployed runs.
Public Properties
 
 
deployable : CI<udm.Deployable>
The deployable that this deployed is derived from.
 
 
startOnCreate : BOOLEAN  = true
If set to true, the start script will be executed if this deployed is being created.
 
 
stopOnDestroy : BOOLEAN  = true
If set to true, the stop script will be executed if this deployed is being destroyed.
 
 
stopStartOnModify : BOOLEAN  = true
If set to true, the stop and start scripts will be executed if this deployed is being modified.
 
 
stopStartOnNoop : BOOLEAN  = true
If set to true, the stop and start scripts will be executed if this deployable is not being modified.
Hidden Properties
 
 
createOptions : SET_OF_STRING  = [uploadArtifactData, uploadClasspathResources]
Options for the create step (1 or more of: none,uploadArtifactData,uploadClasspathResources,exposeDeployedApplication,exposePreviousDeployed).
 
 
createOrder : INTEGER  = 60
Order at which the create step will be executed.
 
 
createVerb : STRING  = Create
Verb that is used to prefix the description for the create step.
 
 
destroyOptions : SET_OF_STRING  = [uploadClasspathResources]
Options for the destroy step (1 or more of: none,uploadArtifactData,uploadClasspathResources,exposeDeployedApplication,exposePreviousDeployed).
 
 
destroyOrder : INTEGER  = 40
Order at which the destroy step will be executed.
 
 
destroyVerb : STRING  = Destroy
Verb that is used to prefix the description for the destroy step.
 
 
discoverOrder : INTEGER  = 50
Order at which the discover step will be executed.
 
 
maxBatchSize : INTEGER  = 100
Maximum number of steps in a batch.
 
 
modifyOptions : SET_OF_STRING  = [uploadArtifactData, uploadClasspathResources]
Options for the modify step (1 or more of: none,uploadArtifactData,uploadClasspathResources,exposeDeployedApplication,exposePreviousDeployed).
 
 
modifyOrder : INTEGER  = 60
Order at which the modify step will be executed.
 
 
modifyVerb : STRING  = Modify
Verb that is used to prefix the description for the modify step.
 
 
noopOptions : SET_OF_STRING  = [uploadClasspathResources]
Options for the noop step (1 or more of: none,uploadArtifactData,uploadClasspathResources,exposeDeployedApplication,exposePreviousDeployed).
 
 
noopOrder : INTEGER  = 50
Order at which the noop step will be executed.
 
 
noopVerb : STRING  = Noop
Verb that is used to prefix the description for the noop step.
 
 
startOptions : SET_OF_STRING  = [uploadClasspathResources]
Options for the start step (1 or more of: none,uploadArtifactData,uploadClasspathResources,exposeDeployedApplication,exposePreviousDeployed).
 
 
startOrder : INTEGER  = 90
Order at which the start step will be executed.
 
 
startVerb : STRING  = Start
Verb that is used to prefix the description for the start step.
 
 
stopOptions : SET_OF_STRING  = [uploadClasspathResources]
Options for the stop step (1 or more of: none,uploadArtifactData,uploadClasspathResources,exposeDeployedApplication,exposePreviousDeployed).
 
 
stopOrder : INTEGER  = 10
Order at which the stop script will be executed.
 
 
stopVerb : STRING  = Stop
Verb that is used to prefix the description for the stop step.
 
 
batchSteps : BOOLEAN  = false
If set to true, multiple steps at the same order will be batched together in one batch to improve performance over high-latency WinRM connections
 
 
classpathResources : SET_OF_STRING
Additional classpath resources that should be uploaded to the working directory before executing the script.
 
 
createScript : STRING
PowerShell script invoked to create a resource (or deploy an artifact) on Windows.
 
 
destroyScript : STRING
PowerShell script invoked to destroy a resource (or undeploy an artifact) on Windows.
 
 
discoverScript : STRING
Script invoked to discover and inspect deployeds of this type.
 
 
libraryScripts : LIST_OF_STRING
List of scripts to append to the the step script.
 
 
modifyScript : STRING
PowerShell script invoked to modify a resource (or an artifact) on Windows.
 
 
noopScript : STRING
PowerShell script invoked to noop a resource or an artifact on Windows.
 
 
startScript : STRING
PowerShell script invoked to start a resource of an artifact on Windows.
 
 
stopScript : STRING
PowerShell script invoked to stop a resource or an artifact on Windows.

powershell.BasePowerShellContainer

Virtual Type
Type Hierarchy udm.BaseContainer >> udm.BaseConfigurationItem
Interfaces udm.Taggable, powershell.PowerShellContainer, udm.ConfigurationItem, udm.Container, overthere.HostContainer

Description unavailable

Parent
 
 
host : CI<overthere.Host>
Host upon which the container resides
Public Properties
 
 
tags : SET_OF_STRING
If set, only deployables with the same tag will be automatically mapped to this container.
Hidden Properties
 
 
discoverOrder : INTEGER  = 0
Order at which the discover step will be executed.
 
 
deployedsToDiscover : SET_OF_STRING
Deployeds To Discover
 
 
discoverScript : STRING
Script invoked to inspect this container and discover deployeds on it.
 
 
libraryScripts : LIST_OF_STRING  = [powershell/runtime/base.ps1]
List of scripts to append to the the step script.
 
 
powerShellPath : STRING  = powershell
Power Shell Path

powershell.BasePowerShellDeployable

Virtual Type
Type Hierarchy udm.BaseDeployable >> udm.BaseConfigurationItem
Interfaces udm.Taggable, udm.Deployable, udm.ConfigurationItem

Description unavailable

Public Properties
 
 
tags : SET_OF_STRING
If set, this deployable will only be mapped automatically to containers with the same tag.

powershell.BasePowerShellDeployableArchiveArtifact

Virtual Type
Type Hierarchy udm.BaseDeployableArchiveArtifact >> udm.BaseDeployableFileArtifact >> udm.BaseDeployableArtifact >> udm.BaseDeployable >> udm.BaseConfigurationItem
Interfaces udm.Taggable, udm.Deployable, udm.SourceArtifact, udm.ArchiveArtifact, udm.Artifact, udm.DeployableArtifact, udm.ConfigurationItem, udm.FileArtifact

Description unavailable

Public Properties
 
 
checksum : STRING
The checksum used to detect differences on the artifact. If not provided, it will be calculated by Deployit.
 
 
excludeFileNamesRegex : STRING
Regular expression that matches file names that must be excluded from scanning
 
 
placeholders : SET_OF_STRING
Placeholders detected in this artifact
 
 
scanPlaceholders : BOOLEAN  = false
Whether to scan this artifact for placeholders when it is imported
 
 
tags : SET_OF_STRING
If set, this deployable will only be mapped automatically to containers with the same tag.
Hidden Properties
 
 
textFileNamesRegex : STRING  = .+\.(cfg | conf | config | ini | properties | props | txt | asp | aspx | htm | html | jsf | jsp | xht | xhtml | sql | xml | xsd | xsl | xslt)
Regular expression that matches file names of text files
 
 
delimiters : STRING  = {{ }}
The delimiters used indicate placeholders, defaults to '{{ }}'. This is a 5 character string with a space in the middle, the first two are the leading delimiter, the last two are the closing delimiter
 
 
fileEncodings : MAP_STRING_STRING  = {.+\.properties=ISO-8859-1}
A map that maps regular expressions matching the full path of file(s) in the artifact to character set encodings

powershell.BasePowerShellDeployableFileArtifact

Virtual Type
Type Hierarchy udm.BaseDeployableFileArtifact >> udm.BaseDeployableArtifact >> udm.BaseDeployable >> udm.BaseConfigurationItem
Interfaces udm.Taggable, udm.Deployable, udm.SourceArtifact, udm.Artifact, udm.DeployableArtifact, udm.ConfigurationItem, udm.FileArtifact

Description unavailable

Public Properties
 
 
checksum : STRING
The checksum used to detect differences on the artifact. If not provided, it will be calculated by Deployit.
 
 
excludeFileNamesRegex : STRING
Regular expression that matches file names that must be excluded from scanning
 
 
placeholders : SET_OF_STRING
Placeholders detected in this artifact
 
 
scanPlaceholders : BOOLEAN  = true
Whether to scan this artifact for placeholders when it is imported
 
 
tags : SET_OF_STRING
If set, this deployable will only be mapped automatically to containers with the same tag.
Hidden Properties
 
 
textFileNamesRegex : STRING  = .+\.(cfg | conf | config | ini | properties | props | txt | asp | aspx | htm | html | jsf | jsp | xht | xhtml | sql | xml | xsd | xsl | xslt)
Regular expression that matches file names of text files
 
 
delimiters : STRING  = {{ }}
The delimiters used indicate placeholders, defaults to '{{ }}'. This is a 5 character string with a space in the middle, the first two are the leading delimiter, the last two are the closing delimiter
 
 
fileEncodings : MAP_STRING_STRING  = {.+\.properties=ISO-8859-1}
A map that maps regular expressions matching the full path of file(s) in the artifact to character set encodings

powershell.BasePowerShellDeployableFolderArtifact

Virtual Type
Type Hierarchy udm.BaseDeployableFolderArtifact >> udm.BaseDeployableArtifact >> udm.BaseDeployable >> udm.BaseConfigurationItem
Interfaces udm.Taggable, udm.Deployable, udm.SourceArtifact, udm.Artifact, udm.DeployableArtifact, udm.ConfigurationItem, udm.FolderArtifact

Description unavailable

Public Properties
 
 
checksum : STRING
The checksum used to detect differences on the artifact. If not provided, it will be calculated by Deployit.
 
 
excludeFileNamesRegex : STRING
Regular expression that matches file names that must be excluded from scanning
 
 
placeholders : SET_OF_STRING
Placeholders detected in this artifact
 
 
scanPlaceholders : BOOLEAN  = true
Whether to scan this artifact for placeholders when it is imported
 
 
tags : SET_OF_STRING
If set, this deployable will only be mapped automatically to containers with the same tag.
Hidden Properties
 
 
textFileNamesRegex : STRING  = .+\.(cfg | conf | config | ini | properties | props | txt | asp | aspx | htm | html | jsf | jsp | xht | xhtml | sql | xml | xsd | xsl | xslt)
Regular expression that matches file names of text files
 
 
delimiters : STRING  = {{ }}
The delimiters used indicate placeholders, defaults to '{{ }}'. This is a 5 character string with a space in the middle, the first two are the leading delimiter, the last two are the closing delimiter
 
 
fileEncodings : MAP_STRING_STRING  = {.+\.properties=ISO-8859-1}
A map that maps regular expressions matching the full path of file(s) in the artifact to character set encodings

powershell.BasePowerShellDeployed

Virtual Type
Type Hierarchy udm.BaseDeployed >> udm.BaseConfigurationItem
Interfaces udm.EmbeddedDeployedContainer, udm.Deployed, udm.ConfigurationItem

Description unavailable

Parent
 
 
container : CI<udm.Container>
The container on which this deployed runs.
Public Properties
 
 
deployable : CI<udm.Deployable>
The deployable that this deployed is derived from.
Hidden Properties
 
 
discoverOrder : INTEGER  = 50
Order at which the discover step will be executed.
 
 
classpathResources : SET_OF_STRING
Additional classpath resources that should be uploaded to the working directory before executing the script.
 
 
discoverScript : STRING
Script invoked to discover and inspect deployeds of this type.
 
 
libraryScripts : LIST_OF_STRING
List of scripts to append to the the step script.

powershell.ExtensiblePowerShellDeployed

Virtual Type
Type Hierarchy powershell.BaseExtensiblePowerShellDeployed >> powershell.BasePowerShellDeployed >> udm.BaseDeployed >> udm.BaseConfigurationItem
Interfaces udm.EmbeddedDeployedContainer, udm.Deployed, udm.ConfigurationItem

Base class for all extensible PowerShell deployed resource configuration items.

Parent
 
 
container : CI<udm.Container>
The container on which this deployed runs.
Public Properties
 
 
deployable : CI<udm.Deployable>
The deployable that this deployed is derived from.
 
 
startOnCreate : BOOLEAN  = true
If set to true, the start script will be executed if this deployed is being created.
 
 
stopOnDestroy : BOOLEAN  = true
If set to true, the stop script will be executed if this deployed is being destroyed.
 
 
stopStartOnModify : BOOLEAN  = true
If set to true, the stop and start scripts will be executed if this deployed is being modified.
 
 
stopStartOnNoop : BOOLEAN  = true
If set to true, the stop and start scripts will be executed if this deployable is not being modified.
Hidden Properties
 
 
createOptions : SET_OF_STRING  = [uploadArtifactData, uploadClasspathResources]
Options for the create step (1 or more of: none,uploadArtifactData,uploadClasspathResources,exposeDeployedApplication,exposePreviousDeployed).
 
 
createOrder : INTEGER  = 60
Order at which the create step will be executed.
 
 
createVerb : STRING  = Create
Verb that is used to prefix the description for the create step.
 
 
destroyOptions : SET_OF_STRING  = [uploadClasspathResources]
Options for the destroy step (1 or more of: none,uploadArtifactData,uploadClasspathResources,exposeDeployedApplication,exposePreviousDeployed).
 
 
destroyOrder : INTEGER  = 40
Order at which the destroy step will be executed.
 
 
destroyVerb : STRING  = Destroy
Verb that is used to prefix the description for the destroy step.
 
 
discoverOrder : INTEGER  = 50
Order at which the discover step will be executed.
 
 
maxBatchSize : INTEGER  = 100
Maximum number of steps in a batch.
 
 
modifyOptions : SET_OF_STRING  = [uploadArtifactData, uploadClasspathResources]
Options for the modify step (1 or more of: none,uploadArtifactData,uploadClasspathResources,exposeDeployedApplication,exposePreviousDeployed).
 
 
modifyOrder : INTEGER  = 60
Order at which the modify step will be executed.
 
 
modifyVerb : STRING  = Modify
Verb that is used to prefix the description for the modify step.
 
 
noopOptions : SET_OF_STRING  = [uploadClasspathResources]
Options for the noop step (1 or more of: none,uploadArtifactData,uploadClasspathResources,exposeDeployedApplication,exposePreviousDeployed).
 
 
noopOrder : INTEGER  = 50
Order at which the noop step will be executed.
 
 
noopVerb : STRING  = Noop
Verb that is used to prefix the description for the noop step.
 
 
startOptions : SET_OF_STRING  = [uploadClasspathResources]
Options for the start step (1 or more of: none,uploadArtifactData,uploadClasspathResources,exposeDeployedApplication,exposePreviousDeployed).
 
 
startOrder : INTEGER  = 90
Order at which the start step will be executed.
 
 
startVerb : STRING  = Start
Verb that is used to prefix the description for the start step.
 
 
stopOptions : SET_OF_STRING  = [uploadClasspathResources]
Options for the stop step (1 or more of: none,uploadArtifactData,uploadClasspathResources,exposeDeployedApplication,exposePreviousDeployed).
 
 
stopOrder : INTEGER  = 10
Order at which the stop script will be executed.
 
 
stopVerb : STRING  = Stop
Verb that is used to prefix the description for the stop step.
 
 
batchSteps : BOOLEAN  = false
If set to true, multiple steps at the same order will be batched together in one batch to improve performance over high-latency WinRM connections
 
 
classpathResources : SET_OF_STRING
Additional classpath resources that should be uploaded to the working directory before executing the script.
 
 
createScript : STRING
PowerShell script invoked to create a resource (or deploy an artifact) on Windows.
 
 
destroyScript : STRING
PowerShell script invoked to destroy a resource (or undeploy an artifact) on Windows.
 
 
discoverScript : STRING
Script invoked to discover and inspect deployeds of this type.
 
 
libraryScripts : LIST_OF_STRING
List of scripts to append to the the step script.
 
 
modifyScript : STRING
PowerShell script invoked to modify a resource (or an artifact) on Windows.
 
 
noopScript : STRING
PowerShell script invoked to noop a resource or an artifact on Windows.
 
 
startScript : STRING
PowerShell script invoked to start a resource of an artifact on Windows.
 
 
stopScript : STRING
PowerShell script invoked to stop a resource or an artifact on Windows.

powershell.ExtensiblePowerShellDeployedArtifact

Virtual Type
Type Hierarchy powershell.BaseExtensiblePowerShellDeployed >> powershell.BasePowerShellDeployed >> udm.BaseDeployed >> udm.BaseConfigurationItem
Interfaces udm.EmbeddedDeployedContainer, udm.Artifact, udm.Deployed, udm.ConfigurationItem, udm.DerivedArtifact

Base class for all extensible PowerShell deployed artifact configuration items.

Parent
 
 
container : CI<udm.Container>
The container on which this deployed runs.
Public Properties
 
 
deployable : CI<udm.Deployable>
The deployable that this deployed is derived from.
 
 
placeholders : MAP_STRING_STRING
A Map containing all the placeholders mapped to their values. Special values are or
 
 
startOnCreate : BOOLEAN  = true
If set to true, the start script will be executed if this deployed is being created.
 
 
stopOnDestroy : BOOLEAN  = true
If set to true, the stop script will be executed if this deployed is being destroyed.
 
 
stopStartOnModify : BOOLEAN  = true
If set to true, the stop and start scripts will be executed if this deployed is being modified.
 
 
stopStartOnNoop : BOOLEAN  = true
If set to true, the stop and start scripts will be executed if this deployable is not being modified.
Hidden Properties
 
 
createOptions : SET_OF_STRING  = [uploadArtifactData, uploadClasspathResources]
Options for the create step (1 or more of: none,uploadArtifactData,uploadClasspathResources,exposeDeployedApplication,exposePreviousDeployed).
 
 
createOrder : INTEGER  = 60
Order at which the create step will be executed.
 
 
createVerb : STRING  = Create
Verb that is used to prefix the description for the create step.
 
 
destroyOptions : SET_OF_STRING  = [uploadClasspathResources]
Options for the destroy step (1 or more of: none,uploadArtifactData,uploadClasspathResources,exposeDeployedApplication,exposePreviousDeployed).
 
 
destroyOrder : INTEGER  = 40
Order at which the destroy step will be executed.
 
 
destroyVerb : STRING  = Destroy
Verb that is used to prefix the description for the destroy step.
 
 
discoverOrder : INTEGER  = 50
Order at which the discover step will be executed.
 
 
maxBatchSize : INTEGER  = 100
Maximum number of steps in a batch.
 
 
modifyOptions : SET_OF_STRING  = [uploadArtifactData, uploadClasspathResources]
Options for the modify step (1 or more of: none,uploadArtifactData,uploadClasspathResources,exposeDeployedApplication,exposePreviousDeployed).
 
 
modifyOrder : INTEGER  = 60
Order at which the modify step will be executed.
 
 
modifyVerb : STRING  = Modify
Verb that is used to prefix the description for the modify step.
 
 
noopOptions : SET_OF_STRING  = [uploadClasspathResources]
Options for the noop step (1 or more of: none,uploadArtifactData,uploadClasspathResources,exposeDeployedApplication,exposePreviousDeployed).
 
 
noopOrder : INTEGER  = 50
Order at which the noop step will be executed.
 
 
noopVerb : STRING  = Noop
Verb that is used to prefix the description for the noop step.
 
 
startOptions : SET_OF_STRING  = [uploadClasspathResources]
Options for the start step (1 or more of: none,uploadArtifactData,uploadClasspathResources,exposeDeployedApplication,exposePreviousDeployed).
 
 
startOrder : INTEGER  = 90
Order at which the start step will be executed.
 
 
startVerb : STRING  = Start
Verb that is used to prefix the description for the start step.
 
 
stopOptions : SET_OF_STRING  = [uploadClasspathResources]
Options for the stop step (1 or more of: none,uploadArtifactData,uploadClasspathResources,exposeDeployedApplication,exposePreviousDeployed).
 
 
stopOrder : INTEGER  = 10
Order at which the stop script will be executed.
 
 
stopVerb : STRING  = Stop
Verb that is used to prefix the description for the stop step.
 
 
batchSteps : BOOLEAN  = false
If set to true, multiple steps at the same order will be batched together in one batch to improve performance over high-latency WinRM connections
 
 
classpathResources : SET_OF_STRING
Additional classpath resources that should be uploaded to the working directory before executing the script.
 
 
createScript : STRING
PowerShell script invoked to create a resource (or deploy an artifact) on Windows.
 
 
destroyScript : STRING
PowerShell script invoked to destroy a resource (or undeploy an artifact) on Windows.
 
 
discoverScript : STRING
Script invoked to discover and inspect deployeds of this type.
 
 
libraryScripts : LIST_OF_STRING
List of scripts to append to the the step script.
 
 
modifyScript : STRING
PowerShell script invoked to modify a resource (or an artifact) on Windows.
 
 
noopScript : STRING
PowerShell script invoked to noop a resource or an artifact on Windows.
 
 
startScript : STRING
PowerShell script invoked to start a resource of an artifact on Windows.
 
 
stopScript : STRING
PowerShell script invoked to stop a resource or an artifact on Windows.