DSCResources/xSPDisableServerSideView/xSPDisableServerSideView.psm1
#$script:resourceModulePath = Split-Path -Path (Split-Path -Path $PSScriptRoot -Parent) -Parent #$script:modulesFolderPath = Join-Path -Path $script:resourceModulePath -ChildPath 'Modules' #$script:resourceHelperModulePath = Join-Path -Path $script:modulesFolderPath -ChildPath 'DSCR_MIMSettings.Util' #Import-Module -Name (Join-Path -Path $script:resourceHelperModulePath -ChildPath 'Invoke-SPDscCommand.psm1') Import-Module -Name "C:\Program Files\WindowsPowerShell\Modules\SharePointDSC\Modules\SharePointDsc.Util\SharePointDsc.Util.psm1" function Get-TargetResource { [CmdletBinding()] [OutputType([System.Collections.Hashtable])] param ( [Parameter()] [System.Management.Automation.PSCredential] $InstallAccount, [Parameter(Mandatory = $true)] [ValidateSet("Present","Absent")] [System.String] $Ensure ) #Update Write-Verbose -Message "Getting ServerSideView State" $result = Invoke-SPDscCommand -Credential $InstallAccount ` -Arguments $PSBoundParameters ` -ScriptBlock { $params = $args[0] $contentService = [Microsoft.SharePoint.Administration.SPWebService]::ContentService if ($contentService.ViewStateOnServer) { return @{ Ensure = "Present" InstallAccount = $params.InstallAccount CurrentValue = $contentService.ViewStateOnServer } Write-Verbose -Message "Current ServerSideView State Value is set to $($contentService.ViewStateOnServer)" } else { return @{ Ensure = "Absent" InstallAccount = $params.InstallAccount CurrentValue = $contentService.ViewStateOnServer } Write-Verbose -Message "Current ServerSideView State Value is set to $($contentService.ViewStateOnServer)" } } return $result } function Set-TargetResource { [CmdletBinding()] param ( [Parameter()] [System.Management.Automation.PSCredential] $InstallAccount, [Parameter(Mandatory = $true)] [ValidateSet("Present","Absent")] [System.String] $Ensure ) $currentValues = Get-TargetResource -Ensure Present if (($CurrentValues.CurrentValue) -and ( $Ensure -eq "Absent")) { Write-Verbose -Message ("DisableServerSideView Not in Desired State, Changing to $false") Invoke-SPDscCommand -Credential $InstallAccount ` -Arguments $PSBoundParameters ` -ScriptBlock { $contentService = [Microsoft.SharePoint.Administration.SPWebService]::ContentService $contentService.ViewStateOnServer = $False $contentService.Update() } } else { Write-Verbose -Message ("DisableServerSideView, Changing to $true") Invoke-SPDscCommand -Credential $InstallAccount ` -Arguments $PSBoundParameters ` -ScriptBlock { $contentService = [Microsoft.SharePoint.Administration.SPWebService]::ContentService $contentService.ViewStateOnServer = $true $contentService.Update() } } } function Test-TargetResource { [CmdletBinding()] [OutputType([System.Boolean])] param ( [Parameter()] [System.Management.Automation.PSCredential] $InstallAccount, [Parameter(Mandatory = $true)] [ValidateSet("Present","Absent")] [System.String] $Ensure ) $CurrentValues = Get-TargetResource -Ensure Present Write-Verbose -Message "Current Values: $($CurrentValues.CurrentValue)" Write-Verbose -Message "Target Values: $(if ( $PSBoundParameters.Ensure -eq "Absent"){$false}else{$true})" $result = invoke-SPDscCommand -ScriptBlock { $contentService = [Microsoft.SharePoint.Administration.SPWebService]::ContentService if ($contentService.ViewStateOnServer) {$false}Else{$true} } Write-Verbose -Message "Test-TargetResource returned $result" return $result } Export-ModuleMember -Function *-TargetResource |