Modules/SharePointDsc.ContentDatabase/SPContentDatabase.psm1
$script:SPDscUtilModulePath = Join-Path -Path $PSScriptRoot -ChildPath '..\..\Modules\SharePointDsc.Util' Import-Module -Name $script:SPDscUtilModulePath function Mount-SPDscContentDatabase() { param ( [Parameter(Mandatory = $true)] [System.Collections.Hashtable] $params, [Parameter(Mandatory = $true)] [System.Boolean] $enabled ) if ($params.ContainsKey("Enabled")) { $params.Remove("Enabled") } if ($params.ContainsKey("Ensure")) { $params.Remove("Ensure") } if ($params.ContainsKey("InstallAccount")) { $params.Remove("InstallAccount") } if ($params.ContainsKey("MaximumSiteCount")) { $params.MaxSiteCount = $params.MaximumSiteCount $params.Remove("MaximumSiteCount") } if ($params.ContainsKey("WebAppUrl")) { $params.WebApplication = $params.WebAppUrl $params.Remove("WebAppUrl") } try { $cdb = Mount-SPContentDatabase @params } catch { $message = ("Error occurred while mounting content database. " + ` "Content database is not mounted. " + ` "Error details: $($_.Exception.Message)") Add-SPDscEvent -Message $message ` -EntryType 'Error' ` -EventID 100 ` -Source $MyInvocation.MyCommand.Source throw $message } if ($cdb.Status -eq "Online") { $cdbenabled = $true } else { $cdbenabled = $false } if ($enabled -ne $cdbenabled) { switch ($params.Enabled) { $true { $cdb.Status = [Microsoft.SharePoint.Administration.SPObjectStatus]::Online } $false { $cdb.Status = [Microsoft.SharePoint.Administration.SPObjectStatus]::Disabled } } } return $cdb } |