When an action (script) is created in VCF Automation 8, it is possible to select different execution environments. Each of these execution environments
runs in a container. One of these execution environments is PowerCLI.
Information About the PowerCLI Infrastructure
VMware PowerCLI is a set of PowerShell cmdlets to manage and automate the VMware infrastructure. This approach also offers the possibility to use the dotNET, which is underlying of PowerShell. To know which dotNET version comes to use can be very important, e.g. to know which classes are available. Here an approach how to detect this information.
Write-Host "`n>>>Get-Host<<<"
$getHost = Get-Host
Write-Host "Name: $($getHost.Name)"
Write-Host "PSVersion: $($getHost.Version)"
Write-Host "CurrentCulture: $($getHost.CurrentCulture)"
Write-Host "CurrentUICulture: $($getHost.CurrentUICulture)"
Write-Host "`n>>>PSVersionTable<<<"
foreach ($PSInformation in $PSVersionTable.GetEnumerator()) {
Write-Host "$($PSInformation.Name) : $($PSInformation.Value)"
}
Write-Host "`n>>>System.Environment.Version<<<"
$version = [System.Environment]::Version
Write-Host "Common Language Runtime Version: $($version)"
Write-Host "`n>>>OS Release<<<"
$processInfo = New-Object System.Diagnostics.ProcessStartInfo
$processInfo.FileName = "cat"
$processInfo.RedirectStandardError = $true
$processInfo.RedirectStandardOutput = $true
$processInfo.UseShellExecute = $false
$processInfo.Arguments = "/etc/os-release"
$process = New-Object System.Diagnostics.Process
$process.StartInfo = $processInfo
$process.Start() | Out-Null
$process.WaitForExit()
$stdout = $process.StandardOutput.ReadToEnd()
Write-Host $stdout
|
Get-Host
The
Get-Host cmdlet represents the hosting PowerShell program. It provides information about the PowerShell version and that there is no setting for the
culture in the default, which has an effect on the date format, for example.
PSVersionTable
The automatic variable
$PSVersionTable delivers information about the PowerShell version and edition and we see here that we are working with a Photon operating system.
System.Environment.Version
The
System.Environment.Version property of the dotNET delivers information about the using common language runtime (CLR). From this interesting further information can already be derived.
OS Release
This file contain operating system identification data.
Conclusion
If you plan to
add a dotNET type, in the context of PowerCLI or PowerShell, it is very important to know which environment is used. The CLR and language support define our capabilities, so knowing that is very important.
Addendum
With the release 8.12 of Aria Automation offers the Orchestrator new runtime environments. One of these are PowerShell, without PowerCLI.
VCF Automation Release |
PowerShell Release |
PS Version |
CLR Version |
OS Version |
8.5.1.18666 | PowerCLI 12 (PowerShell 7.0) | 7.0.0 | 3.1.3 | |
8.9.0.24128 | PowerCLI 12 (PowerShell 7.1) | 7.1.5 | 5.0.11 | |
8.10.2.27406 | PowerCLI 12 (PowerShell 7.1) | 7.1.5 | 5.0.11 | |
8.11.0.27829 | PowerCLI 12 (PowerShell 7.1) | 7.1.7 | 5.0.16 | |
8.12.0.30728 | PowerCLI 12 (PowerShell 7.1) | 7.1.7 | 5.0.16 | |
8.12.0.30728 | PowerShell 7.3 | 7.3.3 | 7.0.3 | |
8.13.1.32340 | PowerCLI 12 (PowerShell 7.2) | 7.2.12 | 6.0.19 | |
8.13.1.32340 | PowerShell 7.3 | 7.3.6 | 7.0.9 | |
8.14.0.33079 | PowerCLI 12 (PowerShell 7.2) | 7.2.12 | 6.0.19 | |
8.14.0.33079 | PowerShell 7.3 | 7.3.6 | 7.0.9 | |
8.14.1.33478 | PowerCLI 12 (PowerShell 7.2) | 7.2.16 | 6.0.24 | |
8.14.1.33478 | PowerShell 7.3 | 7.3.9 | 7.0.13 | |
8.16.0.33697 | PowerCLI 12 (PowerShell 7.2) | 7.2.16 | 6.0.24 | |
8.16.0.33697 | PowerShell 7.3 | 7.3.9 | 7.0.13 | |
8.16.1.34314 | PowerCLI 12 (PowerShell 7.2) | 7.2.16 | 6.0.24 | |
8.16.1.34314 | PowerShell 7.3 | 7.3.9 | 7.0.13 | |
8.16.2.34725 | PowerCLI 12 (PowerShell 7.4) | 7.4.1 | 8.0.1 | Photon 4.0 |
8.16.2.34725 | PowerCLI 13 (PowerShell 7.4) | 7.4.1 | 8.0.1 | Photon 4.0 |
8.16.2.34725 | PowerShell 7.4 | 7.4.1 | 8.0.1 | Photon 4.0 |
8.17.0.35214 | PowerCLI 12 (PowerShell 7.4) | 7.4.1 | 8.0.1 | Photon 4.0 |
8.17.0.35214 | PowerCLI 13 (PowerShell 7.4) | 7.4.1 | 8.0.1 | Photon 4.0 |
8.17.0.35214 | PowerShell 7.4 | 7.4.1 | 8.0.1 | Photon 4.0 |
8.18.0.35770 | PowerCLI 12 (PowerShell 7.4) | 7.4.1 | 8.0.1 | Photon 4.0 |
8.18.0.35770 | PowerCLI 13 (PowerShell 7.4) | 7.4.1 | 8.0.1 | Photon 4.0 |
8.18.0.35770 | PowerShell 7.4 | 7.4.1 | 8.0.1 | Photon 4.0 |