2021-07-23 22:06:42 +02:00
|
|
|
|
<#
|
2020-04-09 09:57:20 -04:00
|
|
|
|
.NOTES
|
|
|
|
|
|
===========================================================================
|
|
|
|
|
|
Created with: SAPIEN Technologies, Inc., PowerShell Studio 2020 v5.7.172
|
|
|
|
|
|
Created on: 3/26/2020 14:25
|
|
|
|
|
|
Created by: Claussen
|
|
|
|
|
|
Organization: NEOnet
|
|
|
|
|
|
Filename: CreateEnum.ps1
|
|
|
|
|
|
===========================================================================
|
|
|
|
|
|
.DESCRIPTION
|
|
|
|
|
|
A description of the file.
|
|
|
|
|
|
#>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function CreateEnum {
|
|
|
|
|
|
[CmdletBinding()]
|
|
|
|
|
|
param
|
|
|
|
|
|
(
|
|
|
|
|
|
[Parameter(Mandatory = $true)]
|
|
|
|
|
|
[string]$EnumName,
|
2021-07-23 22:06:42 +02:00
|
|
|
|
|
2020-04-09 09:57:20 -04:00
|
|
|
|
[Parameter(Mandatory = $true)]
|
|
|
|
|
|
[pscustomobject]$Values,
|
2021-07-23 22:06:42 +02:00
|
|
|
|
|
2020-04-09 09:57:20 -04:00
|
|
|
|
[switch]$PassThru
|
|
|
|
|
|
)
|
2021-07-23 22:06:42 +02:00
|
|
|
|
|
2020-04-09 09:57:20 -04:00
|
|
|
|
$definition = @"
|
|
|
|
|
|
public enum $EnumName
|
|
|
|
|
|
{`n$(foreach ($value in $values) {
|
|
|
|
|
|
"`t$($value.label) = $($value.value),`n"
|
|
|
|
|
|
})
|
|
|
|
|
|
}
|
|
|
|
|
|
"@
|
|
|
|
|
|
if (-not ([System.Management.Automation.PSTypeName]"$EnumName").Type) {
|
|
|
|
|
|
#Write-Host $definition -ForegroundColor Green
|
|
|
|
|
|
Add-Type -TypeDefinition $definition -PassThru:$PassThru
|
|
|
|
|
|
} else {
|
|
|
|
|
|
Write-Warning "EnumType $EnumName already exists."
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|