ConvertMethods.ps1
# # Citrix IPS convert image to UEFI job support # function Format-ConvertData([string]$Platform, [hashtable]$Parameters, [bool]$Verbose=$False) { $convertData = Format-JobData -Platform $Platform -Parameters $Parameters -Verbose $Verbose Set-SmbInputLocation -Parameters $Parameters -JobData $convertData -Verbose $Verbose $convertData['inputImageFilename'] = Get-SmbParameter -Parameters $Parameters -SmbConfigNode $SmbSectionName -ParameterName 'SmbDiskName' -Verbose $Verbose $convertData['inputImageFormat'] = Get-SmbParameter -Parameters $Parameters -SmbConfigNode $SmbSectionName -ParameterName 'SmbDiskFormat' -Verbose $Verbose $convertData['outputImageFilename'] = Get-SmbParameter -Parameters $Parameters -SmbConfigNode $SmbSectionName -ParameterName 'SmbOutputDiskName' -Verbose $Verbose $convertData['overwriteOutput'] = $Parameters.Contains('Force') -And $Parameters.Force return $convertData } function Set-PvsServer([hashtable]$Parameters, [hashtable]$JobData, [bool]$Verbose=$False) { $SslCaCertificateFilePath = Get-JobParameter -Parameters $Parameters "PvsSslCaCertificateFilePath" -Verbose $Verbose $SslCaCertificate = Get-JobParameter -Parameters $Parameters "PvsSslCaCertificate" -Verbose $Verbose if ($SslCaCertificateFilePath -And (Test-Path -Path $SslCaCertificateFilePath -PathType "Leaf")) { $SslCaCertificate = ((Get-Content $SslCaCertificateFilePath) -join "`n") + "`n" } elseif ($VsphereSslCaCertificate) { # Replace raw string \n -> PowerShell-readable `n $SslCaCertificate = $SslCaCertificate.replace("\n", "`n") } $JobData['pvsServer'] = @{ host = Get-JobParameter -Parameters $Parameters -ParameterName "PvsHost" -Verbose $Verbose port = Get-JobParameter -Parameters $Parameters -ParameterName "PvsPort" -Verbose $Verbose credentialId = Get-JobParameter -Parameters $Parameters -ParameterName "PvsCwId" -Verbose $Verbose sslCaCertificate = $SslCaCertificate sslFingerprint = Get-JobParameter -Parameters $Parameters -ParameterName "PvsSslFingerprint" -Verbose $Verbose sslNoCheckHostname = Get-JobParameter -Parameters $Parameters -ParameterName "PvsSslNoCheckHostname" -Verbose $Verbose } } function Format-ConvertPvsDiskData([string]$Platform, [hashtable]$Parameters, [bool]$Verbose=$False) { $convertData = Format-JobData -Platform $Platform -Parameters $Parameters -Verbose $Verbose Set-PvsServer -Parameters $Parameters -JobData $convertData -Verbose $Verbose $convertData['pvsSiteName'] = Get-JobParameter -Parameters $Parameters -ParameterName "PvsSiteName" -Verbose $Verbose $convertData['pvsStoreName'] = Get-JobParameter -Parameters $Parameters -ParameterName "PvsStoreName" -Verbose $Verbose $convertData['pvsDiskName'] = Get-JobParameter -Parameters $Parameters -ParameterName "PvsDiskName" -Verbose $Verbose $convertData['smbCwId'] = Get-JobParameter -Parameters $Parameters -ParameterName "SmbCwId" -Verbose $Verbose $convertData['outputImageFilename'] = Get-JobParameter -Parameters $Parameters -ParameterName "PvsOutputDiskName" -Verbose $Verbose return $convertData } |