PSOMSetting.psm1

function get-PSOMSetting
(
 [String]$configname = "default",
 $debuginfo  = 0
)
{
$settingFile = Get-ChildItem -path ($PSScriptRoot + "\Settings") -Filter ($configname + ".xml")
$settingFile | ForEach-Object {

#debug info
if ($debuginfo -gt 0 ) {

Write-Host "Configfile found: " $_
}

$conf = Import-Clixml -Path ($PSScriptRoot + "\Settings\" + $_)

return $conf
}

if (!$settingFile) {


Write-Host "Config File ($configname + ".psd1") not found"

}
}







function set-PSOMSetting
(
 [String]$configname = "default",
 [String]$OMDefaultDispatcher = "all",
 [Bool]$useHTTPS = $false,
 [Parameter(Mandatory=$True)]
 [String]$OMDBServer,
 [Parameter(Mandatory=$True)]
 [String]$OMWebserver,
 [Parameter(Mandatory=$True)]
 [String]$OMDB,
 $debugInfo = 0
)
{

#debug info
if ($debugInfo -gt 0 ) {

Write-Host "start"
}


$omconfig =
@{ 
    OMPSConfiguration =
    @(
        @{
            Name = ''
            OMDefaultDispatcher   = ''
            useHTTPS = $false
            OMDBServer = ''
            OMDB = ''
            OMWebserver = ''
        }
    )
}

$omconfig.Name = $configname
$omconfig.OMDefaultDispatcher = $OMDefaultDispatcher
$omconfig.useHTTPS = $useHTTPS
$omconfig.OMDBServer = $OMDBServer
$omconfig.OMDB = $OMDB
$omconfig.OMWebserver = $OMWebserver

$omconfig 

if (!(Test-Path ($PSScriptRoot + "\Settings\"))){

New-Item -ItemType Directory -Force -Path ($PSScriptRoot + "\Settings\")


}

$omconfig | Export-Clixml -Path ($PSScriptRoot + "\Settings\" + $configname + ".xml")

#debug info
if ($debugInfo -gt 0 ) {

Write-Host "Write configfile " ($PSScriptRoot + "\Settings\" + $configname + ".xml")

}
}

Export-ModuleMember -Function get-PSOMSetting
Export-ModuleMember -Function set-PSOMSetting