Get-WebConfigurationSetting.ps1
function Get-WebConfigurationSetting { <# .Synopsis Gets settings from web configuration .Description Gets appSettings from web configuration file .Example Get-WebConfigurationSetting "MySetting" .Link ConvertTo-ModuleService #> [OutputType([Object])] param( # The name of the setting [Parameter(Mandatory=$true,Position=0,ValueFromPipelineByPropertyName=$true,ValueFromPipeline=$true)] [Alias('Name')] [string]$Setting ) process { #region Load Config Store # If the $request variable and Path_Info variable are found, use the nearby web.config if ($Request -and $request.Params -and $request.Params['Path_Info']) { $path ="$((Split-Path $request['Path_Info']))" $webConfigStore = [Web.Configuration.WebConfigurationManager]::OpenWebConfiguration($path) } else { # Otherwise, try the one at the local path try { $webConfigStore = [Web.Configuration.WebConfigurationManager]::OpenWebConfiguration($pwd) } catch { } } #endregion Load Config Store if (-not $webConfigStore) { return} #region Get the custom setting $customSetting = $webConfigStore.AppSettings.Settings["$Setting"]; # If there is a value, return it. if ($CustomSetting) { $CustomSetting.Value } #endregion Get the custom setting } } |