DSCResources/SYN_SynergyDE32/SYN_SynergyDE32.psm1
DATA localizedData { #culture en-US ConvertFrom-StringData @' InstallerFileNotFound = The installer file was not found at '{0}' '@ } # Import the common Synergy functions Import-Module -Name ( Join-Path ` -Path(Split-Path -Path $PSSCriptRoot -Parent) ` -ChildPath '\SynergyInstallCommon\SynergyInstallCommon.psm1') function Get-TargetResource { [CmdletBinding()] [OutputType([System.Collections.Hashtable])] param () @( Intaller file location = $Installerfile Desired install state = $Ensure Install core components = $CoreComponents Install Profressional Series Development = $ProfessionalSeriesDevelopmentEnvironment Install Connectivity Series = $ConnectivitySeries Install xfSeries = $xfSeries Install Report Writer = $ReportWriter Install Examples = $Examples Install Files for Shared Installation = $FilesForSharedInstallation ) } function Set-TargetResource { [CmdletBinding()] param ( # Should Connectivity Series be installed [Parameter()] [ValidateSet('Present', 'Absent')] [String] $ConnectivitySeries = 'Present', # Should Core Components be installed [Parameter()] [ValidateSet('Present', 'Absent')] [String] $CoreComponents = 'Present', # Should the product be installed or uninstalled [Parameter()] [ValidateSet('Present', 'Absent')] [String] $Ensure = 'Present', # Should examples be installed [Parameter()] [ValidateSet('Present', 'Absent')] [String] $Examples = 'Absent', # Should files for shared installation be installed [Parameter()] [ValidateSet('Present', 'Absent')] [String] $FilesForSharedInstallation = 'Absent', # Installation asset location [Parameter(Mandatory = $true)] [String] $InstallerFile, # Should Professional Series Development Environment be installed [Parameter()] [ValidateSet('Present', 'Absent')] [String] $ProfessionalSeriesDevelopmentEnvironment = 'Absent', # Should Professional Series Workbench be installed [Parameter()] [ValidateSet('Present', 'Absent')] [String] $ProfessionalSeriesWorkbench = 'Present', # Should Report Writer be installed [Parameter()] [ValidateSet('Present', 'Absent')] [String] $ReportWriter = 'Absent', # Should xfSeries be installed [Parameter()] [ValidateSet('Present', 'Absent')] [String] $xfSeries = 'Present' ) $argString = "/qb " if ($CoreComponents -eq "Present") { $argString += "CC" } if ($ConnectivitySeries -eq "Present") { $argString += ",CN" } if ($xfSeries -eq "Present") { $argString += ",XS" } if ($ProfessionalSeriesDevelopmentEnvironment -eq "Present") { $argString += ",PS" } if ($FilesForSharedInstallation -eq "Present") { $argString += ",SC" } if ($Examples -eq "Present") { $argString += ",EG" } if ($ReportWriter -eq "Present") { $argString += ",RW" } $argString += " " Install-Synergy-Product -Name "SDE64" -Path $InstallerFile -ProductId EA306101-652D-48C6-866E-A19B694F1BB8 -Arguments $argString } function Test-TargetResource { [CmdletBinding()] [OutputType([System.Boolean])] param ( # Should Connectivity Series be installed [Parameter()] [ValidateSet('Present', 'Absent')] [String] $ConnectivitySeries = 'Present', # Should Core Components be installed [Parameter()] [ValidateSet('Present', 'Absent')] [String] $CoreComponents = 'Present', # Should the product be installed or uninstalled [Parameter()] [ValidateSet('Present', 'Absent')] [String] $Ensure = 'Present', # Should examples be installed [Parameter()] [ValidateSet('Present', 'Absent')] [String] $Examples = 'Absent', # Should files for shared installation be installed [Parameter()] [ValidateSet('Present', 'Absent')] [String] $FilesForSharedInstallation = 'Absent', # Installation asset location [Parameter(Mandatory = $true)] [String] $InstallerFile, # Should Professional Series Development Environment be installed [Parameter()] [ValidateSet('Present', 'Absent')] [String] $ProfessionalSeriesDevelopmentEnvironment = 'Absent', # Should Professional Series Workbench be installed [Parameter()] [ValidateSet('Present', 'Absent')] [String] $ProfessionalSeriesWorkbench = 'Present', # Should Report Writer be installed [Parameter()] [ValidateSet('Present', 'Absent')] [String] $ReportWriter = 'Absent', # Should xfSeries be installed [Parameter()] [ValidateSet('Present', 'Absent')] [String] $xfSeries = 'Present' ) if (-NOT (Test-Path $InstallerFile)) { Throw($localizedData.InstallerFileNotFound -f $InstallerFile) } } Export-ModuleMember -Function *-TargetResource |