From d49b20e58cb8cf09bca0e7770688398817da3139 Mon Sep 17 00:00:00 2001 From: Yorick Kuijs Date: Fri, 28 Oct 2016 11:14:13 +0200 Subject: [PATCH 01/38] Implemented database pattern --- .../MSFT_SPDatabaseAAG.psm1 | 220 +++++++++----- .../DSCResources/MSFT_SPDatabaseAAG/Readme.md | 3 + .../SPDatabaseAAG/2-AddMultipleDBstoAAG.ps1 | 25 ++ ...oveDBfromAAG.ps1 => 3-RemoveDBfromAAG.ps1} | 0 .../SharePointDsc.SPDatabaseAAG.Tests.ps1 | 278 ++++++++++++++++++ 5 files changed, 454 insertions(+), 72 deletions(-) create mode 100644 Modules/SharePointDsc/Examples/Resources/SPDatabaseAAG/2-AddMultipleDBstoAAG.ps1 rename Modules/SharePointDsc/Examples/Resources/SPDatabaseAAG/{2-RemoveDBfromAAG.ps1 => 3-RemoveDBfromAAG.ps1} (100%) diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPDatabaseAAG/MSFT_SPDatabaseAAG.psm1 b/Modules/SharePointDsc/DSCResources/MSFT_SPDatabaseAAG/MSFT_SPDatabaseAAG.psm1 index 182e8fc9a..2cd34c480 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPDatabaseAAG/MSFT_SPDatabaseAAG.psm1 +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPDatabaseAAG/MSFT_SPDatabaseAAG.psm1 @@ -28,36 +28,89 @@ function Get-TargetResource Write-Verbose -Message "Getting AAG configuration for $DatabaseName" - $result = Invoke-SPDSCCommand -Credential $InstallAccount ` - -Arguments $PSBoundParameters ` - -ScriptBlock { - $params = $args[0] - - $database = Get-SPDatabase | Where-Object -FilterScript { - $_.Name -eq $params.DatabaseName - } + if ($Ensure -eq "Present") + { + Write-Verbose -Message "Database(s) must be included in AAG $AGName" + $result = Invoke-SPDSCCommand -Credential $InstallAccount ` + -Arguments ($PSBoundParameters) ` + -ScriptBlock { + $params = $args[0] - $Ensure = "Absent" - $AGName = $params.AGName - if ($null -ne $database) - { - $ag = $database.AvailabilityGroup - if ($null -ne $ag) + $Ensure = "Present" + $databases = Get-SPDatabase | Where-Object -FilterScript { + $_.Name -like "*$($params.DatabaseName)*" + } + + if ($null -ne $databases) { - $AGName = $ag.Name - if ($ag.Name -eq $params.AGName) + foreach ($database in $databases) { - $Ensure = "Present" + $ag = $database.AvailabilityGroup + if ($null -ne $ag) + { + if ($ag.Name -ne $params.AGName) + { + $Ensure = "Absent" + } + } + else + { + $Ensure = "Absent" + } } } - } + else + { + Write-Verbose -Message "Specified database(s) not found." + $Ensure = "Not found" + } + + return @{ + DatabaseName = $params.DatabaseName + AGName = $params.AGName + FileShare = $params.FileShare + Ensure = $Ensure + InstallAccount = $params.InstallAccount + } + } + } + else + { + Write-Verbose -Message "Database(s) must not be included in an AAG $AGName" + $result = Invoke-SPDSCCommand -Credential $InstallAccount ` + -Arguments $PSBoundParameters ` + -ScriptBlock { + $params = $args[0] + + $databases = Get-SPDatabase | Where-Object -FilterScript { + $_.Name -like "*$($params.DatabaseName)*" + } + + $Ensure = "Absent" + if ($null -ne $databases) + { + foreach ($database in $databases) + { + $ag = $database.AvailabilityGroup + if ($null -ne $ag) + { + $Ensure = "Present" + } + } + } + else + { + Write-Verbose -Message "Specified database(s) not found." + $Ensure = "Not found" + } - return @{ - DatabaseName = $params.DatabaseName - AGName = $AGName - FileShare = $params.FileShare - Ensure = $Ensure - InstallAccount = $params.InstallAccount + return @{ + DatabaseName = $params.DatabaseName + AGName = $params.AGName + FileShare = $params.FileShare + Ensure = $Ensure + InstallAccount = $params.InstallAccount + } } } return $result @@ -92,68 +145,91 @@ function Set-TargetResource Write-Verbose -Message "Setting AAG configuration for $DatabaseName" - $CurrentValues = Get-TargetResource @PSBoundParameters - - # Move to a new AG - if ($CurrentValues.AGName -ne $AGName -and $Ensure -eq "Present") + if ($Ensure -eq "Present") { - Write-Verbose -Message "Moving $DatabaseName from previous AAG to $AGName" + Write-Verbose -Message "Checking AAG settings for $DatabaseName" Invoke-SPDSCCommand -Credential $InstallAccount ` - -Arguments ($PSBoundParameters, $CurrentValues) ` + -Arguments ($PSBoundParameters) ` -ScriptBlock { $params = $args[0] - $CurrentValues = $args[1] - - # Remove it from the current AAG first - Remove-DatabaseFromAvailabilityGroup -AGName $CurrentValues.AGName ` - -DatabaseName $params.DatabaseName ` - -Force - # Now add it to the AAG it's meant to be in - $addParams = @{ - AGName = $params.AGName - DatabaseName = $params.DatabaseName + $databases = Get-SPDatabase | Where-Object -FilterScript { + $_.Name -like "*$($params.DatabaseName)*" } - if ($params.ContainsKey("FileShare")) + + if ($null -ne $databases) { - $addParams.Add("FileShare", $params.FileShare) + foreach ($database in $databases) + { + $ag = $database.AvailabilityGroup + if ($null -ne $ag) + { + if ($ag.Name -ne $params.AGName) + { + # Remove it from the current AAG first + Remove-DatabaseFromAvailabilityGroup -AGName $params.AGName ` + -DatabaseName $database.Name ` + -Force + + # Now add it to the AAG it's meant to be in + $addParams = @{ + AGName = $params.AGName + DatabaseName = $database.Name + } + if ($params.ContainsKey("FileShare")) + { + $addParams.Add("FileShare", $params.FileShare) + } + Add-DatabaseToAvailabilityGroup @addParams + } + } + else + { + # Add to AAG + Write-Verbose -Message "Adding $DatabaseName to $AGName" + $cmdParams = @{ + AGName = $params.AGName + DatabaseName = $database.Name + } + if ($params.ContainsKey("FileShare")) + { + $cmdParams.Add("FileShare", $params.FileShare) + } + Add-DatabaseToAvailabilityGroup @cmdParams + } + } + } + else + { + throw "Specified database(s) not found." } - Add-DatabaseToAvailabilityGroup @addParams } } else { - if ($Ensure -eq "Present") - { - # Add to AG - Write-Verbose -Message "Adding $DatabaseName from $AGName" - Invoke-SPDSCCommand -Credential $InstallAccount ` - -Arguments $PSBoundParameters ` - -ScriptBlock { - $params = $args[0] - - $cmdParams = @{ - AGName = $params.AGName - DatabaseName = $params.DatabaseName - } - if ($params.ContainsKey("FileShare")) + # Remove from the AAG + Write-Verbose -Message "Removing $DatabaseName from $AGName" + Invoke-SPDSCCommand -Credential $InstallAccount ` + -Arguments $PSBoundParameters ` + -ScriptBlock { + $params = $args[0] + + $databases = Get-SPDatabase | Where-Object -FilterScript { + $_.Name -like "*$($params.DatabaseName)*" + } + + if ($null -ne $databases) + { + foreach ($database in $databases) { - $cmdParams.Add("FileShare", $params.FileShare) + Remove-DatabaseFromAvailabilityGroup -AGName $params.AGName ` + -DatabaseName $database.Name ` + -Force } - Add-DatabaseToAvailabilityGroup @cmdParams } - } - else - { - # Remove from the AG - Write-Verbose -Message "Removing $DatabaseName from $AGName" - Invoke-SPDSCCommand -Credential $InstallAccount ` - -Arguments $PSBoundParameters ` - -ScriptBlock { - $params = $args[0] - Remove-DatabaseFromAvailabilityGroup -AGName $params.AGName ` - -DatabaseName $params.DatabaseName ` - -Force + else + { + throw "Specified database(s) not found." } } } @@ -195,6 +271,6 @@ function Test-TargetResource return Test-SPDscParameterState -CurrentValues $CurrentValues ` -DesiredValues $PSBoundParameters ` - -ValuesToCheck @("Ensure", "AGName") + -ValuesToCheck @("Ensure") } diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPDatabaseAAG/Readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPDatabaseAAG/Readme.md index aeace9b43..0cb66c0ce 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPDatabaseAAG/Readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPDatabaseAAG/Readme.md @@ -3,3 +3,6 @@ This resource will allow specifying which SQL Server AlwaysOn Availability group a resource should be in. This resource does not configure the Availability Groups on SQL Server, they must already exist. It simply adds the specified database to the group. + +You can add a single database name by specifying the database name, or multiple databases +by specifying a common part of the database name. diff --git a/Modules/SharePointDsc/Examples/Resources/SPDatabaseAAG/2-AddMultipleDBstoAAG.ps1 b/Modules/SharePointDsc/Examples/Resources/SPDatabaseAAG/2-AddMultipleDBstoAAG.ps1 new file mode 100644 index 000000000..324467c9f --- /dev/null +++ b/Modules/SharePointDsc/Examples/Resources/SPDatabaseAAG/2-AddMultipleDBstoAAG.ps1 @@ -0,0 +1,25 @@ +<# +.EXAMPLE + This example takes existing SharePoint databases, based on the database name pattern, and puts + them in to the specified AlwaysOn Availability Group (AAG). +#> + + Configuration Example + { + param( + [Parameter(Mandatory = $true)] + [PSCredential] + $SetupAccount + ) + Import-DscResource -ModuleName SharePointDsc + + node localhost { + SPDatabaseAAG ConfigDBAAG + { + DatabaseName = "Content" + AGName = "MyAvailabilityGroup" + FileShare = "\\SQL\Backups" + PsDscRunAsCredential = $SetupAccount + } + } + } diff --git a/Modules/SharePointDsc/Examples/Resources/SPDatabaseAAG/2-RemoveDBfromAAG.ps1 b/Modules/SharePointDsc/Examples/Resources/SPDatabaseAAG/3-RemoveDBfromAAG.ps1 similarity index 100% rename from Modules/SharePointDsc/Examples/Resources/SPDatabaseAAG/2-RemoveDBfromAAG.ps1 rename to Modules/SharePointDsc/Examples/Resources/SPDatabaseAAG/3-RemoveDBfromAAG.ps1 diff --git a/Tests/Unit/SharePointDsc/SharePointDsc.SPDatabaseAAG.Tests.ps1 b/Tests/Unit/SharePointDsc/SharePointDsc.SPDatabaseAAG.Tests.ps1 index 59cb8f2b0..0e77616b8 100644 --- a/Tests/Unit/SharePointDsc/SharePointDsc.SPDatabaseAAG.Tests.ps1 +++ b/Tests/Unit/SharePointDsc/SharePointDsc.SPDatabaseAAG.Tests.ps1 @@ -53,6 +53,76 @@ Describe -Name $Global:SPDscHelper.DescribeHeader -Fixture { } } + Context -Name "The databases are not in an availability group, but should be" -Fixture { + $testParams = @{ + DatabaseName = "Sample" + AGName = "AGName" + Ensure = "Present" + } + + Mock -CommandName Get-SPDatabase -MockWith { + return @( + @{ + Name = "SampleDatabase1" + AvailabilityGroup = $null + }, + @{ + Name = "SampleDatabase2" + AvailabilityGroup = $null + } + ) + } + + It "Should return the current values from the get method" { + Get-TargetResource @testParams | Should Not BeNullOrEmpty + } + + It "Should return false from the test method" { + Test-TargetResource @testParams | Should Be $false + } + + It "Should call the add cmdlet in the set method" { + Set-TargetResource @testParams + Assert-MockCalled Add-DatabaseToAvailabilityGroup + } + } + + Context -Name "Single database is not in an availability group, but should be" -Fixture { + $testParams = @{ + DatabaseName = "Sample" + AGName = "AGName" + Ensure = "Present" + } + + Mock -CommandName Get-SPDatabase -MockWith { + return @( + @{ + Name = "SampleDatabase1" + AvailabilityGroup = $null + }, + @{ + Name = "SampleDatabase2" + AvailabilityGroup = @{ + Name = $testParams.AGName + } + } + ) + } + + It "Should return the current values from the get method" { + Get-TargetResource @testParams | Should Not BeNullOrEmpty + } + + It "Should return false from the test method" { + Test-TargetResource @testParams | Should Be $false + } + + It "Should call the add cmdlet in the set method" { + Set-TargetResource @testParams + Assert-MockCalled Add-DatabaseToAvailabilityGroup + } + } + Context -Name "The database is not in the availability group and should not be" -Fixture { $testParams = @{ DatabaseName = "SampleDatabase" @@ -78,6 +148,35 @@ Describe -Name $Global:SPDscHelper.DescribeHeader -Fixture { } } + Context -Name "The databases are not in the availability group and should not be" -Fixture { + $testParams = @{ + DatabaseName = "SampleDatabase" + AGName = "AGName" + Ensure = "Absent" + } + + Mock -CommandName Get-SPDatabase -MockWith { + return @( + @{ + Name = "SampleDatabase1" + AvailabilityGroup = $null + }, + @{ + Name = "SampleDatabase2" + AvailabilityGroup = $null + } + ) + } + + It "Should return the current values from the get method" { + Get-TargetResource @testParams | Should Not BeNullOrEmpty + } + + It "Should return true from the test method" { + Test-TargetResource @testParams | Should Be $true + } + } + Context -Name "The database is in the correct availability group and should be" -Fixture { $testParams = @{ DatabaseName = "SampleDatabase" @@ -105,6 +204,39 @@ Describe -Name $Global:SPDscHelper.DescribeHeader -Fixture { } } + Context -Name "The databases are in the correct availability group and should be" -Fixture { + $testParams = @{ + DatabaseName = "SampleDatabase" + AGName = "AGName" + Ensure = "Present" + } + + Mock -CommandName Get-SPDatabase -MockWith { + return @( + @{ + Name = "SampleDatabase1" + AvailabilityGroup = @{ + Name = $testParams.AGName + } + }, + @{ + Name = "SampleDatabase2" + AvailabilityGroup = @{ + Name = $testParams.AGName + } + } + ) + } + + It "Should return the current values from the get method" { + Get-TargetResource @testParams | Should Not BeNullOrEmpty + } + + It "Should return true from the test method" { + Test-TargetResource @testParams | Should Be $true + } + } + Context -Name "The database is in an availability group and should not be" -Fixture { $testParams = @{ DatabaseName = "SampleDatabase" @@ -137,6 +269,82 @@ Describe -Name $Global:SPDscHelper.DescribeHeader -Fixture { } } + Context -Name "The databases are in an availability group and should not be" -Fixture { + $testParams = @{ + DatabaseName = "SampleDatabase" + AGName = "AGName" + Ensure = "Absent" + } + + Mock -CommandName Get-SPDatabase -MockWith { + return @( + @{ + Name = "SampleDatabase1" + AvailabilityGroup = @{ + Name = $testParams.AGName + } + }, + @{ + Name = "SampleDatabase2" + AvailabilityGroup = @{ + Name = $testParams.AGName + } + } + ) + } + + It "Should return the current values from the get method" { + Get-TargetResource @testParams | Should Not BeNullOrEmpty + } + + It "Should return false from the test method" { + Test-TargetResource @testParams | Should Be $false + } + + It "Should call the remove cmdlet in the set method" { + Set-TargetResource @testParams + Assert-MockCalled Remove-DatabaseFromAvailabilityGroup + } + } + + Context -Name "Single database is in an availability group and should not be" -Fixture { + $testParams = @{ + DatabaseName = "SampleDatabase" + AGName = "AGName" + Ensure = "Absent" + } + + Mock -CommandName Get-SPDatabase -MockWith { + return @( + @{ + Name = "SampleDatabase1" + AvailabilityGroup = @{ + Name = $null + } + }, + @{ + Name = "SampleDatabase2" + AvailabilityGroup = @{ + Name = $testParams.AGName + } + } + ) + } + + It "Should return the current values from the get method" { + Get-TargetResource @testParams | Should Not BeNullOrEmpty + } + + It "Should return false from the test method" { + Test-TargetResource @testParams | Should Be $false + } + + It "Should call the remove cmdlet in the set method" { + Set-TargetResource @testParams + Assert-MockCalled Remove-DatabaseFromAvailabilityGroup + } + } + Context -Name "The database is in the wrong availability group" -Fixture { $testParams = @{ DatabaseName = "SampleDatabase" @@ -169,6 +377,76 @@ Describe -Name $Global:SPDscHelper.DescribeHeader -Fixture { Assert-MockCalled Add-DatabaseToAvailabilityGroup } } + + Context -Name "Single database is in the wrong availability group" -Fixture { + $testParams = @{ + DatabaseName = "SampleDatabase" + AGName = "AGName" + Ensure = "Present" + } + + Mock -CommandName Get-SPDatabase -MockWith { + return @( + @{ + Name = $testParams.DatabaseName + AvailabilityGroup = @{ + Name = $testParams.AGName + } + }, + @{ + Name = $testParams.DatabaseName + AvailabilityGroup = @{ + Name = "WrongAAG" + } + } + ) + } + + It "Should return the current values from the get method" { + Get-TargetResource @testParams | Should Not BeNullOrEmpty + } + + It "Should return false from the test method" { + Test-TargetResource @testParams | Should Be $false + } + + It "Should call the remove and add cmdlets in the set method" { + Set-TargetResource @testParams + Assert-MockCalled Remove-DatabaseFromAvailabilityGroup + Assert-MockCalled Add-DatabaseToAvailabilityGroup + } + } + + Context -Name "Specified database is not found" -Fixture { + $testParams = @{ + DatabaseName = "SampleDatabase" + AGName = "AGName" + Ensure = "Present" + } + + Mock -CommandName Get-SPDatabase -MockWith { + return @( + @{ + Name = "WrongDatabase" + AvailabilityGroup = @{ + Name = $testParams.AGName + } + } + ) + } + + It "Should return Ensure='Not Found' from the get method" { + (Get-TargetResource @testParams).Ensure | Should Be "Not Found" + } + + It "Should return false from the test method" { + Test-TargetResource @testParams | Should Be $false + } + + It "Should throw an exception in the set method" { + { Set-TargetResource @testParams } | Should Throw "Specified database(s) not found." + } + } } } From 6236617f6e4ce1a9bd2f5288817bbc61a1e2e23a Mon Sep 17 00:00:00 2001 From: Brian Farnhill Date: Mon, 31 Oct 2016 08:30:53 +1100 Subject: [PATCH 02/38] Fixed version number --- appveyor.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/appveyor.yml b/appveyor.yml index fb4093509..179a0ba74 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -1,4 +1,4 @@ -version: 1.3.0.{build} +version: 1.4.0.{build} image: WMF 5 install: From fb2db9ac837da82f8fbf6640251a2724c581ceed Mon Sep 17 00:00:00 2001 From: Brian Farnhill Date: Mon, 31 Oct 2016 08:31:20 +1100 Subject: [PATCH 03/38] Playing with npm --- appveyor.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/appveyor.yml b/appveyor.yml index fb4093509..97fbd6185 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -2,7 +2,8 @@ version: 1.3.0.{build} image: WMF 5 install: - - appveyor DownloadFile https://dist.nuget.org/win-x86-commandline/latest/nuget.exe + - appveyor DownloadFile https://dist.nuget.org/win-x86-commandline/latest/nuget.exe + - npm install gulp - ps: | Import-Module "$env:APPVEYOR_BUILD_FOLDER\.appveyor\appveyor.psm1" Start-AppveyorInstallTask From d633b569c98fc7c8646fe2268e64c819976b87b4 Mon Sep 17 00:00:00 2001 From: Brian Farnhill Date: Mon, 31 Oct 2016 08:46:19 +1100 Subject: [PATCH 04/38] Not sure if this thing will work, but lets try it --- appveyor.yml | 6 +++++- gulpfile.js | 18 ++++++++++++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 gulpfile.js diff --git a/appveyor.yml b/appveyor.yml index 50b41e4e8..eae2d23ee 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -3,7 +3,9 @@ image: WMF 5 install: - appveyor DownloadFile https://dist.nuget.org/win-x86-commandline/latest/nuget.exe - - npm install gulp + - npm install -g gulp + - npm install -g through2 + - npm install -g markdownlint - ps: | Import-Module "$env:APPVEYOR_BUILD_FOLDER\.appveyor\appveyor.psm1" Start-AppveyorInstallTask @@ -11,6 +13,8 @@ install: build: off test_script: + - cmd: | + gulp - ps: | Start-AppveyorTestScriptTask diff --git a/gulpfile.js b/gulpfile.js new file mode 100644 index 000000000..5a05ce5f6 --- /dev/null +++ b/gulpfile.js @@ -0,0 +1,18 @@ +var gulp = require("gulp"); +var through2 = require("through2"); +var markdownlint = require("markdownlint"); + +gulp.task("default", function task() { + return gulp.src("*.md", { "read": false }) + .pipe(through2.obj(function obj(file, enc, next) { + markdownlint( + { "files": [ file.relative ] }, + function callback(err, result) { + var resultString = (result || "").toString(); + if (resultString) { + console.log(resultString); + } + next(err, file); + }); + })); +}); From ae1c1d1696ced66e2ddb942412d1d5429b4ec36e Mon Sep 17 00:00:00 2001 From: Brian Farnhill Date: Mon, 31 Oct 2016 08:51:33 +1100 Subject: [PATCH 05/38] Taking out global installs --- appveyor.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/appveyor.yml b/appveyor.yml index eae2d23ee..178cfe847 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -3,9 +3,9 @@ image: WMF 5 install: - appveyor DownloadFile https://dist.nuget.org/win-x86-commandline/latest/nuget.exe - - npm install -g gulp - - npm install -g through2 - - npm install -g markdownlint + - npm install gulp + - npm install through2 + - npm install markdownlint - ps: | Import-Module "$env:APPVEYOR_BUILD_FOLDER\.appveyor\appveyor.psm1" Start-AppveyorInstallTask From 2ae6f81e95bc6bddf879f041c49305c1da86f065 Mon Sep 17 00:00:00 2001 From: Brian Farnhill Date: Mon, 31 Oct 2016 08:55:48 +1100 Subject: [PATCH 06/38] Trying both global and local install of npm modules --- appveyor.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/appveyor.yml b/appveyor.yml index 178cfe847..eaf085af1 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -3,9 +3,12 @@ image: WMF 5 install: - appveyor DownloadFile https://dist.nuget.org/win-x86-commandline/latest/nuget.exe + - npm install -g gulp + - npm install -g through2 + - npm install -g markdownlint - npm install gulp - npm install through2 - - npm install markdownlint + - npm install markdownlint - ps: | Import-Module "$env:APPVEYOR_BUILD_FOLDER\.appveyor\appveyor.psm1" Start-AppveyorInstallTask From ec60646d416e93761151f24ef967311328e08a01 Mon Sep 17 00:00:00 2001 From: Brian Farnhill Date: Tue, 1 Nov 2016 15:18:55 +1100 Subject: [PATCH 07/38] Got the markdown testing working --- .gitignore | 3 ++ .vscode/settings.json | 10 ++++- README.md | 2 +- .../SharePointDsc.Global.Tests.ps1 | 42 +++++++++++++++++++ appveyor.yml | 8 +--- gulpfile.js | 7 ++-- package.json | 25 +++++++++++ 7 files changed, 86 insertions(+), 11 deletions(-) create mode 100644 package.json diff --git a/.gitignore b/.gitignore index cae119451..224ea0ddf 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,6 @@ .sln Modules/SharePointDsc/DscResource.Tests Modules/SharePointDsc/DscResource.Tests/* +node_modules +node_modules/* +markdownissues.txt diff --git a/.vscode/settings.json b/.vscode/settings.json index 9e9ac93b6..0823c884d 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,5 +1,13 @@ // Place your settings in this file to overwrite the default settings { "powershell.scriptAnalysis.enable": true, - "powershell.scriptAnalysis.settingsPath": ".vscode/ScriptAnalyzerSettings.psd1" + "powershell.scriptAnalysis.settingsPath": ".vscode/ScriptAnalyzerSettings.psd1", + "files.exclude": { + "**/.git": true, + "**/.svn": true, + "**/.hg": true, + "**/.DS_Store": true, + "node_modules": true, + "markdownissues.txt": true + } } \ No newline at end of file diff --git a/README.md b/README.md index 720687490..095ae42cd 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ Build status: [![Build status](https://ci.appveyor.com/api/projects/status/aj6ce Discuss SharePointDsc now: [![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/PowerShell/xSharePoint?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge) -The SharePointDsc PowerShell module (formerly known as xSharePoint) provides DSC resources that can be used to deploy and manage a SharePoint farm. +The SharePointDsc PowerShell module (formerly known as xSharePoint) provides DSC resources that can be used to deploy and manage a SharePoint farm. Please leave comments, feature requests, and bug reports in the issues tab for this module. diff --git a/Tests/Unit/SharePointDsc/SharePointDsc.Global.Tests.ps1 b/Tests/Unit/SharePointDsc/SharePointDsc.Global.Tests.ps1 index 2ba7c7b96..ae75efc04 100644 --- a/Tests/Unit/SharePointDsc/SharePointDsc.Global.Tests.ps1 +++ b/Tests/Unit/SharePointDsc/SharePointDsc.Global.Tests.ps1 @@ -74,5 +74,47 @@ Describe 'SharePointDsc whole of module tests' { Import-Module -Name "$RepoRoot\modules\SharePointDsc\SharePointDsc.psd1" -Global -Force } } + + It "Should not have errors in any markdown files" { + $runGulp = $false + try { + Start-Process -FilePath "npm" -ArgumentList "install" -WorkingDirectory $RepoRoot -Wait -PassThru -NoNewWindow + $runGulp = $true + } + catch [System.Exception] { + Write-Warning -Message ("Unable to run npm to install dependencies needed to " + ` + "test markdown files. Please be sure that you have " + ` + "installed nodejs.") + } + + if ($runGulp -eq $true) + { + $mdErrors = 0 + try { + Start-Process -FilePath "gulp" -Wait -WorkingDirectory $RepoRoot -PassThru -NoNewWindow + Start-Sleep -Seconds 3 + $mdIssuesPath = Join-Path -Path $RepoRoot -ChildPath "markdownissues.txt" + + if ((Test-Path -Path $mdIssuesPath) -eq $true) + { + Get-Content -Path $mdIssuesPath | ForEach-Object -Process { + if ([string]::IsNullOrEmpty($_) -eq $false) + { + Write-Warning -Message $_ + $mdErrors ++ + } + } + } + } + catch [System.Exception] { + Write-Warning -Message ("Unable to run gulp to test markdown files. Please " + ` + "be sure that you have installed nodejs and have " + ` + "run 'npm install -g gulp' in order to have this " + ` + "text execute.") + } + Remove-Item -Path $mdIssuesPath -Force -ErrorAction SilentlyContinue + $mdErrors | Should Be 0 + } + } } } diff --git a/appveyor.yml b/appveyor.yml index eaf085af1..44501da52 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -3,12 +3,8 @@ image: WMF 5 install: - appveyor DownloadFile https://dist.nuget.org/win-x86-commandline/latest/nuget.exe - - npm install -g gulp - - npm install -g through2 - - npm install -g markdownlint - - npm install gulp - - npm install through2 - - npm install markdownlint + - npm install -g gulp + - npm install - ps: | Import-Module "$env:APPVEYOR_BUILD_FOLDER\.appveyor\appveyor.psm1" Start-AppveyorInstallTask diff --git a/gulpfile.js b/gulpfile.js index 5a05ce5f6..ad3a21013 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -1,18 +1,19 @@ var gulp = require("gulp"); var through2 = require("through2"); var markdownlint = require("markdownlint"); +var fs = require('fs'); gulp.task("default", function task() { return gulp.src("*.md", { "read": false }) .pipe(through2.obj(function obj(file, enc, next) { markdownlint( - { "files": [ file.relative ] }, + { "files": [ file.path ] }, function callback(err, result) { var resultString = (result || "").toString(); if (resultString) { - console.log(resultString); + fs.writeFile('markdownissues.txt', resultString, null); } next(err, file); }); - })); + })) }); diff --git a/package.json b/package.json new file mode 100644 index 000000000..89c093604 --- /dev/null +++ b/package.json @@ -0,0 +1,25 @@ +{ + "name": "sharepointdsc", + "version": "1.4.0", + "description": "The SharePointDsc PowerShell module provides DSC resources that can be used to deploy and manage a SharePoint farm ", + "main": "gulpfile.js", + "dependencies": { + "gulp": "^3.9.1", + "through2": "^2.0.1", + "markdownlint": "^0.2.0" + }, + "devDependencies": {}, + "scripts": { + "test": "powershell -File .vscode\\RunPesterTests.ps1" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/PowerShell/SharePointDsc.git" + }, + "author": "Microsoft Corporation", + "license": "MIT", + "bugs": { + "url": "https://github.com/PowerShell/SharePointDsc/issues" + }, + "homepage": "https://github.com/PowerShell/SharePointDsc#readme" +} From bb29e6a300ebe48b521a43ba38f8105e75d60c1c Mon Sep 17 00:00:00 2001 From: Brian Farnhill Date: Tue, 1 Nov 2016 16:11:22 +1100 Subject: [PATCH 08/38] Should be a clean checkin with MD tests --- CHANGELOG.md | 413 ++++++++++++++++++++++++++++++--------------------- README.md | 49 +++--- appveyor.yml | 2 - 3 files changed, 277 insertions(+), 187 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6017a09f4..5ddf4df12 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,167 +1,246 @@ # Change log for SharePointDsc -### 1.4 - * Set-TargetResource of Service Application now also removes all associated proxies - * Fixed issue with all SPServiceApplication for OS not in En-Us language, add GetType().FullName method in: - - SPAccessServiceApp - - SPAppManagementServiceApp - - SPBCSServiceApp - - SPExcelServiceApp - - SPManagedMetaDataServiceApp - - SPPerformancePointServiceApp - - SPSearchServiceApp - - SPSearchCrawlRule - - SPSecureStoreServiceApp - - SPSubscriptionSettingsServiceApp - - SPUsageApplication - - SPUserProfileServiceApp - - SPVisioServiceApp - - SPWordAutomationServiceApp - - SPWorkManagementServiceApp - * Fixed issue with SPServiceInstance for OS not in En-Us language, add GetType().Name method in: - - SPDistributedCacheService - - SPUserProfileSyncService - * Fixed issue with SPInstallLanguagePack to install before farm creation - * Fixed issue with mounting SPContentDatabase - * Fixed issue with SPShellAdmin and Content Database method - * Fixed issue with SPServiceInstance (Set-TargetResource) for OS not in En-Us language - * Added .Net 4.6 support check to SPInstall and SPInstallPrereqs - * Improved code styling - * SPVisioServiceapplication now creates proxy and lets you specify a name for it - * New resources: SPAppStoreSettings - * Fixed bug with SPInstallPrereqs to allow minor version changes to prereqs for SP2016 - * Refactored unit tests to consolidate and streamline test approaches - * Updated SPExcelServiceApp resource to add support for trusted file locations and most other properties of the service app - * Added support to SPMetadataServiceApp to allow changing content type hub URL on existing service apps - * Fixed a bug that would cause SPSearchResultSource to throw exceptions when the enterprise search centre URL has not been set - * Updated documentation of SPProductUpdate to reflect the required install order of product updates - -### 1.3 - * Fixed typo on return value in SPServiceAppProxyGroup - * Fixed SPJoinFarm to not write output during successful farm join - * Fixed issue with SPSearchTopology to keep array of strings in the hashtable returned by Get-Target - * Fixed issue with SPSearchTopology that prevented topology from updating where ServerName was not returned on each component - * Added ProxyName parameter to all service application resources - * Changed SPServiceInstance to look for object type names instead of the display name to ensure consistency with language packs - * Fixed typos in documentation for InstallAccount parameter on most resources - * Fixed a bug where SPQuotaTemplate would not allow warning and limit values to be equal - * New resources: SPConfigWizard, SPProductUpdate and SPPublishServiceApplication - * Updated style of all script in module to align with PowerShell team standards - * Changed parameter ClaimsMappings in SPTrustedIdentityTokenIssuer to consume an array of custom object MSFT_SPClaimTypeMapping - * Changed SPTrustedIdentityTokenIssuer to throw an exception if certificate specified has a private key, since SharePoint doesn't accept it - * Fixed issue with SPTrustedIdentityTokenIssuer to stop if cmdlet New-SPTrustedIdentityTokenIssuer returns null - * Fixed issue with SPTrustedIdentityTokenIssuer to correctly get parameters ClaimProviderName and ProviderSignOutUri - * Fixed issue with SPTrustedIdentityTokenIssuer to effectively remove the SPTrustedAuthenticationProvider from all zones before deleting the SPTrustedIdentityTokenIssuer - -### 1.2 - - * Fixed bugs SPWebAppPolicy and SPServiceApPSecurity that prevented the get methods from returning AD group names presented as claims tokens - * Minor tweaks to the PowerShell module manifest - * Modified all resources to ensure $null values are on the left of comparisson operations - * Added RunOnlyWhenWriteable property to SPUserProfileSyncService resource - * Added better logging to all test method output to make it clear what property is causing a test to fail - * Added support for NetBIOS domain names resolution to SPUserProfileServiceApp - * Removed chocolatey from the AppVeyor build process in favour of the PowerShell Gallery build of Pester - * Fixed the use of plural nouns in cmdlet names within the module - * Fixed a bug in SPContentDatabase that caused it to not function correctly. - * Fixed the use of plural nouns in cmdlet names within the module - * Removed dependency on Win32_Product from SPInstall - * Added SPTrustedIdentityTokenIssuer, SPRemoteFarmTrust and SPSearchResultSource resources - * Added HostHeader parameter in examples for Web Application, so subsequent web applications won't error out - * Prevented SPCreateFarm and SPJoinFarm from executing set methods where the local server is already a member of a farm - -### 1.1 - - * Added SPBlobCacheSettings, SPOfficeOnlineServerBinding, SPWebAppPermissions, SPServiceAppProxyGroup, SPWebAppProxyGroup and SPUserProfileServiceAppPermissions resources - * SPUserProfileSyncService Remove Status field from Get-TargResource: not in MOF, redundant with Ensure - * Improvement with SPInstallPrereqs on SPS2013 to accept 2008 R2 or 2012 SQL native client not only 2008 R2 - * Fixed a bug with SPTimerJobState that prevented a custom schedule being applied to a timer job - * Fixed a bug with the detection of group principals vs. user principals in SPServiceAppSecurity and SPWebAppPolicy - * Removed redundant value for KB2898850 from SPInstallPrereqs, also fixed old property name for DotNetFX - * Fixed a bug with SPAlternateUrl that prevented the test method from returning "true" when a URL was absent if the optional URL property was specified in the config - * Fixed bugs in SPAccessServiceApp and SPPerformancePointServiceApp with type names not being identified correctly - * Added support for custom database name and server to SPPerformancePointServiceApp - * Added solution level property to SPFarmSolution - * Fixed a bug with SPSearchServiceApp that prevents the default crawl account from being managed after it is initially set - * Removed dependency on Win32_Prouct from SPInstallPrereqs - -### 1.0 - - * Renamed module from xSharePoint to SharePointDsc - * Fixed bug in managed account schedule get method - * Fixed incorrect output of server name in xSPOutgoingEmailSettings - * Added ensure properties to multiple resources to standardise schemas - * Added xSPSearchContentSource, xSPContentDatabase, xSPServiceAppSecurity, xSPAccessServiceApp, xSPExcelServiceApp, xSPPerformancePointServiceApp, xSPIrmSettings resources - * Fixed a bug in xSPInstallPrereqs that would cause an updated version of AD rights management to fail the test method for SharePoint 2013 - * Fixed bug in xSPFarmAdministrators where testing for users was case sensitive - * Fixed a bug with reboot detection in xSPInstallPrereqs - * Added SearchCenterUrl property to xSPSearchServiceApp - * Fixed a bug in xSPAlternateUrl to account for a default zone URL being changed - * Added content type hub URL option to xSPManagedMetadataServiceApp for when it provisions a service app - * Updated xSPWebAppPolicy to allow addition and removal of accounts, including the Cache Accounts, to the web application policy. - * Fixed bug with claims accounts not being added to web app policy in xSPCacheAccounts - * Added option to not apply cache accounts policy to the web app in xSPCacheAccounts - * Farm Passphrase now uses a PSCredential object, in order to pass the value as a securestring on xSPCreateFarm and xSPJoinFarm - * xSPCreateFarm supports specifying Kerberos authentication for the Central Admin site with the CentralAdministrationAuth property - * Fixed nuget package format for development feed from AppVeyor - * Fixed bug with get output of xSPUSageApplication - * Added SXSpath parameter to xSPInstallPrereqs for installing Windows features in offline environments - * Added additional parameters to xSPWebAppGeneralSettings for use in hardened environments - * Added timestamps to verbose logging for resources that pause for responses from SharePoint - * Added options to customise the installation directories used when installing SharePoint with xSPInstall - * Aligned testing to common DSC resource test module - * Fixed bug in the xSPWebApplication which prevented a web application from being created in an existing application pool - * Updated xSPInstallPrereqs to align with SharePoint 2016 RTM changes - * Added support for cloud search index to xSPSearchServiceApp - * Fixed bug in xSPWebAppGeneralSettings that prevented setting a security validation timeout value - -### 0.12.0.0 - - * Removed Visual Studio project files, added VSCode PowerShell extensions launch file - * Added xSPDatabaseAAG, xSPFarmSolution and xSPAlternateUrl resources - * Fixed bug with xSPWorkManagementServiceApp schema - * Added support to xSPSearchServiceApp to configure the default content access account - * Added support for SSL web apps to xSPWebApplication - * Added support for xSPDistributedCacheService to allow provisioning across multiple servers in a specific sequence - * Added version as optional parameter for the xSPFeature resource to allow upgrading features to a specific version - * Fixed a bug with xSPUserProfileSyncConnection to ensure it gets the correct context - * Added MOF descriptions to all resources to improve editing experience in PowerShell ISE - * Added a check to warn about issue when installing SharePoint 2013 on a server with .NET 4.6 installed - * Updated examples to include installation resources - * Fixed issues with kerberos and anonymous access in xSPWebApplication - * Add support for SharePoint 2016 on Windows Server 2016 Technical Preview to xSPInstallPrereqs - * Fixed bug for provisioning of proxy for Usage app in xSPUsageApplication - -### 0.10.0.0 - - * Added xSPWordAutomationServiceApp, xSPHealthAnalyzerRuleState, xSPUserProfileProperty, xSPWorkManagementApp, xSPUserProfileSyncConnection and xSPShellAdmin resources - * Fixed issue with MinRole support in xSPJoinFarm - -### 0.9.0.0 - - * Added xSPAppCatalog, xSPAppDomain, xSPWebApplicationAppDomain, xSPSessionStateService, xSPDesignerSettings, xSPQuotaTemplate, xSPWebAppSiteUseAndDeletion, xSPSearchTopology, xSPSearchIndexPartition, xSPWebAppPolicy and xSPTimerJobState resources - * Fixed issue with wrong parameters in use for SP2016 beta 2 prerequisite installer - -### 0.8.0.0 - - * Added xSPAntivirusSettings, xSPFarmAdministrators, xSPOutgoingEmailSettings, xSPPasswordChangeSettings, xSPWebAppBlockedFileTypes, xSPWebAppGeneralSettings, xSPWebAppThrottlingSettings and xSPWebAppWorkflowSettings - * Fixed issue with xSPInstallPrereqs using wrong parameters in offline install mode - * Fixed issue with xSPInstallPrereqs where it would not validate that installer paths exist - * Fixed xSPSecureStoreServiceApp and xSPUsageApplication to use PSCredentials instead of plain text username/password for database credentials - * Added built in PowerShell help (for calling "Get-Help about_[resource]", such as "Get-Help about_xSPCreateFarm") - -### 0.7.0.0 - - * Support for MinRole options in SharePoint 2016 - * Fix to distributed cache deployment of more than one server - * Additional bug fixes and stability improvements - -### 0.6.0.0 - - * Added support for PsDscRunAsCredential in PowerShell 5 resource use - * Removed timeout loop in xSPJoinFarm in favour of WaitForAll resource in PowerShell 5 - -### 0.5.0.0 +## 1.4 + +* Set-TargetResource of Service Application now also removes all associated + proxies +* Fixed issue with all SPServiceApplication for OS not in En-Us language, + add GetType().FullName method in: + * SPAccessServiceApp + * SPAppManagementServiceApp + * SPBCSServiceApp + * SPExcelServiceApp + * SPManagedMetaDataServiceApp + * SPPerformancePointServiceApp + * SPSearchServiceApp + * SPSearchCrawlRule + * SPSecureStoreServiceApp + * SPSubscriptionSettingsServiceApp + * SPUsageApplication + * SPUserProfileServiceApp + * SPVisioServiceApp + * SPWordAutomationServiceApp + * SPWorkManagementServiceApp +* Fixed issue with SPServiceInstance for OS not in En-Us language, add + GetType().Name method in: + * SPDistributedCacheService + * SPUserProfileSyncService +* Fixed issue with SPInstallLanguagePack to install before farm creation +* Fixed issue with mounting SPContentDatabase +* Fixed issue with SPShellAdmin and Content Database method +* Fixed issue with SPServiceInstance (Set-TargetResource) for OS not in + En-Us language +* Added .Net 4.6 support check to SPInstall and SPInstallPrereqs +* Improved code styling +* SPVisioServiceapplication now creates proxy and lets you specify a name for + it +* New resources: SPAppStoreSettings +* Fixed bug with SPInstallPrereqs to allow minor version changes to prereqs for + SP2016 +* Refactored unit tests to consolidate and streamline test approaches +* Updated SPExcelServiceApp resource to add support for trusted file locations + and most other properties of the service app +* Added support to SPMetadataServiceApp to allow changing content type hub URL + on existing service apps +* Fixed a bug that would cause SPSearchResultSource to throw exceptions when + the enterprise search centre URL has not been set +* Updated documentation of SPProductUpdate to reflect the required install + order of product updates + +## 1.3 + +* Fixed typo on return value in SPServiceAppProxyGroup +* Fixed SPJoinFarm to not write output during successful farm join +* Fixed issue with SPSearchTopology to keep array of strings in the hashtable + returned by Get-Target +* Fixed issue with SPSearchTopology that prevented topology from updating where + ServerName was not returned on each component +* Added ProxyName parameter to all service application resources +* Changed SPServiceInstance to look for object type names instead of the display + name to ensure consistency with language packs +* Fixed typos in documentation for InstallAccount parameter on most resources +* Fixed a bug where SPQuotaTemplate would not allow warning and limit values to + be equal +* New resources: SPConfigWizard, SPProductUpdate and SPPublishServiceApplication +* Updated style of all script in module to align with PowerShell team standards +* Changed parameter ClaimsMappings in SPTrustedIdentityTokenIssuer to consume an + array of custom object MSFT_SPClaimTypeMapping +* Changed SPTrustedIdentityTokenIssuer to throw an exception if certificate + specified has a private key, since SharePoint doesn't accept it +* Fixed issue with SPTrustedIdentityTokenIssuer to stop if cmdlet + New-SPTrustedIdentityTokenIssuer returns null +* Fixed issue with SPTrustedIdentityTokenIssuer to correctly get parameters + ClaimProviderName and ProviderSignOutUri +* Fixed issue with SPTrustedIdentityTokenIssuer to effectively remove the + SPTrustedAuthenticationProvider from all zones before deleting the + SPTrustedIdentityTokenIssuer + +## 1.2 + +* Fixed bugs SPWebAppPolicy and SPServiceApPSecurity that prevented the get + methods from returning AD group names presented as claims tokens +* Minor tweaks to the PowerShell module manifest +* Modified all resources to ensure $null values are on the left of + comparisson operations +* Added RunOnlyWhenWriteable property to SPUserProfileSyncService resource +* Added better logging to all test method output to make it clear what property + is causing a test to fail +* Added support for NetBIOS domain names resolution to SPUserProfileServiceApp +* Removed chocolatey from the AppVeyor build process in favour of the + PowerShell Gallery build of Pester +* Fixed the use of plural nouns in cmdlet names within the module +* Fixed a bug in SPContentDatabase that caused it to not function correctly. +* Fixed the use of plural nouns in cmdlet names within the module +* Removed dependency on Win32_Product from SPInstall +* Added SPTrustedIdentityTokenIssuer, SPRemoteFarmTrust and + SPSearchResultSource resources +* Added HostHeader parameter in examples for Web Application, so subsequent web + applications won't error out +* Prevented SPCreateFarm and SPJoinFarm from executing set methods where the + local server is already a member of a farm + +## 1.1 + +* Added SPBlobCacheSettings, SPOfficeOnlineServerBinding, SPWebAppPermissions, + SPServiceAppProxyGroup, SPWebAppProxyGroup and + SPUserProfileServiceAppPermissions resources +* SPUserProfileSyncService Remove Status field from Get-TargResource: not in + MOF, redundant with Ensure +* Improvement with SPInstallPrereqs on SPS2013 to accept 2008 R2 or 2012 SQL + native client not only 2008 R2 +* Fixed a bug with SPTimerJobState that prevented a custom schedule being + applied to a timer job +* Fixed a bug with the detection of group principals vs. user principals in + SPServiceAppSecurity and SPWebAppPolicy +* Removed redundant value for KB2898850 from SPInstallPrereqs, also fixed old + property name for DotNetFX +* Fixed a bug with SPAlternateUrl that prevented the test method from returning + "true" when a URL was absent if the optional URL property was specified in + the config +* Fixed bugs in SPAccessServiceApp and SPPerformancePointServiceApp with type + names not being identified correctly +* Added support for custom database name and server to + SPPerformancePointServiceApp +* Added solution level property to SPFarmSolution +* Fixed a bug with SPSearchServiceApp that prevents the default crawl account + from being managed after it is initially set +* Removed dependency on Win32_Prouct from SPInstallPrereqs + +## 1.0 + +* Renamed module from xSharePoint to SharePointDsc +* Fixed bug in managed account schedule get method +* Fixed incorrect output of server name in xSPOutgoingEmailSettings +* Added ensure properties to multiple resources to standardise schemas +* Added xSPSearchContentSource, xSPContentDatabase, xSPServiceAppSecurity, + xSPAccessServiceApp, xSPExcelServiceApp, xSPPerformancePointServiceApp, + xSPIrmSettings resources +* Fixed a bug in xSPInstallPrereqs that would cause an updated version of AD + rights management to fail the test method for SharePoint 2013 +* Fixed bug in xSPFarmAdministrators where testing for users was case sensitive +* Fixed a bug with reboot detection in xSPInstallPrereqs +* Added SearchCenterUrl property to xSPSearchServiceApp +* Fixed a bug in xSPAlternateUrl to account for a default zone URL being + changed +* Added content type hub URL option to xSPManagedMetadataServiceApp for when + it provisions a service app +* Updated xSPWebAppPolicy to allow addition and removal of accounts, including + the Cache Accounts, to the web application policy. +* Fixed bug with claims accounts not being added to web app policy in + xSPCacheAccounts +* Added option to not apply cache accounts policy to the web app in + xSPCacheAccounts +* Farm Passphrase now uses a PSCredential object, in order to pass the value + as a securestring on xSPCreateFarm and xSPJoinFarm +* xSPCreateFarm supports specifying Kerberos authentication for the Central + Admin site with the CentralAdministrationAuth property +* Fixed nuget package format for development feed from AppVeyor +* Fixed bug with get output of xSPUSageApplication +* Added SXSpath parameter to xSPInstallPrereqs for installing Windows features + in offline environments +* Added additional parameters to xSPWebAppGeneralSettings for use in hardened + environments +* Added timestamps to verbose logging for resources that pause for responses + from SharePoint +* Added options to customise the installation directories used when installing + SharePoint with xSPInstall +* Aligned testing to common DSC resource test module +* Fixed bug in the xSPWebApplication which prevented a web application from + being created in an existing application pool +* Updated xSPInstallPrereqs to align with SharePoint 2016 RTM changes +* Added support for cloud search index to xSPSearchServiceApp +* Fixed bug in xSPWebAppGeneralSettings that prevented setting a security + validation timeout value + +## 0.12.0.0 + +* Removed Visual Studio project files, added VSCode PowerShell extensions + launch file +* Added xSPDatabaseAAG, xSPFarmSolution and xSPAlternateUrl resources +* Fixed bug with xSPWorkManagementServiceApp schema +* Added support to xSPSearchServiceApp to configure the default content + access account +* Added support for SSL web apps to xSPWebApplication +* Added support for xSPDistributedCacheService to allow provisioning across + multiple servers in a specific sequence +* Added version as optional parameter for the xSPFeature resource to allow + upgrading features to a specific version +* Fixed a bug with xSPUserProfileSyncConnection to ensure it gets the + correct context +* Added MOF descriptions to all resources to improve editing experience + in PowerShell ISE +* Added a check to warn about issue when installing SharePoint 2013 on a + server with .NET 4.6 installed +* Updated examples to include installation resources +* Fixed issues with kerberos and anonymous access in xSPWebApplication +* Add support for SharePoint 2016 on Windows Server 2016 Technical Preview + to xSPInstallPrereqs +* Fixed bug for provisioning of proxy for Usage app in xSPUsageApplication + +## 0.10.0.0 + +* Added xSPWordAutomationServiceApp, xSPHealthAnalyzerRuleState, + xSPUserProfileProperty, xSPWorkManagementApp, xSPUserProfileSyncConnection + and xSPShellAdmin resources +* Fixed issue with MinRole support in xSPJoinFarm + +## 0.9.0.0 + +* Added xSPAppCatalog, xSPAppDomain, xSPWebApplicationAppDomain, + xSPSessionStateService, xSPDesignerSettings, xSPQuotaTemplate, + xSPWebAppSiteUseAndDeletion, xSPSearchTopology, xSPSearchIndexPartition, + xSPWebAppPolicy and xSPTimerJobState resources +* Fixed issue with wrong parameters in use for SP2016 beta 2 prerequisite + installer + +## 0.8.0.0 + +* Added xSPAntivirusSettings, xSPFarmAdministrators, xSPOutgoingEmailSettings, + xSPPasswordChangeSettings, xSPWebAppBlockedFileTypes, + xSPWebAppGeneralSettings, xSPWebAppThrottlingSettings and + xSPWebAppWorkflowSettings +* Fixed issue with xSPInstallPrereqs using wrong parameters in offline install + mode +* Fixed issue with xSPInstallPrereqs where it would not validate that installer + paths exist +* Fixed xSPSecureStoreServiceApp and xSPUsageApplication to use PSCredentials + instead of plain text username/password for database credentials +* Added built in PowerShell help (for calling "Get-Help about_[resource]", + such as "Get-Help about_xSPCreateFarm") + +## 0.7.0.0 + +* Support for MinRole options in SharePoint 2016 +* Fix to distributed cache deployment of more than one server +* Additional bug fixes and stability improvements + +## 0.6.0.0 + +* Added support for PsDscRunAsCredential in PowerShell 5 resource use +* Removed timeout loop in xSPJoinFarm in favour of WaitForAll resource in + PowerShell 5 + +## 0.5.0.0 * Fixed bug with detection of version in create farm * Minor fixes @@ -169,16 +248,16 @@ * xSPCreateFarm: Added CentraladministrationPort parameter * Fixed issue with PowerShell session timeouts -### 0.4.0 +## 0.4.0 * Fixed issue with nested modules cmdlets not being found -### 0.3.0 +## 0.3.0 -* Fixed issue with detection of Identity Extensions in xSPInstallPrereqs resource +* Fixed issue with detection of Identity Extensions in xSPInstallPrereqs + resource * Changes to comply with PSScriptAnalyzer rules -### 0.2.0 +## 0.2.0 * Initial public release of xSharePoint - diff --git a/README.md b/README.md index 095ae42cd..e9ae540c7 100644 --- a/README.md +++ b/README.md @@ -4,46 +4,59 @@ Build status: [![Build status](https://ci.appveyor.com/api/projects/status/aj6ce Discuss SharePointDsc now: [![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/PowerShell/xSharePoint?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge) -The SharePointDsc PowerShell module (formerly known as xSharePoint) provides DSC resources that can be used to deploy and manage a SharePoint farm. +The SharePointDsc PowerShell module (formerly known as xSharePoint) provides +DSC resources that can be used to deploy and manage a SharePoint farm. -Please leave comments, feature requests, and bug reports in the issues tab for this module. +Please leave comments, feature requests, and bug reports in the issues tab for +this module. -If you would like to modify SharePointDsc module, please feel free. -As specified in the license, you may copy or modify this resource as long as they are used on the Windows Platform. -Please refer to the [Contribution Guidelines](https://github.com/PowerShell/SharePointDsc/wiki/Contributing%20to%20SharePointDSC) for information about style guides, testing and patterns for contributing to DSC resources. +If you would like to modify SharePointDsc module, please feel free. Please +refer to the [Contribution Guidelines](https://github.com/PowerShell/SharePointDsc/wiki/Contributing%20to%20SharePointDSC) +for information about style guides, testing and patterns for contributing +to DSC resources. This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). -For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments. +For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) +or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any +additional questions or comments. ## Installation -To manually install the module, download the source code and unzip the contents of the \Modules\SharePointDsc directory to the $env:ProgramFiles\WindowsPowerShell\Modules folder +To manually install the module, download the source code and unzip the contents +of the \Modules\SharePointDsc directory to the +$env:ProgramFiles\WindowsPowerShell\Modules folder -To install from the PowerShell gallery using PowerShellGet (in PowerShell 5.0) run the following command: +To install from the PowerShell gallery using PowerShellGet (in PowerShell 5.0) +run the following command: Find-Module -Name SharePointDsc -Repository PSGallery | Install-Module -To confirm installation, run the below command and ensure you see the SharePoint DSC resoures available: +To confirm installation, run the below command and ensure you see the +SharePoint DSC resoures available: Get-DscResource -Module SharePointDsc +## Requirements -## Requirements - -The minimum PowerShell version required is 4.0, which ships in Windows 8.1 or Windows Server 2012R2 (or higher versions). -The preferred version is PowerShell 5.0 or higher, which ships with Windows 10 or Windows Server 2016. -This is discussed [on the SharePointDsc wiki](https://github.com/PowerShell/SharePointDsc/wiki/Remote%20sessions%20and%20the%20InstallAccount%20variable), but generally PowerShell 5 will run the SharePoint DSC resources faster and with improved verbose level logging. +The minimum PowerShell version required is 4.0, which ships in Windows 8.1 +or Windows Server 2012R2 (or higher versions). The preferred version is +PowerShell 5.0 or higher, which ships with Windows 10 or Windows Server 2016. +This is discussed [on the SharePointDsc wiki](https://github.com/PowerShell/SharePointDsc/wiki/Remote%20sessions%20and%20the%20InstallAccount%20variable), +but generally PowerShell 5 will run the SharePoint DSC resources faster and +with improved verbose level logging. ## Documentation and examples -For a full list of resources in SharePointDsc and examples on their use, check out the [SharePointDsc wiki](https://github.com/PowerShell/SharePointDsc/wiki). -You can also review the "examples" directory in the SharePointDSC module for some general use scenarios for all of the resources that are in the module. +For a full list of resources in SharePointDsc and examples on their use, check +out the [SharePointDsc wiki](https://github.com/PowerShell/SharePointDsc/wiki). +You can also review the "examples" directory in the SharePointDSC module for +some general use scenarios for all of the resources that are in the module. ## Changelog -A full list of changes in each version can be found in the [change log](CHANGELOG.md) +A full list of changes in each version can be found in the +[change log](CHANGELOG.md) ## Project Throughput [![Throughput Graph](https://graphs.waffle.io/PowerShell/SharePointDsc/throughput.svg)](https://waffle.io/PowerShell/SharePointDsc/metrics/throughput) - diff --git a/appveyor.yml b/appveyor.yml index 44501da52..95a4f464d 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -12,8 +12,6 @@ install: build: off test_script: - - cmd: | - gulp - ps: | Start-AppveyorTestScriptTask From 564c860fed1c61a8d32c667c08336ebd4f177d57 Mon Sep 17 00:00:00 2001 From: Brian Farnhill Date: Tue, 1 Nov 2016 16:45:38 +1100 Subject: [PATCH 09/38] Got it scanning all directories --- Tests/Unit/SharePointDsc/SharePointDsc.Global.Tests.ps1 | 2 +- gulpfile.js | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Tests/Unit/SharePointDsc/SharePointDsc.Global.Tests.ps1 b/Tests/Unit/SharePointDsc/SharePointDsc.Global.Tests.ps1 index ae75efc04..ee2cbabba 100644 --- a/Tests/Unit/SharePointDsc/SharePointDsc.Global.Tests.ps1 +++ b/Tests/Unit/SharePointDsc/SharePointDsc.Global.Tests.ps1 @@ -91,7 +91,7 @@ Describe 'SharePointDsc whole of module tests' { { $mdErrors = 0 try { - Start-Process -FilePath "gulp" -Wait -WorkingDirectory $RepoRoot -PassThru -NoNewWindow + Start-Process -FilePath "gulp" -ArgumentList "test-mdsyntax" -Wait -WorkingDirectory $RepoRoot -PassThru -NoNewWindow Start-Sleep -Seconds 3 $mdIssuesPath = Join-Path -Path $RepoRoot -ChildPath "markdownissues.txt" diff --git a/gulpfile.js b/gulpfile.js index ad3a21013..58717609c 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -3,8 +3,8 @@ var through2 = require("through2"); var markdownlint = require("markdownlint"); var fs = require('fs'); -gulp.task("default", function task() { - return gulp.src("*.md", { "read": false }) +gulp.task("test-mdsyntax", function task() { + return gulp.src("Modules/**/*.md", { "read": false }) .pipe(through2.obj(function obj(file, enc, next) { markdownlint( { "files": [ file.path ] }, From a7ef7f4f6e1efe12f0fd5e6698dfe22f6f186964 Mon Sep 17 00:00:00 2001 From: Yorick Kuijs Date: Tue, 1 Nov 2016 16:09:50 +0100 Subject: [PATCH 10/38] Updated Changelog --- CHANGELOG.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6017a09f4..4920bc212 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,8 @@ # Change log for SharePointDsc +### Unreleased + * Updated SPDatabaseAAG to allow database name patterns + ### 1.4 * Set-TargetResource of Service Application now also removes all associated proxies * Fixed issue with all SPServiceApplication for OS not in En-Us language, add GetType().FullName method in: From 2342211a611a472265e9a0a8e40ffe1e4e36f2c1 Mon Sep 17 00:00:00 2001 From: Brian Farnhill Date: Wed, 2 Nov 2016 12:46:13 +1100 Subject: [PATCH 11/38] Updated markdown syntax --- .../MSFT_SPAccessServiceApp/readme.md | 8 ++-- .../MSFT_SPAlternateUrl/readme.md | 9 ++-- .../MSFT_SPAntivirusSettings/readme.md | 11 ++--- .../DSCResources/MSFT_SPAppCatalog/readme.md | 8 ++-- .../DSCResources/MSFT_SPAppDomain/readme.md | 6 +-- .../MSFT_SPAppManagementServiceApp/readme.md | 16 ++++--- .../MSFT_SPAppStoreSettings/readme.md | 5 ++- .../MSFT_SPBCSServiceApp/readme.md | 16 ++++--- .../MSFT_SPBlobCacheSettings/Readme.md | 22 ++++++---- .../MSFT_SPCacheAccounts/Readme.md | 8 ++-- .../MSFT_SPConfigWizard/readme.md | 10 +++-- .../MSFT_SPContentDatabase/Readme.md | 11 ++--- .../DSCResources/MSFT_SPCreateFarm/Readme.md | 36 +++++++++------- .../DSCResources/MSFT_SPDatabaseAAG/Readme.md | 8 ++-- .../MSFT_SPDesignerSettings/Readme.md | 27 ++++++------ .../Readme.md | 10 ++--- .../MSFT_SPDistributedCacheService/Readme.md | 36 ++++++++-------- .../MSFT_SPExcelServiceApp/Readme.md | 6 +-- .../MSFT_SPFarmAdministrators/Readme.md | 20 ++++----- .../MSFT_SPFarmSolution/Readme.md | 14 +++--- .../DSCResources/MSFT_SPFeature/Readme.md | 10 ++--- .../MSFT_SPHealthAnalyzerRuleState/Readme.md | 6 +-- .../DSCResources/MSFT_SPInstall/Readme.md | 12 +++--- .../MSFT_SPInstallLanguagePack/Readme.md | 10 ++--- .../MSFT_SPInstallPrereqs/Readme.md | 30 +++++++------ .../DSCResources/MSFT_SPIrmSettings/Readme.md | 2 +- .../DSCResources/MSFT_SPJoinFarm/readme.md | 16 +++---- .../MSFT_SPManagedAccount/readme.md | 14 +++--- .../readme.md | 12 +++--- .../DSCResources/MSFT_SPManagedPath/readme.md | 16 +++---- .../readme.md | 16 +++---- .../MSFT_SPOutgoingEmailSettings/readme.md | 14 +++--- .../MSFT_SPPasswordChangeSettings/readme.md | 12 +++--- .../readme.md | 6 +-- .../MSFT_SPProductUpdate/readme.md | 30 +++++++------ .../readme.md | 13 +++--- .../MSFT_SPQuotaTemplate/readme.md | 8 ++-- .../MSFT_SPRemoteFarmTrust/readme.md | 8 ++-- .../MSFT_SPSearchContentSource/readme.md | 2 +- .../MSFT_SPSearchCrawlRule/readme.md | 6 +-- .../MSFT_SPSearchIndexPartition/readme.md | 27 ++++++------ .../MSFT_SPSearchResultSource/readme.md | 8 ++-- .../MSFT_SPSearchServiceApp/readme.md | 16 +++---- .../MSFT_SPSearchTopology/readme.md | 31 ++++++------- .../MSFT_SPSecureStoreServiceApp/readme.md | 10 ++--- .../MSFT_SPServiceAppPool/readme.md | 8 ++-- .../MSFT_SPServiceAppProxyGroup/readme.md | 25 +++++------ .../MSFT_SPServiceAppSecurity/readme.md | 26 +++++------ .../MSFT_SPServiceInstance/readme.md | 8 ++-- .../MSFT_SPSessionStateService/readme.md | 8 ++-- .../DSCResources/MSFT_SPShellAdmins/readme.md | 43 ++++++++++--------- .../DSCResources/MSFT_SPSite/readme.md | 12 +++--- .../MSFT_SPStateServiceApp/readme.md | 6 +-- .../readme.md | 18 ++++---- .../MSFT_SPTimerJobState/readme.md | 14 +++--- .../readme.md | 33 +++++++------- .../MSFT_SPUsageApplication/readme.md | 8 ++-- .../MSFT_SPUserProfileProperty/readme.md | 16 +++---- .../MSFT_SPUserProfileSection/readme.md | 9 ++-- .../MSFT_SPUserProfileServiceApp/readme.md | 16 +++---- .../readme.md | 10 ++--- .../readme.md | 8 ++-- .../MSFT_SPUserProfileSyncService/readme.md | 22 +++++----- .../MSFT_SPVisioServiceApp/readme.md | 8 ++-- .../DSCResources/MSFT_SPWeb/readme.md | 6 +-- .../MSFT_SPWebAppBlockedFileTypes/readme.md | 24 +++++------ .../MSFT_SPWebAppGeneralSettings/readme.md | 12 +++--- .../MSFT_SPWebAppPermissions/readme.md | 10 ++--- .../MSFT_SPWebAppPolicy/readme.md | 29 +++++++------ .../MSFT_SPWebAppProxyGroup/readme.md | 17 ++++---- .../MSFT_SPWebAppSiteUseAndDeletion/readme.md | 10 ++--- .../MSFT_SPWebAppThrottlingSettings/readme.md | 16 +++---- .../MSFT_SPWebAppWorkflowSettings/readme.md | 12 +++--- .../MSFT_SPWebApplication/readme.md | 10 ++--- .../MSFT_SPWebApplicationAppDomain/readme.md | 12 +++--- .../MSFT_SPWordAutomationServiceApp/readme.md | 15 ++++--- .../MSFT_SPWorkManagementServiceApp/readme.md | 20 +++++---- .../SharePointDsc.Global.Tests.ps1 | 2 +- 78 files changed, 579 insertions(+), 536 deletions(-) diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPAccessServiceApp/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPAccessServiceApp/readme.md index 8b5ca1d5a..ce5262532 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPAccessServiceApp/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPAccessServiceApp/readme.md @@ -1,5 +1,5 @@ -**Description** +# Description -This resource is responsible for creating Access Services Application instances within the local -SharePoint farm. The resource will provision and configure the Access Services Service -Application. +This resource is responsible for creating Access Services Application instances +within the local SharePoint farm. The resource will provision and configure the +Access Services Service Application. diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPAlternateUrl/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPAlternateUrl/readme.md index 789ffd07b..c23518a5e 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPAlternateUrl/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPAlternateUrl/readme.md @@ -1,5 +1,6 @@ -**Description** +# Description -This resource is used to define an alternate access mapping URL for a specified web application. -These can be assigned to specific zones for each web application. Alternatively a URL can be -removed from a zone to ensure that it will remain empty and have no alternate URL. +This resource is used to define an alternate access mapping URL for a specified +web application. These can be assigned to specific zones for each web +application. Alternatively a URL can be removed from a zone to ensure that it +will remain empty and have no alternate URL. diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPAntivirusSettings/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPAntivirusSettings/readme.md index 5763f600c..59ae0bd7c 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPAntivirusSettings/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPAntivirusSettings/readme.md @@ -1,6 +1,7 @@ -**Description** +# Description -This resource is used to set the global antivirus settings for the local farm. These settings -will be used to control the behavior of an external anti-virus scanning tool that is able to -integrate with SharePoint. Note that this will not scan documents for viruses on it's own, an -external tool still needs to be installed on the servers that integrates with SharePoint. +This resource is used to set the global antivirus settings for the local farm. +These settings will be used to control the behavior of an external anti-virus +scanning tool that is able to integrate with SharePoint. Note that this will +not scan documents for viruses on it's own, an external tool still needs to be +installed on the servers that integrates with SharePoint. diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPAppCatalog/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPAppCatalog/readme.md index 6ea23823d..5821f7f0e 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPAppCatalog/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPAppCatalog/readme.md @@ -1,5 +1,5 @@ -**Description** +# Description -This resource will ensure that a specific site collection is marked as the app catalog for -the web application that the site is in. The catalog site needs to have been created using -the correct template (APPCATALOG#0). +This resource will ensure that a specific site collection is marked as the app +catalog for the web application that the site is in. The catalog site needs to +have been created using the correct template (APPCATALOG#0). diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPAppDomain/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPAppDomain/readme.md index 821c6c134..f515d708b 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPAppDomain/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPAppDomain/readme.md @@ -1,4 +1,4 @@ -**Description** +# Description -This resource will set the value for the app domain settings at the farm level. You can set the -domain name and the prefix that is to be used for app URLs. +This resource will set the value for the app domain settings at the farm level. +You can set the domain name and the prefix that is to be used for app URLs. diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPAppManagementServiceApp/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPAppManagementServiceApp/readme.md index f2a10101f..f06b2704c 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPAppManagementServiceApp/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPAppManagementServiceApp/readme.md @@ -1,8 +1,10 @@ -**Description** +# Description -This resource is used to provision and manage an instance of the App Management Services -Service Application. It will identify an instance of the app management service application -through the application display name. Currently the resource will provision the app if it does -not yet exist, and will change the application pool associated to the app if it does not match -the configuration. Database names or server name will not be changed if the configuration does -not match, these parameters are only used for the initial provisioning of the service application. +This resource is used to provision and manage an instance of the App Management +Services Service Application. It will identify an instance of the app +management service application through the application display name. Currently +the resource will provision the app if it does not yet exist, and will change +the application pool associated to the app if it does not match the +configuration. Database names or server name will not be changed if the +configuration does not match, these parameters are only used for the initial +provisioning of the service application. diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPAppStoreSettings/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPAppStoreSettings/readme.md index fbbed67d4..7ecb2bc38 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPAppStoreSettings/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPAppStoreSettings/readme.md @@ -1,3 +1,4 @@ -**Description** +# Description -This resource will configure the ability to purchase apps for both SharePoint and Office apps. +This resource will configure the ability to purchase apps for both SharePoint +and Office apps. diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPBCSServiceApp/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPBCSServiceApp/readme.md index eb2bcf8b7..5a1694fc7 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPBCSServiceApp/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPBCSServiceApp/readme.md @@ -1,8 +1,10 @@ -**Description** +# Description -This resource is used to provision and manage an instance of the Business Connectivity Services -Service Application. It will identify an instance of the BCS app through the application -display name. Currently the resource will provision the app if it does not yet exist, and will -change the service account associated to the app if it does not match the configuration. Database -names or server name will not be changed if the configuration does not match, these parameters -are only used for the initial provisioning of the service application. +This resource is used to provision and manage an instance of the Business +Connectivity Services Service Application. It will identify an instance +of the BCS app through the application display name. Currently the resource +will provision the app if it does not yet exist, and will change the service +account associated to the app if it does not match the configuration. Database +names or server name will not be changed if the configuration does not match, +these parameters are only used for the initial provisioning of the service +application. diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPBlobCacheSettings/Readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPBlobCacheSettings/Readme.md index 8d9b771c7..1b3cdac5a 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPBlobCacheSettings/Readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPBlobCacheSettings/Readme.md @@ -1,17 +1,21 @@ -**Description** +# Description -This resource is used to configure the Blob Cache settings for a web application. +This resource is used to configure the Blob Cache settings for a web +application. Important: -This resource only configures the local server. It changes the web.config file directly -and is NOT using the SPWebConfigModifications class. In order to configure all WFE servers -in the farm, you have to apply this resource to all servers. +This resource only configures the local server. It changes the web.config +file directly and is NOT using the SPWebConfigModifications class. In order +to configure all WFE servers in the farm, you have to apply this resource +to all servers. Note: -- In order to prevent inconsistancy between different web front end servers, make sure you -configure this setting on all servers equally. + +- In order to prevent inconsistancy between different web front end servers, + make sure you configure this setting on all servers equally. - If the specified folder does not exist, the resource will create the folder. Best practice: -Specify a directory that is not on the same drive as where either the server operating system -swap files or server log files are stored. +Specify a directory that is not on the same drive as where either the server +operating system swap files or server log files are stored. + diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPCacheAccounts/Readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPCacheAccounts/Readme.md index eadf78065..f7df10161 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPCacheAccounts/Readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPCacheAccounts/Readme.md @@ -1,5 +1,5 @@ -**Description** +# Description -This resource is used to set the "super user" and "super reader" cache accounts for the -specified web application object (as described in the TechNet article [Configure object -cache user accounts in SharePoint Server 2013](https://technet.microsoft.com/en-us/library/ff758656.aspx)). +This resource is used to set the "super user" and "super reader" cache accounts +for the specified web application object (as described in the TechNet article +[Configure object cache user accounts in SharePoint Server 2013](https://technet.microsoft.com/en-us/library/ff758656.aspx)). diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPConfigWizard/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPConfigWizard/readme.md index 951505032..7672893ff 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPConfigWizard/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPConfigWizard/readme.md @@ -1,5 +1,7 @@ -**Description** +# Description -This resource is used to perform the upgrade step of installing SharePoint updates, like Cumulative Updates, Service Packs and Language Packs. -The DatabaseUpgradeDays and DatabaseUpgradeTime parameters specify a window in which the update can be installed. -This module has to be used to complete the update installation step, performed by SPProductUpdate. +This resource is used to perform the upgrade step of installing SharePoint +updates, like Cumulative Updates, Service Packs and Language Packs. The +DatabaseUpgradeDays and DatabaseUpgradeTime parameters specify a window in +which the update can be installed. This module has to be used to complete the +update installation step, performed by SPProductUpdate. diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPContentDatabase/Readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPContentDatabase/Readme.md index f2f9c9cc8..abb4545d1 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPContentDatabase/Readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPContentDatabase/Readme.md @@ -1,6 +1,7 @@ -**Description** +# Description -This resource is used to add and remove Content Databases to web applications and configure -these databases. Note: The resource cannot be used to move the database to a different -SQL instance. It will throw an error when it detects that the specified SQL instance is a -different instance that is currently in use. +This resource is used to add and remove Content Databases to web applications +and configure these databases. Note: The resource cannot be used to move the +database to a different SQL instance. It will throw an error when it detects +that the specified SQL instance is a different instance that is currently in +use. diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPCreateFarm/Readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPCreateFarm/Readme.md index 37d519119..7db6854bf 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPCreateFarm/Readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPCreateFarm/Readme.md @@ -1,21 +1,25 @@ -**Description** +# Description -This resource is used to provision a new SharePoint farm. It should only be used on the first -server in the farm to create the configuration database, all servers to join the farm after the -first server creates the configuration database should use SPJoinFarm. Once the config DB has -been created, the resource will install local help collections, secure resources, activate +This resource is used to provision a new SharePoint farm. It should only be +used on the first server in the farm to create the configuration database, all +servers to join the farm after the first server creates the configuration +database should use SPJoinFarm. Once the config DB has been created, the +resource will install local help collections, secure resources, activate features and provision the central admin site. -The passphrase is passed as a Credential object.The username of this credential is ignored, only -the value of the password is used as the farm passphrase. +The passphrase is passed as a Credential object.The username of this +credential is ignored, only the value of the password is used as the farm +passphrase. -The port of the Central Admin website can be set by using the CentralAdministrationPort property, -if this is not defined the site will be provisioned on port 9999. However this setting will not -impact existing deployments that already have Central Admin provisioned on another port. Also when -a farm is created, the current behavior is to not enroll the server as a cache server (which is -the default behavior of SharePoint). This means you need to use SPDistributedCacheService on at -least one server in the farm to designate it as a cache server. +The port of the Central Admin website can be set by using the +CentralAdministrationPort property, if this is not defined the site will be +provisioned on port 9999. However this setting will not impact existing +deployments that already have Central Admin provisioned on another port. Also +when a farm is created, the current behavior is to not enroll the server as a +cache server (which is the default behavior of SharePoint). This means you +need to use SPDistributedCacheService on at least one server in the farm to +designate it as a cache server. -CentralAdministrationAuth can be specified as "NTLM" or "KERBEROS". If not specified, it defaults -to NTLM. If using Kerberos, make sure to have appropriate SPNs setup for Farm account and Central -Administration URI. +CentralAdministrationAuth can be specified as "NTLM" or "KERBEROS". If not +specified, it defaults to NTLM. If using Kerberos, make sure to have +appropriate SPNs setup for Farm account and Central Administration URI. diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPDatabaseAAG/Readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPDatabaseAAG/Readme.md index aeace9b43..9ab8da395 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPDatabaseAAG/Readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPDatabaseAAG/Readme.md @@ -1,5 +1,5 @@ -**Description** +# Description -This resource will allow specifying which SQL Server AlwaysOn Availability group a -resource should be in. This resource does not configure the Availability Groups on -SQL Server, they must already exist. It simply adds the specified database to the group. +This resource will allow specifying which SQL Server AlwaysOn Availability +group a resource should be in. This resource does not configure the +Availability Groups on SQL Server, they must already exist. It simply adds the diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPDesignerSettings/Readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPDesignerSettings/Readme.md index 27c28a8df..36e98c2fb 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPDesignerSettings/Readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPDesignerSettings/Readme.md @@ -1,17 +1,18 @@ -**Description** +# Description -This resource is used to set the SharePoint Designer settings for the local farm or site -collections. These settings will be used to control if users are allowed to make changes -using SharePoint Designer. Note that this will not prevent users from installing -SharePoint Designer, just from using SharePoint Designer to connect to the farm. +This resource is used to set the SharePoint Designer settings for the local +farm or site collections. These settings will be used to control if users are +allowed to make changes using SharePoint Designer. Note that this will not +prevent users from installing SharePoint Designer, just from using SharePoint +Designer to connect to the farm. -Settings can be applied against an entire web application, or a specific site collection. -Use the "SettingsScope" property to set it to either "WebApplication" or "SiteCollection" -to define which you are targetting. +Settings can be applied against an entire web application, or a specific site +collection. Use the "SettingsScope" property to set it to either +"WebApplication" or "SiteCollection" to define which you are targetting. Known issue: -When using PowerShell v4 or PowerShell v5 with the InstallAccount switch (instead of -PsDscRunAsCredential), you cannot use the SettingsScope "SiteCollection". Due to an issue -with Remote PowerShell and SharePoint, changing the Site Collection settings results in -an Access Denied error. Consider implementing PowerShell v5 and switching to the -PsDscRunAsCredential configuration. +When using PowerShell v4 or PowerShell v5 with the InstallAccount switch +(instead of PsDscRunAsCredential), you cannot use the SettingsScope +"SiteCollection". Due to an issue with Remote PowerShell and SharePoint, +changing the Site Collection settings results in an Access Denied error. +Consider implementing PowerShell v5 and switching to the PsDscRunAsCredential diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPDiagnosticLoggingSettings/Readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPDiagnosticLoggingSettings/Readme.md index 029bd1f1c..ec6814c0c 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPDiagnosticLoggingSettings/Readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPDiagnosticLoggingSettings/Readme.md @@ -1,6 +1,6 @@ -**Description** +# Description -This resource is responsible for configuring settings to do with the diagnostic -(ULS) logging on servers in the farm. These settings are applied to the diagnostic -logging service for the farm and do not need to be applied to each server individually, -the settings will be propagated throughout the farm when they are set. +This resource is responsible for configuring settings to do with the diagnostic +(ULS) logging on servers in the farm. These settings are applied to the +diagnostic logging service for the farm and do not need to be applied to each +server individually, the settings will be propagated throughout the farm when diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPDistributedCacheService/Readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPDistributedCacheService/Readme.md index 0b5201aae..3914c4d19 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPDistributedCacheService/Readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPDistributedCacheService/Readme.md @@ -1,19 +1,21 @@ -**Description** +# Description -This resource is responsible for provisioning the distributed cache to the service it -runs on. This is required in your farm on at least one server (as the behavior of -SPCreateFarm and SPJoinFarm is to not enroll every server as a cache server). The service -will be provisioned or de-provisioned based on the Ensure property, and when provisioned -the CacheSizeInMB property and ServiceAccount property will be used to configure it. The -property createFirewallRules is used to determine if exceptions should be added to the -windows firewall to allow communication between servers on the appropriate ports. +This resource is responsible for provisioning the distributed cache to the +service it runs on. This is required in your farm on at least one server (as +the behavior of SPCreateFarm and SPJoinFarm is to not enroll every server as a +cache server). The service will be provisioned or de-provisioned based on the +Ensure property, and when provisioned the CacheSizeInMB property and +ServiceAccount property will be used to configure it. The property +createFirewallRules is used to determine if exceptions should be added to the +windows firewall to allow communication between servers on the appropriate +ports. -The ServerProvisionOrder optional property is used when a pull server is handing out -configurations to nodes in order to tell this resource about a specific order of enabling -the caches. This allows for multiple servers to receive the same configuration, but they -will always check for the server before them in the list first to ensure that it is running -distributed cache. By doing this you can ensure that you do not create conflicts with two -or more servers provisioning a cache at the same time. Note, this approach only makes a -server check the others for distributed cache, it does not provision the cache automatically -on all servers. If a previous server in the sequence does not appear to be running -distributed cache after 30 minutes, the local server that was waiting will begin anyway. +The ServerProvisionOrder optional property is used when a pull server is +handing out configurations to nodes in order to tell this resource about a +specific order of enabling the caches. This allows for multiple servers to +receive the same configuration, but they will always check for the server +before them in the list first to ensure that it is running distributed cache. +By doing this you can ensure that you do not create conflicts with two or more +servers provisioning a cache at the same time. Note, this approach only makes +a server check the others for distributed cache, it does not provision the +cache automatically on all servers. If a previous server in the sequence does diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPExcelServiceApp/Readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPExcelServiceApp/Readme.md index 55ec9202a..ba3776144 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPExcelServiceApp/Readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPExcelServiceApp/Readme.md @@ -1,5 +1,5 @@ -**Description** +# Description -This resource is responsible for creating Excel Services Application instances -within the local SharePoint farm. The resource will provision and configure the +This resource is responsible for creating Excel Services Application instances +within the local SharePoint farm. The resource will provision and configure the Excel Services Service Application. diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPFarmAdministrators/Readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPFarmAdministrators/Readme.md index e288f95a8..338b230fc 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPFarmAdministrators/Readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPFarmAdministrators/Readme.md @@ -1,11 +1,11 @@ -**Description** +# Description -This resource is used to manage the membership of the farm administrators group. -There are a number of approaches to how this can be implemented. The "members" -property will set a specific list of members for the group, making sure that every -user/group in the list is in the group and all others that are members and who are -not in this list will be removed. The "MembersToInclude" and "MembersToExclude" -properties will allow you to control a specific set of users to add or remove, -without changing any other members that are in the group already that may not be -specified here, allowing for some manual management outside of this configuration -resource. +This resource is used to manage the membership of the farm administrators +group. There are a number of approaches to how this can be implemented. The +"members" property will set a specific list of members for the group, making +sure that every user/group in the list is in the group and all others that are +members and who are not in this list will be removed. The "MembersToInclude" +and "MembersToExclude" properties will allow you to control a specific set of +users to add or remove, without changing any other members that are in the +group already that may not be specified here, allowing for some manual +management outside of this configuration resource. diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPFarmSolution/Readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPFarmSolution/Readme.md index 8c4870b69..acbd2d268 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPFarmSolution/Readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPFarmSolution/Readme.md @@ -1,8 +1,8 @@ -**Description** +# Description -This resource is used to make sure that a specific farm solution is either present or -absent in a farm. The solution can be deployed to one or more web application passing -an array of URL's to the WebApplications property. If the solution contains resources -scoped for web applications and no WebApplications are specified, the solution will be -deployed to all web applications. If the solution does not contain resources scoped for -web applications the property is ignored and the solution is deployed globally. +This resource is used to make sure that a specific farm solution is either +present or absent in a farm. The solution can be deployed to one or more web +application passing an array of URL's to the WebApplications property. If the +solution contains resources scoped for web applications and no WebApplications +are specified, the solution will be deployed to all web applications. If the +solution does not contain resources scoped for web applications the property diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPFeature/Readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPFeature/Readme.md index 6065cbadf..fc18f0c37 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPFeature/Readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPFeature/Readme.md @@ -1,6 +1,6 @@ -**Description** +# Description -This resource is used to make sure that a specific feature is either enabled or disabled -at a given URL/scope. The Ensure property will dictate if the feature should be on or -off. The name property is the name of the feature based on its folder name in the -FEATURES folder in the SharePoint hive directory. +This resource is used to make sure that a specific feature is either enabled +or disabled at a given URL/scope. The Ensure property will dictate if the +feature should be on or off. The name property is the name of the feature +based on its folder name in the FEATURES folder in the SharePoint hive diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPHealthAnalyzerRuleState/Readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPHealthAnalyzerRuleState/Readme.md index f26f29404..87c887471 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPHealthAnalyzerRuleState/Readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPHealthAnalyzerRuleState/Readme.md @@ -1,4 +1,4 @@ -**Description** +# Description -This resource is used to configure Health Analyzer rules for the local farm. The -resource is able to enable/disable and configure the specified rule. +This resource is used to configure Health Analyzer rules for the local farm. +The resource is able to enable/disable and configure the specified rule. diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPInstall/Readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPInstall/Readme.md index bc208ceb2..0b23d1aaf 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPInstall/Readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPInstall/Readme.md @@ -1,7 +1,7 @@ -**Description** +# Description -This resource is used to install the SharePoint binaries. The BinaryDir parameter should -point to the path that setup.exe is located (not to setup.exe itself). The ProductKey -parameter is used to inject in to the configuration file and validate the license key -during the installation process. This module depends on the prerequisites already being -installed, which can be done through the use of SPInstallPreReqs. +This resource is used to install the SharePoint binaries. The BinaryDir +parameter should point to the path that setup.exe is located (not to setup.exe +itself). The ProductKey parameter is used to inject in to the configuration +file and validate the license key during the installation process. This module +depends on the prerequisites already being installed, which can be done diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPInstallLanguagePack/Readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPInstallLanguagePack/Readme.md index fe3d53a12..5b359942d 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPInstallLanguagePack/Readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPInstallLanguagePack/Readme.md @@ -1,6 +1,6 @@ -**Description** +# Description -This resource is used to install the SharePoint Language Pack binaries. The BinaryDir parameter should -point to the path that setup.exe is located (not to setup.exe itself). -The BinaryInstallDays and BinaryInstallTime parameters specify a window in which the update can be installed. -This module depends on SharePoint already being installed, which can be done through the use of SPInstall. +This resource is used to install the SharePoint Language Pack binaries. The +BinaryDir parameter should point to the path that setup.exe is located (not to +setup.exe itself). The BinaryInstallDays and BinaryInstallTime parameters +specify a window in which the update can be installed. This module depends on diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPInstallPrereqs/Readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPInstallPrereqs/Readme.md index 8eb7ee928..02c2b8a19 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPInstallPrereqs/Readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPInstallPrereqs/Readme.md @@ -1,19 +1,21 @@ -**Description** +# Description -This resource is responsible for ensuring the installation of all SharePoint prerequisites. -It makes use of the PrerequisiteInstaller.exe file that is part of the SharePoint binaries, -and will install the required Windows features as well as additional software. The -OnlineMode boolean will tell the prerequisite installer which mode to run in, if it is -online you do not need to list any other parameters for this resource. If you do not use -online mode, you must include all other parameters to specify where the installation files -are located. These additional parameters map directly to the options passed to -prerequisiteinstaller.exe. For installations with no connectivity to Windows Update, use the -SXSpath parameter to specify the path to the SXS store of your Windows Server install media. +This resource is responsible for ensuring the installation of all SharePoint +prerequisites. It makes use of the PrerequisiteInstaller.exe file that is part +of the SharePoint binaries, and will install the required Windows features as +well as additional software. The OnlineMode boolean will tell the prerequisite +installer which mode to run in, if it is online you do not need to list any +other parameters for this resource. If you do not use online mode, you must +include all other parameters to specify where the installation files are +located. These additional parameters map directly to the options passed to +prerequisiteinstaller.exe. For installations with no connectivity to Windows +Update, use the SXSpath parameter to specify the path to the SXS store of your +Windows Server install media. -Additionally, the process of installing the prerequisites on a Windows Server usually results -in 2-3 restarts of the system being required. To ensure the DSC configuration is able to -restart the server when needed, ensure the below settings for the local configuration manager -are included in your DSC file. +Additionally, the process of installing the prerequisites on a Windows Server +usually results in 2-3 restarts of the system being required. To ensure the +DSC configuration is able to restart the server when needed, ensure the below +settings for the local configuration manager are included in your DSC file. LocalConfigurationManager { diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPIrmSettings/Readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPIrmSettings/Readme.md index 244303c0f..e8ce0f78d 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPIrmSettings/Readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPIrmSettings/Readme.md @@ -1,3 +1,3 @@ -**Description** +# Description This resource is used to manipulate the IRM settings in SharePoint, integrating it with AD RMS diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPJoinFarm/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPJoinFarm/readme.md index 3b261851e..146fa8097 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPJoinFarm/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPJoinFarm/readme.md @@ -1,9 +1,9 @@ -**Description** +# Description -This resource will be responsible for joining a server to an existing SharePoint -farm. To create a new farm use the SPCreateFarm resource on a different server -to begin with, and then pass the same database server and configuration database -name parameters to the additional servers using this resource. After the server has -joined the farm, the process will wait for 5 minutes to allow farm specific -configuration to take place on the server, before allowing further DSC configuration -to take place. +This resource will be responsible for joining a server to an existing +SharePoint farm. To create a new farm use the SPCreateFarm resource on a +different server to begin with, and then pass the same database server and +configuration database name parameters to the additional servers using this +resource. After the server has joined the farm, the process will wait for 5 +minutes to allow farm specific configuration to take place on the server, +before allowing further DSC configuration to take place. diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPManagedAccount/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPManagedAccount/readme.md index f7033f181..4fb4564b5 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPManagedAccount/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPManagedAccount/readme.md @@ -1,8 +1,8 @@ -**Description** +# Description -This resource will ensure a managed account is provisioned in to the SharePoint -farm. The Account object specific the credential to store (including username -and password) to set as the managed account. The settings for EmailNotification, -PreExpireDays and Schedule all relate to enabling automatic password change for -the managed account, leaving these option out of the resource will ensure that -no automatic password changing from SharePoint occurs. +This resource will ensure a managed account is provisioned in to the SharePoint +farm. The Account object specific the credential to store (including username +and password) to set as the managed account. The settings for +EmailNotification, PreExpireDays and Schedule all relate to enabling automatic +password change for the managed account, leaving these option out of the +resource will ensure that no automatic password changing from SharePoint occurs. diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPManagedMetadataServiceApp/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPManagedMetadataServiceApp/readme.md index d04114d90..669d66ed5 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPManagedMetadataServiceApp/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPManagedMetadataServiceApp/readme.md @@ -1,7 +1,7 @@ -**Description** +# Description -Creates a managed metadata service application. The application pool property specifies -which application pool it should use, and will reset the application back to this pool -if it is changed after its initial provisioning. The database server and database name -properties are only used during provisioning, and will not be altered as part of the -ongoing operation of the DSC resource. +Creates a managed metadata service application. The application pool property +specifies which application pool it should use, and will reset the application +back to this pool if it is changed after its initial provisioning. The +database server and database name properties are only used during +provisioning, and will not be altered as part of the ongoing operation of the diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPManagedPath/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPManagedPath/readme.md index 5b5dc0964..d7090efe2 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPManagedPath/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPManagedPath/readme.md @@ -1,9 +1,9 @@ -**Description** +# Description -This resource is responsible for creating managed paths associated with a specific web -application. The WebAppUrl parameter is used to specify the web application to create -the path against, and the RelativeUrl parameter lets you set the URL. Explicit when set -to true will create an explicit inclusion path, if set to false the path is created as -wildcard inclusion. If you are using host named site collections set HostHeader to true -and the path will be created as a host header path to be applied for host named site -collections. +This resource is responsible for creating managed paths associated with a +specific web application. The WebAppUrl parameter is used to specify the web +application to create the path against, and the RelativeUrl parameter lets you +set the URL. Explicit when set to true will create an explicit inclusion path, +if set to false the path is created as wildcard inclusion. If you are using +host named site collections set HostHeader to true and the path will be +created as a host header path to be applied for host named site collections. diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPOfficeOnlineServerBinding/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPOfficeOnlineServerBinding/readme.md index 449409dd5..cb7880e9a 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPOfficeOnlineServerBinding/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPOfficeOnlineServerBinding/readme.md @@ -1,10 +1,10 @@ -**Description** +# Description -This resource will create a binding to an Office Online Server (formerly known as Office -Web Apps). The DnsName property can be a single server name, or a FQDN of a load balanced -end point that will direct traffic to a farm. +This resource will create a binding to an Office Online Server (formerly known +as Office Web Apps). The DnsName property can be a single server name, or a +FQDN of a load balanced end point that will direct traffic to a farm. -NOTE: This resource is designed to be used where all WOPI bindings will be targeted to the -same Office Online Server farm. If used on a clean environment, the new bindings will all -point to the one DNS Name. If used on an existing configuration that does not follow this -rule, it will match only the first DNS name it finds in the list of bindings. +NOTE: This resource is designed to be used where all WOPI bindings will be +targeted to the same Office Online Server farm. If used on a clean +environment, the new bindings will all point to the one DNS Name. If used on +an existing configuration that does not follow this rule, it will match only diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPOutgoingEmailSettings/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPOutgoingEmailSettings/readme.md index 581925502..fa1ba81ac 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPOutgoingEmailSettings/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPOutgoingEmailSettings/readme.md @@ -1,8 +1,8 @@ -**Description** +# Description -This resource is used to set the outgoing email settings for either a single web -application, or the whole farm. To configure the resource for a specific web app, -use the URL of the web application for the WebAppUrl property, to change the -settings for the whole farm use the URL of the central admin website instead. It is -possible to set the outgoing server, from address, reply to address and the character -set to be used for emails. +This resource is used to set the outgoing email settings for either a single +web application, or the whole farm. To configure the resource for a specific +web app, use the URL of the web application for the WebAppUrl property, to +change the settings for the whole farm use the URL of the central admin +website instead. It is possible to set the outgoing server, from address, +reply to address and the character set to be used for emails. diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPPasswordChangeSettings/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPPasswordChangeSettings/readme.md index 8958de546..739ab0a2c 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPPasswordChangeSettings/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPPasswordChangeSettings/readme.md @@ -1,7 +1,7 @@ -**Description** +# Description -This resource is used to control settings that relate to the automatic changing of -passwords for managed accounts (where they opt-in to be managed by SharePoint). These -settings can be manually controlled through central administration, or configured in -this resource. The settings relate to email notifications of when passwords are reset, -as well as behavior when a reset occurs such as a time out and number of retries. +This resource is used to control settings that relate to the automatic +changing of passwords for managed accounts (where they opt-in to be managed by +SharePoint). These settings can be manually controlled through central +administration, or configured in this resource. The settings relate to email +notifications of when passwords are reset, as well as behavior when a reset diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPPerformancePointServiceApp/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPPerformancePointServiceApp/readme.md index 2cbae2354..15a8b8a2d 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPPerformancePointServiceApp/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPPerformancePointServiceApp/readme.md @@ -1,5 +1,5 @@ -**Description** +# Description -This resource is responsible for creating Performance Point Service Application -instances within the local SharePoint farm. The resource will provision and +This resource is responsible for creating Performance Point Service Application +instances within the local SharePoint farm. The resource will provision and configure the Performance Point Service Application. diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPProductUpdate/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPProductUpdate/readme.md index 3b461105e..01e50f131 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPProductUpdate/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPProductUpdate/readme.md @@ -1,16 +1,20 @@ -**Description** +# Description -This resource is used to perform the update step of installing SharePoint updates, like Cumulative Updates and Service Packs. -The SetupFile parameter should point to the update file. -The ShutdownServices parameter is used to indicate if some services (Timer, Search and IIS services) have to be stopped before installation of the update. This will speed up the installation. -The BinaryInstallDays and BinaryInstallTime parameters specify a window in which the update can be installed. -This module requires the Configuration Wizard resource to fully complete the installation of the update, which can be done through the use of SPConfigWizard. +This resource is used to perform the update step of installing SharePoint +updates, like Cumulative Updates and Service Packs. The SetupFile parameter +should point to the update file. The ShutdownServices parameter is used to +indicate if some services (Timer, Search and IIS services) have to be stopped +before installation of the update. This will speed up the installation. The +BinaryInstallDays and BinaryInstallTime parameters specify a window in which +the update can be installed. This module requires the Configuration Wizard +resource to fully complete the installation of the update, which can be done +through the use of SPConfigWizard. IMPORTANT: -This resource retrieves build information from the Configuration Database. Therefore it requires SharePoint to be installed and a farm created. -If you like to deploy a new farm and install updates automatically, you need to implement the following order: -1. Install the SharePoint Binaries (SPInstall) -2. (Optional) Install SharePoint Language Pack(s) Binaries (SPInstallLanguagePack) -3. Create SPFarm (SPCreateFarm) -4. Install Cumulative Updates (SPProductUpdate) -5. Run the Configuration Wizard (SPConfigWizard) +This resource retrieves build information from the Configuration Database. +Therefore it requires SharePoint to be installed and a farm created. If you +like to deploy a new farm and install updates automatically, you need to +implement the following order: 1. Install the SharePoint Binaries (SPInstall) +2. (Optional) Install SharePoint Language Pack(s) Binaries +(SPInstallLanguagePack) 3. Create SPFarm (SPCreateFarm) 4. Install Cumulative +Updates (SPProductUpdate) 5. Run the Configuration Wizard (SPConfigWizard) diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPPublishServiceApplication/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPPublishServiceApplication/readme.md index 525508f75..e9fe0f975 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPPublishServiceApplication/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPPublishServiceApplication/readme.md @@ -1,11 +1,12 @@ -**Description** +# Description -This resource is used to specify if a specific service application should be published -(Ensure = "Present") or not published (Ensure = "Absent") on the current server. -The name is the display name of the service application as shown in the Central Admin website. +This resource is used to specify if a specific service application should be +published (Ensure = "Present") or not published (Ensure = "Absent") on the +current server. The name is the display name of the service application as +shown in the Central Admin website. -You can publish the following service applications in a SharePoint Server 2013/2016 farm: - * Business Data Connectivity +You can publish the following service applications in a SharePoint Server +2013/2016 farm: * Business Data Connectivity * Machine Translation * Managed Metadata * User Profile diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPQuotaTemplate/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPQuotaTemplate/readme.md index 11ac4841c..4a624a382 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPQuotaTemplate/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPQuotaTemplate/readme.md @@ -1,5 +1,5 @@ -**Description** +# Description -This resource is used to configure quota templates in the farm. These settings will -be used to make sure a certain quota template exists or not. When it exists, it will -also make sure the settings are configured as specified. +This resource is used to configure quota templates in the farm. These settings +will be used to make sure a certain quota template exists or not. When it +exists, it will also make sure the settings are configured as specified. diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPRemoteFarmTrust/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPRemoteFarmTrust/readme.md index 45015974b..c4d2c6e02 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPRemoteFarmTrust/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPRemoteFarmTrust/readme.md @@ -1,5 +1,5 @@ -**Description** +# Description -This resource is used to trust a remote SharePoint farm. This is used when federating -search results between two different SharePoint farms. The technique is described at -https://technet.microsoft.com/en-us/library/dn133749.aspx +This resource is used to trust a remote SharePoint farm. This is used when +federating search results between two different SharePoint farms. The +technique is described at diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPSearchContentSource/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPSearchContentSource/readme.md index cbde3e6b3..753459b5b 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPSearchContentSource/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPSearchContentSource/readme.md @@ -1,3 +1,3 @@ -**Description** +# Description This resource will deploy and configure a content source in a specified search service application. diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPSearchCrawlRule/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPSearchCrawlRule/readme.md index 8acad92d1..cf3788172 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPSearchCrawlRule/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPSearchCrawlRule/readme.md @@ -1,5 +1,5 @@ -**Description** +# Description -This resource is responsible for managing the search crawl rules in the search -service application. You can create new rules, change existing rules and remove +This resource is responsible for managing the search crawl rules in the search +service application. You can create new rules, change existing rules and remove existing rules. diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPSearchIndexPartition/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPSearchIndexPartition/readme.md index 9732116cc..6aa701d1e 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPSearchIndexPartition/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPSearchIndexPartition/readme.md @@ -1,16 +1,17 @@ -**Description** +# Description -This resource is responsible for creating search indexes. It works by creating the -index topology components and updating the topology from the server that runs this -resource. For this reason this resource only needs to run from one server and not -from each server which will host the index component. The search service application -and existing search topology must be deployed before creating additional indexes. -The first index will be created through the use of the SPSearchRoles resource. -Additional search index partitions can be created through using this resource. +This resource is responsible for creating search indexes. It works by creating +the index topology components and updating the topology from the server that +runs this resource. For this reason this resource only needs to run from one +server and not from each server which will host the index component. The +search service application and existing search topology must be deployed +before creating additional indexes. The first index will be created through +the use of the SPSearchRoles resource. Additional search index partitions can +be created through using this resource. -Note that for the search topology to apply correctly, the path specified for -RootDirectory needs to exist on the server that is executing this resource. For -example, if the below example was executed on "Server1" it would also need to -ensure that it was able to create the index path at I:\. If no disk labeled I: -was available on server1, this would fail, even though it will not hold an +Note that for the search topology to apply correctly, the path specified for +RootDirectory needs to exist on the server that is executing this resource. For +example, if the below example was executed on "Server1" it would also need to +ensure that it was able to create the index path at I:\. If no disk labeled I: +was available on server1, this would fail, even though it will not hold an actual index component. diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPSearchResultSource/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPSearchResultSource/readme.md index bf9b87a8a..8016f9473 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPSearchResultSource/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPSearchResultSource/readme.md @@ -1,8 +1,8 @@ -** Description ** +** Description ** -This resource is used to configure search result sources in the SharePoint search -service application. Result sources can be configured to be of the following -provider types: +This resource is used to configure search result sources in the SharePoint +search service application. Result sources can be configured to be of the +following provider types: * Exchange Search Provider * Local People Provider diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPSearchServiceApp/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPSearchServiceApp/readme.md index 8b78dc51b..067d00f57 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPSearchServiceApp/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPSearchServiceApp/readme.md @@ -1,9 +1,9 @@ -**Description** +# Description -This resource is responsible for provisioning the search service application. The -current version lets you specify the database name and server, as well as the -application pool. If the application pool is changed the DSC resource will set it -back as per what is set in the resource. The database name parameter is used as the -prefix for all search databases (so you will end up with one for the admin database -which matches the name, and then "_analyticsreportingstore", "_crawlstore" and -"_linkstore" databases as well). +This resource is responsible for provisioning the search service application. +The current version lets you specify the database name and server, as well as +the application pool. If the application pool is changed the DSC resource will +set it back as per what is set in the resource. The database name parameter is +used as the prefix for all search databases (so you will end up with one for +the admin database which matches the name, and then +"_analyticsreportingstore", "_crawlstore" and "_linkstore" databases as well). diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPSearchTopology/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPSearchTopology/readme.md index 617defd63..274e769f4 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPSearchTopology/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPSearchTopology/readme.md @@ -1,17 +1,18 @@ -**Description** +# Description -This resource is responsible for provisioning a search topology in to the current -farm. It allows the configuration to dictate the search topology roles that the -current server should be running. Any combination of roles can be specified and -the topology will be upaded to reflect the current servers new roles. If this is -the first server to apply topology to a farm, then at least one search index must -be provided. To this end, the FirstPartitionIndex, FirstPartitionDirectory and -FirstPartitionServers allow configuring where the first index partition will belong. -This will behave the same as the SPSearchIndexPartition resource. +This resource is responsible for provisioning a search topology in to the +current farm. It allows the configuration to dictate the search topology roles +that the current server should be running. Any combination of roles can be +specified and the topology will be upaded to reflect the current servers new +roles. If this is the first server to apply topology to a farm, then at least +one search index must be provided. To this end, the FirstPartitionIndex, +FirstPartitionDirectory and FirstPartitionServers allow configuring where the +first index partition will belong. This will behave the same as the +SPSearchIndexPartition resource. -Note that for the search topology to apply correctly, the path specified for -FirstPartitionDirectory needs to exist on the server that is executing this resource. -For example, if the below example was executed on "Server1" it would also need to -ensure that it was able to create the index path at I:\. If no disk labeled I: was -available on server1, this would fail, even though it will not hold an actual index -component. +Note that for the search topology to apply correctly, the path specified for +FirstPartitionDirectory needs to exist on the server that is executing this +resource. For example, if the below example was executed on "Server1" it would +also need to ensure that it was able to create the index path at I:\. If no +disk labeled I: was available on server1, this would fail, even though it will +not hold an actual index component. diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPSecureStoreServiceApp/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPSecureStoreServiceApp/readme.md index 39fdef635..3c028ef4c 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPSecureStoreServiceApp/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPSecureStoreServiceApp/readme.md @@ -1,6 +1,6 @@ -**Description** +# Description -This resource is responsible for provisioning and configuring the secure store -service application. The parameters passed in (except those related to database -specifics) are validated and set when the resource is run, the database values -are only used in provisioning of the service application. +This resource is responsible for provisioning and configuring the secure store +service application. The parameters passed in (except those related to database +specifics) are validated and set when the resource is run, the database values +are only used in provisioning of the service application. diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPServiceAppPool/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPServiceAppPool/readme.md index ad8df8136..d9bac326a 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPServiceAppPool/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPServiceAppPool/readme.md @@ -1,5 +1,5 @@ -**Description** +# Description -This resource is used for provisioning an application pool that can be used for -service applications. The account used for the service account must already be -registered as a managed account (which can be provisioned through SPManagedAccount. +This resource is used for provisioning an application pool that can be used for +service applications. The account used for the service account must already be +registered as a managed account (which can be provisioned through diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPServiceAppProxyGroup/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPServiceAppProxyGroup/readme.md index b751c9cc0..318129b9a 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPServiceAppProxyGroup/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPServiceAppProxyGroup/readme.md @@ -1,17 +1,18 @@ -**Description** +# Description -This resource is used to manage SharePoint Service Application Proxy Groups. The "Ensure" -parameter controls whether or not the Proxy Group should exist. A proxy group cannot be -removed if a web application is using it. The "ServiceAppProxies" property will set a -specific list of Service App Proxies to be members of this Proxy Group. It will add and -remove proxies to ensure the group matches this list exactly. The -"ServiceAppProxiesToInclude" and "ServiceAppProxiesToExclude" properties will allow you -to add and remove proxies from the group, leaving other proxies that are in the group -but not in either list intact. +This resource is used to manage SharePoint Service Application Proxy Groups. +The "Ensure" parameter controls whether or not the Proxy Group should exist. A +proxy group cannot be removed if a web application is using it. The +"ServiceAppProxies" property will set a specific list of Service App Proxies +to be members of this Proxy Group. It will add and remove proxies to ensure +the group matches this list exactly. The "ServiceAppProxiesToInclude" and +"ServiceAppProxiesToExclude" properties will allow you to add and remove +proxies from the group, leaving other proxies that are in the group but not in +either list intact. Use the proxy group name "Default" to manipulate the default proxy group. Requirements: -At least one of the ServiceAppProxies, ServiceAppProxiesToInclude or ServiceAppProxiesToExclude -properties needs to be specified. Do not combine the ServiceAppProxies property with the -ServiceAppProxiesToInclude and ServiceAppProxiesToExclude properties. +At least one of the ServiceAppProxies, ServiceAppProxiesToInclude or +ServiceAppProxiesToExclude properties needs to be specified. Do not combine +the ServiceAppProxies property with the ServiceAppProxiesToInclude and diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPServiceAppSecurity/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPServiceAppSecurity/readme.md index 1ae804c78..90384bf8e 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPServiceAppSecurity/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPServiceAppSecurity/readme.md @@ -1,14 +1,14 @@ -**Description** +# Description -This resource is used to manage the sharing security settings of a specific service -application. There are a number of approaches to how this can be implemented. Firstly -you can set permissions for the app administrators, or for the sharing permission by -specifying the SecurityType attribute. These options correlate to the buttons seen in -the ribbon on the "manage service applications" page in Central Administration after -you select a specific service app. The "Members" property will set a specific list of -members for the service app, making sure that every user/group in the list is in the -group and all others that are members and who are not in this list will be removed. -The "MembersToInclude" and "MembersToExclude" properties will allow you to control a -specific set of users to add or remove, without changing any other members that are in -the group already that may not be specified here, allowing for some manual management -outside of this configuration resource. +This resource is used to manage the sharing security settings of a specific +service application. There are a number of approaches to how this can be +implemented. Firstly you can set permissions for the app administrators, or +for the sharing permission by specifying the SecurityType attribute. These +options correlate to the buttons seen in the ribbon on the "manage service +applications" page in Central Administration after you select a specific +service app. The "Members" property will set a specific list of members for +the service app, making sure that every user/group in the list is in the group +and all others that are members and who are not in this list will be removed. +The "MembersToInclude" and "MembersToExclude" properties will allow you to +control a specific set of users to add or remove, without changing any other +members that are in the group already that may not be specified here, allowing diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPServiceInstance/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPServiceInstance/readme.md index a806247d5..bcca6204d 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPServiceInstance/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPServiceInstance/readme.md @@ -1,5 +1,5 @@ -**Description** +# Description -This resource is used to specify if a specific service should be running -(Ensure = "Present") or not running (Ensure = "Absent") on the current server. -The name is the display name of the service as shown in the Central Admin website. +This resource is used to specify if a specific service should be running +(Ensure = "Present") or not running (Ensure = "Absent") on the current server. +The name is the display name of the service as shown in the Central Admin diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPSessionStateService/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPSessionStateService/readme.md index d3bc98a70..e6430695e 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPSessionStateService/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPSessionStateService/readme.md @@ -1,5 +1,5 @@ -**Description** +# Description -This resource will provision a state service app to the local farm. Specify the name of -the database server and database name to provision the app with, and optionally include -the session timeout value. If session timeout is not provided it will default to 60. +This resource will provision a state service app to the local farm. Specify +the name of the database server and database name to provision the app with, +and optionally include the session timeout value. If session timeout is not diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPShellAdmins/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPShellAdmins/readme.md index 95855a8b1..3e1506701 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPShellAdmins/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPShellAdmins/readme.md @@ -1,25 +1,28 @@ -**Description** +# Description -This resource is used to manage the users with Shell Admin permissions. There are a -number of approaches to how this can be implemented. The "Members" property will set -a specific list of members for the group, making sure that every user/group in the -list is in the group and all others that are members and who are not in this list will -be removed. The "MembersToInclude" and "MembersToExclude" properties will allow you to -control a specific set of users to add or remove, without changing any other members -that are in the group already that may not be specified here, allowing for some manual -management outside of this configuration resource. The "ContentDatabases" and -"AllContentDatabases" properties will allow you to control the permissions on Content -Databases. +This resource is used to manage the users with Shell Admin permissions. There +are a number of approaches to how this can be implemented. The "Members" +property will set a specific list of members for the group, making sure that +every user/group in the list is in the group and all others that are members +and who are not in this list will be removed. The "MembersToInclude" and +"MembersToExclude" properties will allow you to control a specific set of +users to add or remove, without changing any other members that are in the +group already that may not be specified here, allowing for some manual +management outside of this configuration resource. The "ContentDatabases" and +"AllContentDatabases" properties will allow you to control the permissions on +Content Databases. Requirements: - * At least one of the Members, MemberToInclude or MembersToExclude properties needs to - be specified. - * Do not combine the Members property with the MemberToInclude and MembersToExclude - properties. - * Do not combine the ContentDatabase property with the AllContentDatabases property. + +* At least one of the Members, MemberToInclude or MembersToExclude properties + needs to be specified. +* Do not combine the Members property with the MemberToInclude and + MembersToExclude properties. +* Do not combine the ContentDatabase property with the AllContentDatabases + property. Notes: -1.) If a content database is created using the Central Admin, the farm account is the -owner of that content database in SQL Server. When this is true, you cannot add it to -the Shell Admins (common for AllContentDatabases parameter) and the resource will throw -an error. Workaround: Change database owner in SQL Server. +1.) If a content database is created using the Central Admin, the farm account +is the owner of that content database in SQL Server. When this is true, you +cannot add it to the Shell Admins (common for AllContentDatabases parameter) +and the resource will throw an error. Workaround: Change database owner in SQL diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPSite/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPSite/readme.md index 6709c80f8..cc6b20fd0 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPSite/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPSite/readme.md @@ -1,9 +1,9 @@ -**Description** +# Description -This resource will provision a site collection to the current farm, based on -the settings that are passed through. These settings map to the New-SPSite -cmdlet and accept the same values and types. +This resource will provision a site collection to the current farm, based on +the settings that are passed through. These settings map to the New-SPSite +cmdlet and accept the same values and types. -The current version of SharePointDsc is only able to check for the existence -of a site collection, the additional parameters are not checked for yet, but +The current version of SharePointDsc is only able to check for the existence +of a site collection, the additional parameters are not checked for yet, but will be in a later release diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPStateServiceApp/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPStateServiceApp/readme.md index 31995ec71..c20796acb 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPStateServiceApp/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPStateServiceApp/readme.md @@ -1,5 +1,5 @@ -**Description** +# Description -This resource provisions an instance of the state service in to the local farm. -The database specific parameters are only used during initial provisioning of +This resource provisions an instance of the state service in to the local farm. +The database specific parameters are only used during initial provisioning of the app, and will not change database settings beyond the initial deployment. diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPSubscriptionSettingsServiceApp/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPSubscriptionSettingsServiceApp/readme.md index 04b4e8382..58dde2ab4 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPSubscriptionSettingsServiceApp/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPSubscriptionSettingsServiceApp/readme.md @@ -1,10 +1,10 @@ -**Description** +# Description -This resource is used to provision and manage an instance of the App Management -Services Service Application. It will identify an instance of the subscription -settings service app through the application display name. Currently the resource -will provision the app if it does not yet exist, and will change the service -account associated to the app if it does not match the configuration. Database -names or server name will not be changed if the configuration does not match, -these parameters are only used for the initial provisioning of the service -application. +This resource is used to provision and manage an instance of the App Management +Services Service Application. It will identify an instance of the subscription +settings service app through the application display name. Currently the +resource will provision the app if it does not yet exist, and will change the +service account associated to the app if it does not match the configuration. +Database names or server name will not be changed if the configuration does +not match, these parameters are only used for the initial provisioning of the +service application. diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPTimerJobState/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPTimerJobState/readme.md index 71fc7d7e4..9d8088594 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPTimerJobState/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPTimerJobState/readme.md @@ -1,10 +1,10 @@ -**Description** +# Description -This resource is used to configure a timer job and make sure it is in a specific -state. The resource can be used to enable or disabled the job and configure the -schedule of the job. +This resource is used to configure a timer job and make sure it is in a +specific state. The resource can be used to enable or disabled the job and +configure the schedule of the job. -The schedule parameter has to be written in the SPSchedule format +The schedule parameter has to be written in the SPSchedule format (https://technet.microsoft.com/en-us/library/ff607916.aspx). Examples are: - Every 5 minutes between 0 and 59 @@ -14,6 +14,6 @@ Examples are: - Monthly at 15 15:00:00 - Yearly at Jan 1 15:00:00 -NOTE: Make sure you use the internal timer job name, not the display name! Use -"Get-SPTimerJob -WebApplication "http://servername" | select Name, DisplayName" +NOTE: Make sure you use the internal timer job name, not the display name! Use +"Get-SPTimerJob -WebApplication "http://servername" | select Name, DisplayName" to find the internal name for each Timer Job. diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPTrustedIdentityTokenIssuer/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPTrustedIdentityTokenIssuer/readme.md index e510b4c92..2c4e630be 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPTrustedIdentityTokenIssuer/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPTrustedIdentityTokenIssuer/readme.md @@ -1,20 +1,23 @@ -**Description** +# Description -This resource is used to create or remove SPTrustedIdentityTokenIssuer in a SharePoint -farm. +This resource is used to create or remove SPTrustedIdentityTokenIssuer in a +SharePoint farm. -The SigningCertificateThumbPrint must match the thumbprint of a certificate in the -store LocalMachine\My of the server that will run this resource. -Note that the private key of the certificate must not be available in the certiificate -store because SharePoint does not accept it. -Once the SPTrustedIdentityTokenIssuer is successfully created, the certificate can be -safely deleted from the certificate store as it won't be needed by SharePoint. +The SigningCertificateThumbPrint must match the thumbprint of a certificate in +the store LocalMachine\My of the server that will run this resource. +Note that the private key of the certificate must not be available in the +certiificate store because SharePoint does not accept it. +Once the SPTrustedIdentityTokenIssuer is successfully created, the certificate +can be safely deleted from the certificate store as it won't be needed by +SharePoint. -ClaimsMappings is an array of MSFT_SPClaimTypeMapping to use with cmdlet New-SPClaimTypeMapping. -Each MSFT_SPClaimTypeMapping requires properties Name and IncomingClaimType. -Property LocalClaimType is not required if its value is identical to IncomingClaimType. +ClaimsMappings is an array of MSFT_SPClaimTypeMapping to use with cmdlet +New-SPClaimTypeMapping. Each MSFT_SPClaimTypeMapping requires properties Name +and IncomingClaimType. Property LocalClaimType is not required if its value is +identical to IncomingClaimType. -The IdentifierClaim property must match an IncomingClaimType element in ClaimsMappings array. +The IdentifierClaim property must match an IncomingClaimType element in +ClaimsMappings array. -The ClaimProviderName property can be set to specify a custom claims provider. It must be -already installed in the SharePoint farm and returned by cmdlet Get-SPClaimProvider. +The ClaimProviderName property can be set to specify a custom claims provider. +It must be already installed in the SharePoint farm and returned by cmdlet diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPUsageApplication/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPUsageApplication/readme.md index 964bd7c60..f0655a5a5 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPUsageApplication/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPUsageApplication/readme.md @@ -1,5 +1,5 @@ -**Description** +# Description -This resource provisions an instance of the usage and health monitoring service -application. The database settings are only used for initial provisioning, but -the usage settings can be changed and will be enforced as the resource is executed. +This resource provisions an instance of the usage and health monitoring service +application. The database settings are only used for initial provisioning, but +the usage settings can be changed and will be enforced as the resource is diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPUserProfileProperty/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPUserProfileProperty/readme.md index 63d2d3ff7..4000842b9 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPUserProfileProperty/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPUserProfileProperty/readme.md @@ -1,14 +1,14 @@ -**Description** +# Description -This resource will create a property in a user profile service application. It -creates, update or delete a property using the parameters that are passed in to +This resource will create a property in a user profile service application. It +creates, update or delete a property using the parameters that are passed in to it. -The parameter DisplayOrder is absolute. ie.: If you want it to be placed as the -5th field of section Bla, which has propertyName value of 5000 then your DisplayOrder -needs to be 5005. If no DisplayOrder is added then SharePoint adds it as the last -property of section X. +The parameter DisplayOrder is absolute. ie.: If you want it to be placed as the +5th field of section Bla, which has propertyName value of 5000 then your +DisplayOrder needs to be 5005. If no DisplayOrder is added then SharePoint +adds it as the last property of section X. Length is only relevant if Field type is "String". -This Resource doesn't currently support removing existing user profile properties. +This Resource doesn't currently support removing existing user profile diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPUserProfileSection/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPUserProfileSection/readme.md index a06125eeb..ccf80fdec 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPUserProfileSection/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPUserProfileSection/readme.md @@ -1,6 +1,7 @@ -**Description** +# Description -This resource will create a section in a user profile service application. It -creates, update or delete a section using the parameters that are passed in to it. +This resource will create a section in a user profile service application. It +creates, update or delete a section using the parameters that are passed in to +it. -If no DisplayOrder is added then SharePoint will automatically assigned an ID to it. +If no DisplayOrder is added then SharePoint will automatically assigned an ID diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPUserProfileServiceApp/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPUserProfileServiceApp/readme.md index 91c98e7b8..8711c99e0 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPUserProfileServiceApp/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPUserProfileServiceApp/readme.md @@ -1,9 +1,9 @@ -**Description** +# Description -This resource will provision an instance of the user profile service to the farm. It -creates the required databases using the parameters that are passed in to it (although -these are only used during the initial provisioning). The farm account is used during -the provisioning of the service only (in the set method), and the install account is -used in the get and test methods. This is done to ensure that the databases are created -with the correct schema owners and allow the user profile sync service to operate -correctly. +This resource will provision an instance of the user profile service to the +farm. It creates the required databases using the parameters that are passed +in to it (although these are only used during the initial provisioning). The +farm account is used during the provisioning of the service only (in the set +method), and the install account is used in the get and test methods. This is +done to ensure that the databases are created with the correct schema owners +and allow the user profile sync service to operate correctly. diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPUserProfileServiceAppPermissions/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPUserProfileServiceAppPermissions/readme.md index d221b8cf5..b06c9b692 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPUserProfileServiceAppPermissions/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPUserProfileServiceAppPermissions/readme.md @@ -1,7 +1,7 @@ -**Description** +# Description -This resource will apply permissions to a user profile service application. -These can control access to create my sites, use social features, and use -tagging. If you want to allow all users the ability to use a specific -permisisons include "Everyone" as a user in the corresponding property. To +This resource will apply permissions to a user profile service application. +These can control access to create my sites, use social features, and use +tagging. If you want to allow all users the ability to use a specific +permisisons include "Everyone" as a user in the corresponding property. To specify that there should be no permissions on a type, use "none" diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPUserProfileSyncConnection/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPUserProfileSyncConnection/readme.md index 55c06fd60..cdd2db708 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPUserProfileSyncConnection/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPUserProfileSyncConnection/readme.md @@ -1,6 +1,6 @@ -**Description** +# Description -This resource will ensure a specifc user profile sync connection is in place and -that it is configured accordingly to its definition +This resource will ensure a specifc user profile sync connection is in place +and that it is configured accordingly to its definition -This resource currently supports AD only. \ No newline at end of file +This resource currently supports AD only. diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPUserProfileSyncService/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPUserProfileSyncService/readme.md index a463b6767..51ce11161 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPUserProfileSyncService/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPUserProfileSyncService/readme.md @@ -1,12 +1,12 @@ -**Description** +# Description -This resource is responsible for ensuring that the user profile sync service has -been provisioned (Ensure = "Present") or is not running (Ensure = "Absent") on the -current server. This resource uses the InstallAccount to validate the current state -only, the set method which will do the provisioning uses the FarmAccount to do the -actual work - this means that CredSSP authentication will need to be permitted to -allow a connection to the local server. To allow successful provisioning the farm -account must be in the local administrators group, however it is not best practice -to leave this account in the Administrators group. Therefore this resource will add -the FarmAccount credential to the local administrators group at the beginning of the -set method, and then remove it once it has completed its work. +This resource is responsible for ensuring that the user profile sync service +has been provisioned (Ensure = "Present") or is not running (Ensure = +"Absent") on the current server. This resource uses the InstallAccount to +validate the current state only, the set method which will do the provisioning +uses the FarmAccount to do the actual work - this means that CredSSP +authentication will need to be permitted to allow a connection to the local +server. To allow successful provisioning the farm account must be in the local +administrators group, however it is not best practice to leave this account in +the Administrators group. Therefore this resource will add the FarmAccount +credential to the local administrators group at the beginning of the set diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPVisioServiceApp/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPVisioServiceApp/readme.md index 811ea6a5b..dcf0807e5 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPVisioServiceApp/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPVisioServiceApp/readme.md @@ -1,5 +1,5 @@ -**Description** +# Description -This resource is responsible for creating Visio Graphics Service Application instances -within the local SharePoint farm. The resource will provision and configure the Visio -Graphics Service Application. +This resource is responsible for creating Visio Graphics Service Application +instances within the local SharePoint farm. The resource will provision and +configure the Visio Graphics Service Application. diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPWeb/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPWeb/readme.md index 70a2d34a5..37766f622 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPWeb/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPWeb/readme.md @@ -1,4 +1,4 @@ -**Description** +# Description -This resource will provision a SPWeb based on the settings that are passed through. -These settings map to the New-SPWeb cmdlet and accept the same values and types. +This resource will provision a SPWeb based on the settings that are passed +through. These settings map to the New-SPWeb cmdlet and accept the same values diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPWebAppBlockedFileTypes/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPWebAppBlockedFileTypes/readme.md index c5cb17706..dba352fea 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPWebAppBlockedFileTypes/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPWebAppBlockedFileTypes/readme.md @@ -1,13 +1,13 @@ -**Description** +# Description -This resource is responsible for controlling the blocked file type setting on a -specific web application. It has two modes of operation, the first is to use the -"blocked" property, where you are able to define a specific list of file types that -will be blocked. In this mode when it is detected that the list does not match the -local farm, it is set to match this list exactly. The second mode is to use the -"EnsureBlocked" and "EnsureAllowed" properties. EnsureBlocked will check to make -sure that the specified file types are on the list, and if not they will be added. -EnsureAllowed checks to make sure that a file type is not on the list, and if it is -it will be removed. Both of these properties will only make changes to the file types -in their list and will leave the full list as it is otherwise, whereas the blocked -property resets the list in full. +This resource is responsible for controlling the blocked file type setting on a +specific web application. It has two modes of operation, the first is to use +the "blocked" property, where you are able to define a specific list of file +types that will be blocked. In this mode when it is detected that the list +does not match the local farm, it is set to match this list exactly. The +second mode is to use the "EnsureBlocked" and "EnsureAllowed" properties. +EnsureBlocked will check to make sure that the specified file types are on the +list, and if not they will be added. EnsureAllowed checks to make sure that a +file type is not on the list, and if it is it will be removed. Both of these +properties will only make changes to the file types in their list and will +leave the full list as it is otherwise, whereas the blocked property resets diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPWebAppGeneralSettings/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPWebAppGeneralSettings/readme.md index aef74d692..4b77c12d9 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPWebAppGeneralSettings/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPWebAppGeneralSettings/readme.md @@ -1,7 +1,7 @@ -**Description** +# Description -This resource is responsible for setting web application settings that are found -under the "general settings" screen in central admin. The web application is -specified through the URL property, and then any combination of settings can be -applied. Any settings not included will be left as the default (or whatever they -have been manually changed to within SharePoint). +This resource is responsible for setting web application settings that are +found under the "general settings" screen in central admin. The web +application is specified through the URL property, and then any combination of +settings can be applied. Any settings not included will be left as the default +(or whatever they have been manually changed to within SharePoint). diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPWebAppPermissions/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPWebAppPermissions/readme.md index d3725fe10..2e4ec05cc 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPWebAppPermissions/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPWebAppPermissions/readme.md @@ -1,7 +1,7 @@ -**Description** +# Description -This resource is responsible for managing the user permissions for a web application. -You can either specify to set all permissions or specify individual permissions per -category. +This resource is responsible for managing the user permissions for a web +application. You can either specify to set all permissions or specify +individual permissions per category. -More info about the permission levels: https://technet.microsoft.com/en-us/library/cc721640.aspx +More info about the permission levels: diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPWebAppPolicy/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPWebAppPolicy/readme.md index e695e5e3e..78d49e665 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPWebAppPolicy/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPWebAppPolicy/readme.md @@ -1,17 +1,18 @@ -**Description** +# Description -This resource is used to set the User Policies for web applications. The usernames -can be either specified in Classic or Claims format, both will be accepted. There -are a number of approaches to how this can be implemented. The "Members" property -will set a specific list of members for the group, making sure that every user/group -in the list is in the group and all others that are members and who are not in this -list will be removed. The "MembersToInclude" and "MembersToExclude" properties will -allow you to control a specific set of users to add or remove, without changing any -other members that are in the group already that may not be specified here, allowing -for some manual management outside of this configuration resource. +This resource is used to set the User Policies for web applications. The +usernames can be either specified in Classic or Claims format, both will be +accepted. There are a number of approaches to how this can be implemented. The +"Members" property will set a specific list of members for the group, making +sure that every user/group in the list is in the group and all others that are +members and who are not in this list will be removed. The "MembersToInclude" +and "MembersToExclude" properties will allow you to control a specific set of +users to add or remove, without changing any other members that are in the +group already that may not be specified here, allowing for some manual +management outside of this configuration resource. Requirements: -At least one of the Members, MemberToInclude or MembersToExclude properties needs to be -specified. Do not combine the Members property with the MemberToInclude and -MembersToExclude properties. Do not set the ActAsSystemAccount property to $true without -setting the permission level to Full Control. +At least one of the Members, MemberToInclude or MembersToExclude properties +needs to be specified. Do not combine the Members property with the +MemberToInclude and MembersToExclude properties. Do not set the +ActAsSystemAccount property to $true without setting the permission level to diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPWebAppProxyGroup/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPWebAppProxyGroup/readme.md index 7a11c3016..8c2994f8c 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPWebAppProxyGroup/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPWebAppProxyGroup/readme.md @@ -1,10 +1,11 @@ -**Description** +# Description -This resource is used to associate a web application to a service application proxy group. -Use the proxy group name "Default" to associate the web application to the default proxy -group. A web applicaiton can only connect to a single service application proxy group. This -resource will overright the existing service application proxy group association. +This resource is used to associate a web application to a service application +proxy group. Use the proxy group name "Default" to associate the web +application to the default proxy group. A web applicaiton can only connect to +a single service application proxy group. This resource will overright the +existing service application proxy group association. -This resource is used in conjunction with the SPServiceAppProxyGroup resource, which creates -the proxy groups and associates the desired service application proxies with it. Within your -configuration, that resource should be a dependancy for the SPWebAppProxyGroup resource. +This resource is used in conjunction with the SPServiceAppProxyGroup resource, +which creates the proxy groups and associates the desired service application +proxies with it. Within your configuration, that resource should be a diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPWebAppSiteUseAndDeletion/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPWebAppSiteUseAndDeletion/readme.md index adae89165..809e0546a 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPWebAppSiteUseAndDeletion/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPWebAppSiteUseAndDeletion/readme.md @@ -1,6 +1,6 @@ -**Description** +# Description -This resource is responsible for controlling the Site Use and Deletion settings on a -specific web application. You can enable or disable the Site Use and Deletion feature, -specify the amount of days after which the alerts are being send, if sites have to be -deleted automatically and if so after how many days this has to be done. +This resource is responsible for controlling the Site Use and Deletion +settings on a specific web application. You can enable or disable the Site Use +and Deletion feature, specify the amount of days after which the alerts are +being send, if sites have to be deleted automatically and if so after how many diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPWebAppThrottlingSettings/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPWebAppThrottlingSettings/readme.md index 05fa11f50..f030fe4b7 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPWebAppThrottlingSettings/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPWebAppThrottlingSettings/readme.md @@ -1,9 +1,9 @@ -**Description** +# Description -This resource is responsible for setting web application settings that are found under the -"resource throttling" screen in central admin. The web application is specified through the -URL property, and then any combination of settings can be applied. Any settings not included -will be left as the default (or whatever they have been manually changed to within -SharePoint). Happy hour is the setting used to control the window where threshold do not -apply throughout the day. You can specify the start time of this window as well as how many -hours it will last. +This resource is responsible for setting web application settings that are +found under the "resource throttling" screen in central admin. The web +application is specified through the URL property, and then any combination of +settings can be applied. Any settings not included will be left as the default +(or whatever they have been manually changed to within SharePoint). Happy hour +is the setting used to control the window where threshold do not apply +throughout the day. You can specify the start time of this window as well as diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPWebAppWorkflowSettings/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPWebAppWorkflowSettings/readme.md index ddf63b092..30d435e0e 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPWebAppWorkflowSettings/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPWebAppWorkflowSettings/readme.md @@ -1,7 +1,7 @@ -**Description** +# Description -This resource is responsible for setting web application settings that are found under the -"workflow settings" screen in central admin. The web application is specified through the -URL property, and then any combination of settings can be applied. Any settings not -included will be left as the default (or whatever they have been manually changed to within -SharePoint). +This resource is responsible for setting web application settings that are +found under the "workflow settings" screen in central admin. The web +application is specified through the URL property, and then any combination of +settings can be applied. Any settings not included will be left as the default +(or whatever they have been manually changed to within SharePoint). diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPWebApplication/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPWebApplication/readme.md index 4e700c206..6aafd9337 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPWebApplication/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPWebApplication/readme.md @@ -1,6 +1,6 @@ -**Description** +# Description -This resource is responsible for creating a web application within the local SharePoint -farm. The resource will provision the web application with all of the current settings, -and then ensure that it stays part of the correct application pool beyond that (additional -checking and setting of properties will be added in future releases). +This resource is responsible for creating a web application within the local +SharePoint farm. The resource will provision the web application with all of +the current settings, and then ensure that it stays part of the correct +application pool beyond that (additional checking and setting of properties diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPWebApplicationAppDomain/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPWebApplicationAppDomain/readme.md index 85f8d38c9..a9b9c300c 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPWebApplicationAppDomain/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPWebApplicationAppDomain/readme.md @@ -1,7 +1,7 @@ -**Description** +# Description -This resource will configure the App Domain at a specific zone for the given Web -Application. The configuration is done per zone on the specified web application, -allowing for the setting of unique app domains for each extension of a web -application. The app prefix should still be set using the SPAppDomain resource -before this is applied to customise a specific zone. +This resource will configure the App Domain at a specific zone for the given +Web Application. The configuration is done per zone on the specified web +application, allowing for the setting of unique app domains for each extension +of a web application. The app prefix should still be set using the SPAppDomain +resource before this is applied to customise a specific zone. diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPWordAutomationServiceApp/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPWordAutomationServiceApp/readme.md index fafdda1f4..ec8421466 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPWordAutomationServiceApp/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPWordAutomationServiceApp/readme.md @@ -1,10 +1,11 @@ -**Description** +# Description -The resource is able to provision, unprovision and configure the Word Automation Service -Application. All settings that you can configure on the Service Application administration -page are configurable using this resource. +The resource is able to provision, unprovision and configure the Word +Automation Service Application. All settings that you can configure on the +Service Application administration page are configurable using this resource. Important: -When you specify Ensure=Present, the Application Pool and DatabaseName parameters are -required. When you specify Ensure=Absent, no other parameters are allowed (with the exception -of Name, InstallAccount or PsDscRunAsCredential). +When you specify Ensure=Present, the Application Pool and DatabaseName +parameters are required. When you specify Ensure=Absent, no other parameters +are allowed (with the exception of Name, InstallAccount or +PsDscRunAsCredential). diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPWorkManagementServiceApp/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPWorkManagementServiceApp/readme.md index 83fe6ce85..c2334d108 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPWorkManagementServiceApp/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPWorkManagementServiceApp/readme.md @@ -1,12 +1,14 @@ -**Description** - -This resource is used to provision and manage an instance of the Work Management Services -Service Application. It will identify an instance of the work management service -application through the application display name. Currently the resource will provision the -app if it does not yet exist, and will change the application pool associated to the app if -it does not match the configuration. +# Description +This resource is used to provision and manage an instance of the Work +Management Services Service Application. It will identify an instance of the +work management service application through the application display name. +Currently the resource will provision the app if it does not yet exist, and +will change the application pool associated to the app if it does not match +the configuration. Remarks -- Parameters MinimumTimeBetweenEwsSyncSubscriptionSearches, MinimumTimeBetweenProviderRefreshes, -MinimumTimeBetweenSearchQueries are in Minutes + +- Parameters MinimumTimeBetweenEwsSyncSubscriptionSearches, + MinimumTimeBetweenProviderRefreshes, MinimumTimeBetweenSearchQueries are in + minutes. diff --git a/Tests/Unit/SharePointDsc/SharePointDsc.Global.Tests.ps1 b/Tests/Unit/SharePointDsc/SharePointDsc.Global.Tests.ps1 index ee2cbabba..476bcde19 100644 --- a/Tests/Unit/SharePointDsc/SharePointDsc.Global.Tests.ps1 +++ b/Tests/Unit/SharePointDsc/SharePointDsc.Global.Tests.ps1 @@ -91,7 +91,7 @@ Describe 'SharePointDsc whole of module tests' { { $mdErrors = 0 try { - Start-Process -FilePath "gulp" -ArgumentList "test-mdsyntax" -Wait -WorkingDirectory $RepoRoot -PassThru -NoNewWindow + Start-Process -FilePath "gulp" -ArgumentList "test-mdsyntax --silent" -Wait -WorkingDirectory $RepoRoot -PassThru -NoNewWindow Start-Sleep -Seconds 3 $mdIssuesPath = Join-Path -Path $RepoRoot -ChildPath "markdownissues.txt" From d8486b6a237e114f44258c95880bf076ef4a4033 Mon Sep 17 00:00:00 2001 From: Brian Farnhill Date: Thu, 3 Nov 2016 14:35:19 +1100 Subject: [PATCH 12/38] Fixed markdown output issue --- gulpfile.js | 8 +++++--- package.json | 4 +++- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/gulpfile.js b/gulpfile.js index 58717609c..b50210810 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -1,19 +1,21 @@ var gulp = require("gulp"); +var concat = require("gulp-concat"); var through2 = require("through2"); var markdownlint = require("markdownlint"); -var fs = require('fs'); gulp.task("test-mdsyntax", function task() { - return gulp.src("Modules/**/*.md", { "read": false }) + return gulp.src("Modules/SharePointDsc/**/*.md", { "read": false }) .pipe(through2.obj(function obj(file, enc, next) { markdownlint( { "files": [ file.path ] }, function callback(err, result) { var resultString = (result || "").toString(); if (resultString) { - fs.writeFile('markdownissues.txt', resultString, null); + file.contents = new Buffer(resultString); } next(err, file); }); })) + .pipe(concat("markdownissues.txt", { newLine: "\r\n" })) + .pipe(gulp.dest(".")); }); diff --git a/package.json b/package.json index 89c093604..b03b6a726 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,9 @@ "through2": "^2.0.1", "markdownlint": "^0.2.0" }, - "devDependencies": {}, + "devDependencies": { + "gulp-concat": "^2.6.0" + }, "scripts": { "test": "powershell -File .vscode\\RunPesterTests.ps1" }, From cb645d90941147e67a7c2bbfae60dae91badb5ff Mon Sep 17 00:00:00 2001 From: luigilink Date: Wed, 9 Nov 2016 17:52:57 +0100 Subject: [PATCH 13/38] Fix Get-TargetResource of SPManagedMetaDataServiceApp resource --- CHANGELOG.md | 3 +++ .../MSFT_SPManagedMetaDataServiceApp.psm1 | 6 +++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6017a09f4..424f552ab 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,8 @@ # Change log for SharePointDsc +### Unreleased + * Fixed issue with SPManagedMetaDataServiceApp if ContentTypeHubUrl parameter is null + ### 1.4 * Set-TargetResource of Service Application now also removes all associated proxies * Fixed issue with all SPServiceApplication for OS not in En-Us language, add GetType().FullName method in: diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPManagedMetadataServiceApp/MSFT_SPManagedMetaDataServiceApp.psm1 b/Modules/SharePointDsc/DSCResources/MSFT_SPManagedMetadataServiceApp/MSFT_SPManagedMetaDataServiceApp.psm1 index 498ea7949..9ac2a6ef2 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPManagedMetadataServiceApp/MSFT_SPManagedMetaDataServiceApp.psm1 +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPManagedMetadataServiceApp/MSFT_SPManagedMetaDataServiceApp.psm1 @@ -91,6 +91,10 @@ function Get-TargetResource } $defaultPartitionId = [Guid]::Parse("0C37852B-34D0-418e-91C6-2AC25AF4BE5B") $hubUrl = $method.Invoke($serviceApp, $defaultPartitionId).AbsoluteUri + if ($hubUrl) + { + $hubUrl = $hubUrl.TrimEnd('/') + } } catch [System.Exception] { @@ -104,7 +108,7 @@ function Get-TargetResource ApplicationPool = $serviceApp.ApplicationPool.Name DatabaseName = $serviceApp.Database.Name DatabaseServer = $serviceApp.Database.Server.Name - ContentTypeHubUrl = $hubUrl.TrimEnd('/') + ContentTypeHubUrl = $hubUrl InstallAccount = $params.InstallAccount } } From c30009f0576a075fda7c6b9fa2f066e01aacbad9 Mon Sep 17 00:00:00 2001 From: Brian Farnhill Date: Thu, 10 Nov 2016 10:00:27 +1100 Subject: [PATCH 14/38] Final updates for markdownlint tests --- .markdownlint.json | 8 ++++++++ .../MSFT_SPAccessServiceApp/readme.md | 2 +- .../MSFT_SPBlobCacheSettings/Readme.md | 3 +-- .../DSCResources/MSFT_SPCreateFarm/Readme.md | 2 +- .../DSCResources/MSFT_SPDatabaseAAG/Readme.md | 2 +- .../MSFT_SPDesignerSettings/Readme.md | 2 +- .../MSFT_SPDiagnosticLoggingSettings/Readme.md | 2 +- .../MSFT_SPDistributedCacheService/Readme.md | 2 +- .../MSFT_SPExcelServiceApp/Readme.md | 2 +- .../MSFT_SPFarmAdministrators/Readme.md | 2 +- .../DSCResources/MSFT_SPFarmSolution/Readme.md | 2 +- .../DSCResources/MSFT_SPFeature/Readme.md | 2 +- .../MSFT_SPHealthAnalyzerRuleState/Readme.md | 2 +- .../DSCResources/MSFT_SPInstall/Readme.md | 2 +- .../MSFT_SPInstallLanguagePack/Readme.md | 2 +- .../DSCResources/MSFT_SPInstallPrereqs/Readme.md | 2 +- .../DSCResources/MSFT_SPIrmSettings/Readme.md | 3 ++- .../DSCResources/MSFT_SPJoinFarm/readme.md | 2 +- .../DSCResources/MSFT_SPManagedAccount/readme.md | 2 +- .../MSFT_SPManagedMetadataServiceApp/readme.md | 2 +- .../DSCResources/MSFT_SPManagedPath/readme.md | 2 +- .../MSFT_SPOfficeOnlineServerBinding/readme.md | 2 +- .../MSFT_SPOutgoingEmailSettings/readme.md | 2 +- .../MSFT_SPPasswordChangeSettings/readme.md | 2 +- .../MSFT_SPPerformancePointServiceApp/readme.md | 2 +- .../DSCResources/MSFT_SPProductUpdate/readme.md | 12 ++++++++---- .../MSFT_SPPublishServiceApplication/readme.md | 16 ++++++++-------- .../DSCResources/MSFT_SPQuotaTemplate/readme.md | 2 +- .../MSFT_SPRemoteFarmTrust/readme.md | 2 +- .../MSFT_SPSearchContentSource/readme.md | 3 ++- .../MSFT_SPSearchCrawlRule/readme.md | 2 +- .../MSFT_SPSearchIndexPartition/readme.md | 2 +- .../MSFT_SPSearchResultSource/readme.md | 14 +++++++------- .../MSFT_SPSearchServiceApp/readme.md | 2 +- .../DSCResources/MSFT_SPSearchTopology/readme.md | 2 +- .../MSFT_SPSecureStoreServiceApp/readme.md | 2 +- .../DSCResources/MSFT_SPServiceAppPool/readme.md | 2 +- .../MSFT_SPServiceAppProxyGroup/readme.md | 2 +- .../MSFT_SPServiceAppSecurity/readme.md | 2 +- .../MSFT_SPServiceInstance/readme.md | 2 +- .../MSFT_SPSessionStateService/readme.md | 2 +- .../DSCResources/MSFT_SPShellAdmins/readme.md | 2 +- .../DSCResources/MSFT_SPSite/readme.md | 2 +- .../MSFT_SPStateServiceApp/readme.md | 2 +- .../readme.md | 2 +- .../DSCResources/MSFT_SPTimerJobState/readme.md | 16 +++++++++------- .../MSFT_SPTrustedIdentityTokenIssuer/readme.md | 2 +- .../MSFT_SPUsageApplication/readme.md | 2 +- .../MSFT_SPUserProfileProperty/readme.md | 2 +- .../MSFT_SPUserProfileSection/readme.md | 2 +- .../MSFT_SPUserProfileServiceApp/readme.md | 2 +- .../readme.md | 2 +- .../MSFT_SPUserProfileSyncConnection/readme.md | 2 +- .../MSFT_SPUserProfileSyncService/readme.md | 2 +- .../MSFT_SPVisioServiceApp/readme.md | 2 +- .../DSCResources/MSFT_SPWeb/readme.md | 2 +- .../MSFT_SPWebAppBlockedFileTypes/readme.md | 2 +- .../MSFT_SPWebAppGeneralSettings/readme.md | 2 +- .../MSFT_SPWebAppPermissions/readme.md | 2 +- .../DSCResources/MSFT_SPWebAppPolicy/readme.md | 2 +- .../MSFT_SPWebAppProxyGroup/readme.md | 2 +- .../MSFT_SPWebAppSiteUseAndDeletion/readme.md | 2 +- .../MSFT_SPWebAppThrottlingSettings/readme.md | 2 +- .../MSFT_SPWebAppWorkflowSettings/readme.md | 2 +- .../DSCResources/MSFT_SPWebApplication/readme.md | 2 +- .../MSFT_SPWebApplicationAppDomain/readme.md | 2 +- gulpfile.js | 7 +++++-- 67 files changed, 108 insertions(+), 90 deletions(-) create mode 100644 .markdownlint.json diff --git a/.markdownlint.json b/.markdownlint.json new file mode 100644 index 000000000..f59d82e55 --- /dev/null +++ b/.markdownlint.json @@ -0,0 +1,8 @@ +{ + "default": true, + "MD029": { + "style": "ordered" + }, + "MD034": false, + "no-hard-tabs": true +} diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPAccessServiceApp/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPAccessServiceApp/readme.md index ce5262532..b86bf74ce 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPAccessServiceApp/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPAccessServiceApp/readme.md @@ -1,4 +1,4 @@ -# Description +# Description This resource is responsible for creating Access Services Application instances within the local SharePoint farm. The resource will provision and configure the diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPBlobCacheSettings/Readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPBlobCacheSettings/Readme.md index 1b3cdac5a..d506b9543 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPBlobCacheSettings/Readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPBlobCacheSettings/Readme.md @@ -1,4 +1,4 @@ -# Description +# Description This resource is used to configure the Blob Cache settings for a web application. @@ -18,4 +18,3 @@ Note: Best practice: Specify a directory that is not on the same drive as where either the server operating system swap files or server log files are stored. - diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPCreateFarm/Readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPCreateFarm/Readme.md index 7db6854bf..3331a6b32 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPCreateFarm/Readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPCreateFarm/Readme.md @@ -1,4 +1,4 @@ -# Description +# Description This resource is used to provision a new SharePoint farm. It should only be used on the first server in the farm to create the configuration database, all diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPDatabaseAAG/Readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPDatabaseAAG/Readme.md index 9ab8da395..6b1afd103 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPDatabaseAAG/Readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPDatabaseAAG/Readme.md @@ -1,4 +1,4 @@ -# Description +# Description This resource will allow specifying which SQL Server AlwaysOn Availability group a resource should be in. This resource does not configure the diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPDesignerSettings/Readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPDesignerSettings/Readme.md index 36e98c2fb..b93ad99df 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPDesignerSettings/Readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPDesignerSettings/Readme.md @@ -1,4 +1,4 @@ -# Description +# Description This resource is used to set the SharePoint Designer settings for the local farm or site collections. These settings will be used to control if users are diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPDiagnosticLoggingSettings/Readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPDiagnosticLoggingSettings/Readme.md index ec6814c0c..fb88312bc 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPDiagnosticLoggingSettings/Readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPDiagnosticLoggingSettings/Readme.md @@ -1,4 +1,4 @@ -# Description +# Description This resource is responsible for configuring settings to do with the diagnostic (ULS) logging on servers in the farm. These settings are applied to the diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPDistributedCacheService/Readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPDistributedCacheService/Readme.md index 3914c4d19..2e6cadf4c 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPDistributedCacheService/Readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPDistributedCacheService/Readme.md @@ -1,4 +1,4 @@ -# Description +# Description This resource is responsible for provisioning the distributed cache to the service it runs on. This is required in your farm on at least one server (as diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPExcelServiceApp/Readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPExcelServiceApp/Readme.md index ba3776144..a804757c8 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPExcelServiceApp/Readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPExcelServiceApp/Readme.md @@ -1,4 +1,4 @@ -# Description +# Description This resource is responsible for creating Excel Services Application instances within the local SharePoint farm. The resource will provision and configure the diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPFarmAdministrators/Readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPFarmAdministrators/Readme.md index 338b230fc..832f56241 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPFarmAdministrators/Readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPFarmAdministrators/Readme.md @@ -1,4 +1,4 @@ -# Description +# Description This resource is used to manage the membership of the farm administrators group. There are a number of approaches to how this can be implemented. The diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPFarmSolution/Readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPFarmSolution/Readme.md index acbd2d268..4a763c88e 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPFarmSolution/Readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPFarmSolution/Readme.md @@ -1,4 +1,4 @@ -# Description +# Description This resource is used to make sure that a specific farm solution is either present or absent in a farm. The solution can be deployed to one or more web diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPFeature/Readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPFeature/Readme.md index fc18f0c37..48032e0f5 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPFeature/Readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPFeature/Readme.md @@ -1,4 +1,4 @@ -# Description +# Description This resource is used to make sure that a specific feature is either enabled or disabled at a given URL/scope. The Ensure property will dictate if the diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPHealthAnalyzerRuleState/Readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPHealthAnalyzerRuleState/Readme.md index 87c887471..3120a07d5 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPHealthAnalyzerRuleState/Readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPHealthAnalyzerRuleState/Readme.md @@ -1,4 +1,4 @@ -# Description +# Description This resource is used to configure Health Analyzer rules for the local farm. The resource is able to enable/disable and configure the specified rule. diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPInstall/Readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPInstall/Readme.md index 0b23d1aaf..faed9b5c9 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPInstall/Readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPInstall/Readme.md @@ -1,4 +1,4 @@ -# Description +# Description This resource is used to install the SharePoint binaries. The BinaryDir parameter should point to the path that setup.exe is located (not to setup.exe diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPInstallLanguagePack/Readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPInstallLanguagePack/Readme.md index 5b359942d..148d525f2 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPInstallLanguagePack/Readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPInstallLanguagePack/Readme.md @@ -1,4 +1,4 @@ -# Description +# Description This resource is used to install the SharePoint Language Pack binaries. The BinaryDir parameter should point to the path that setup.exe is located (not to diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPInstallPrereqs/Readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPInstallPrereqs/Readme.md index 02c2b8a19..c386a62d5 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPInstallPrereqs/Readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPInstallPrereqs/Readme.md @@ -1,4 +1,4 @@ -# Description +# Description This resource is responsible for ensuring the installation of all SharePoint prerequisites. It makes use of the PrerequisiteInstaller.exe file that is part diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPIrmSettings/Readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPIrmSettings/Readme.md index e8ce0f78d..704d9a21a 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPIrmSettings/Readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPIrmSettings/Readme.md @@ -1,3 +1,4 @@ # Description -This resource is used to manipulate the IRM settings in SharePoint, integrating it with AD RMS +This resource is used to manipulate the IRM settings in SharePoint, integrating +it with AD RMS diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPJoinFarm/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPJoinFarm/readme.md index 146fa8097..15589cbe2 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPJoinFarm/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPJoinFarm/readme.md @@ -1,4 +1,4 @@ -# Description +# Description This resource will be responsible for joining a server to an existing SharePoint farm. To create a new farm use the SPCreateFarm resource on a diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPManagedAccount/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPManagedAccount/readme.md index 4fb4564b5..1d1fdee69 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPManagedAccount/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPManagedAccount/readme.md @@ -1,4 +1,4 @@ -# Description +# Description This resource will ensure a managed account is provisioned in to the SharePoint farm. The Account object specific the credential to store (including username diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPManagedMetadataServiceApp/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPManagedMetadataServiceApp/readme.md index 669d66ed5..3294798e4 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPManagedMetadataServiceApp/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPManagedMetadataServiceApp/readme.md @@ -1,4 +1,4 @@ -# Description +# Description Creates a managed metadata service application. The application pool property specifies which application pool it should use, and will reset the application diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPManagedPath/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPManagedPath/readme.md index d7090efe2..860221094 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPManagedPath/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPManagedPath/readme.md @@ -1,4 +1,4 @@ -# Description +# Description This resource is responsible for creating managed paths associated with a specific web application. The WebAppUrl parameter is used to specify the web diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPOfficeOnlineServerBinding/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPOfficeOnlineServerBinding/readme.md index cb7880e9a..de18f2242 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPOfficeOnlineServerBinding/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPOfficeOnlineServerBinding/readme.md @@ -1,4 +1,4 @@ -# Description +# Description This resource will create a binding to an Office Online Server (formerly known as Office Web Apps). The DnsName property can be a single server name, or a diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPOutgoingEmailSettings/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPOutgoingEmailSettings/readme.md index fa1ba81ac..2808f3f42 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPOutgoingEmailSettings/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPOutgoingEmailSettings/readme.md @@ -1,4 +1,4 @@ -# Description +# Description This resource is used to set the outgoing email settings for either a single web application, or the whole farm. To configure the resource for a specific diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPPasswordChangeSettings/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPPasswordChangeSettings/readme.md index 739ab0a2c..be17fe588 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPPasswordChangeSettings/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPPasswordChangeSettings/readme.md @@ -1,4 +1,4 @@ -# Description +# Description This resource is used to control settings that relate to the automatic changing of passwords for managed accounts (where they opt-in to be managed by diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPPerformancePointServiceApp/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPPerformancePointServiceApp/readme.md index 15a8b8a2d..42eb7f073 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPPerformancePointServiceApp/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPPerformancePointServiceApp/readme.md @@ -1,4 +1,4 @@ -# Description +# Description This resource is responsible for creating Performance Point Service Application instances within the local SharePoint farm. The resource will provision and diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPProductUpdate/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPProductUpdate/readme.md index 01e50f131..fad618590 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPProductUpdate/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPProductUpdate/readme.md @@ -1,4 +1,4 @@ -# Description +# Description This resource is used to perform the update step of installing SharePoint updates, like Cumulative Updates and Service Packs. The SetupFile parameter @@ -14,7 +14,11 @@ IMPORTANT: This resource retrieves build information from the Configuration Database. Therefore it requires SharePoint to be installed and a farm created. If you like to deploy a new farm and install updates automatically, you need to -implement the following order: 1. Install the SharePoint Binaries (SPInstall) +implement the following order: + +1. Install the SharePoint Binaries (SPInstall) 2. (Optional) Install SharePoint Language Pack(s) Binaries -(SPInstallLanguagePack) 3. Create SPFarm (SPCreateFarm) 4. Install Cumulative -Updates (SPProductUpdate) 5. Run the Configuration Wizard (SPConfigWizard) + (SPInstallLanguagePack) +3. Create SPFarm (SPCreateFarm) +4. Install Cumulative Updates (SPProductUpdate) +5. Run the Configuration Wizard (SPConfigWizard) diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPPublishServiceApplication/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPPublishServiceApplication/readme.md index e9fe0f975..7194ebb42 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPPublishServiceApplication/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPPublishServiceApplication/readme.md @@ -1,4 +1,4 @@ -# Description +# Description This resource is used to specify if a specific service application should be published (Ensure = "Present") or not published (Ensure = "Absent") on the @@ -6,11 +6,11 @@ current server. The name is the display name of the service application as shown in the Central Admin website. You can publish the following service applications in a SharePoint Server -2013/2016 farm: * Business Data Connectivity - * Machine Translation - * Managed Metadata - * User Profile - * Search - * Secure Store +2013/2016 farm: -Source: https://technet.microsoft.com/en-us/library/ff621100(v=office.15).aspx +* Business Data Connectivity +* Machine Translation +* Managed Metadata +* User Profile +* Search +* Secure Store diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPQuotaTemplate/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPQuotaTemplate/readme.md index 4a624a382..d1c759731 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPQuotaTemplate/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPQuotaTemplate/readme.md @@ -1,4 +1,4 @@ -# Description +# Description This resource is used to configure quota templates in the farm. These settings will be used to make sure a certain quota template exists or not. When it diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPRemoteFarmTrust/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPRemoteFarmTrust/readme.md index c4d2c6e02..1072c0e10 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPRemoteFarmTrust/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPRemoteFarmTrust/readme.md @@ -1,4 +1,4 @@ -# Description +# Description This resource is used to trust a remote SharePoint farm. This is used when federating search results between two different SharePoint farms. The diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPSearchContentSource/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPSearchContentSource/readme.md index 753459b5b..49d6e2521 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPSearchContentSource/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPSearchContentSource/readme.md @@ -1,3 +1,4 @@ # Description -This resource will deploy and configure a content source in a specified search service application. +This resource will deploy and configure a content source in a specified search +service application. diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPSearchCrawlRule/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPSearchCrawlRule/readme.md index cf3788172..96779a209 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPSearchCrawlRule/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPSearchCrawlRule/readme.md @@ -1,4 +1,4 @@ -# Description +# Description This resource is responsible for managing the search crawl rules in the search service application. You can create new rules, change existing rules and remove diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPSearchIndexPartition/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPSearchIndexPartition/readme.md index 6aa701d1e..4576ce855 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPSearchIndexPartition/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPSearchIndexPartition/readme.md @@ -1,4 +1,4 @@ -# Description +# Description This resource is responsible for creating search indexes. It works by creating the index topology components and updating the topology from the server that diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPSearchResultSource/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPSearchResultSource/readme.md index 8016f9473..79e1c92ca 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPSearchResultSource/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPSearchResultSource/readme.md @@ -1,12 +1,12 @@ -** Description ** +# Description This resource is used to configure search result sources in the SharePoint search service application. Result sources can be configured to be of the following provider types: - * Exchange Search Provider - * Local People Provider - * Local SharePoint Provider - * OpenSearch Provider - * Remote People Provider - * Remote SharePoint Provider +* Exchange Search Provider +* Local People Provider +* Local SharePoint Provider +* OpenSearch Provider +* Remote People Provider +* Remote SharePoint Provider diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPSearchServiceApp/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPSearchServiceApp/readme.md index 067d00f57..1981f6db3 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPSearchServiceApp/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPSearchServiceApp/readme.md @@ -1,4 +1,4 @@ -# Description +# Description This resource is responsible for provisioning the search service application. The current version lets you specify the database name and server, as well as diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPSearchTopology/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPSearchTopology/readme.md index 274e769f4..c76e2b3d7 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPSearchTopology/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPSearchTopology/readme.md @@ -1,4 +1,4 @@ -# Description +# Description This resource is responsible for provisioning a search topology in to the current farm. It allows the configuration to dictate the search topology roles diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPSecureStoreServiceApp/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPSecureStoreServiceApp/readme.md index 3c028ef4c..2c4acd0b6 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPSecureStoreServiceApp/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPSecureStoreServiceApp/readme.md @@ -1,4 +1,4 @@ -# Description +# Description This resource is responsible for provisioning and configuring the secure store service application. The parameters passed in (except those related to database diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPServiceAppPool/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPServiceAppPool/readme.md index d9bac326a..1c3fbcc35 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPServiceAppPool/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPServiceAppPool/readme.md @@ -1,4 +1,4 @@ -# Description +# Description This resource is used for provisioning an application pool that can be used for service applications. The account used for the service account must already be diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPServiceAppProxyGroup/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPServiceAppProxyGroup/readme.md index 318129b9a..4f50b2fd5 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPServiceAppProxyGroup/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPServiceAppProxyGroup/readme.md @@ -1,4 +1,4 @@ -# Description +# Description This resource is used to manage SharePoint Service Application Proxy Groups. The "Ensure" parameter controls whether or not the Proxy Group should exist. A diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPServiceAppSecurity/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPServiceAppSecurity/readme.md index 90384bf8e..75933138f 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPServiceAppSecurity/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPServiceAppSecurity/readme.md @@ -1,4 +1,4 @@ -# Description +# Description This resource is used to manage the sharing security settings of a specific service application. There are a number of approaches to how this can be diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPServiceInstance/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPServiceInstance/readme.md index bcca6204d..ee46352df 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPServiceInstance/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPServiceInstance/readme.md @@ -1,4 +1,4 @@ -# Description +# Description This resource is used to specify if a specific service should be running (Ensure = "Present") or not running (Ensure = "Absent") on the current server. diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPSessionStateService/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPSessionStateService/readme.md index e6430695e..d5df2d2ba 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPSessionStateService/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPSessionStateService/readme.md @@ -1,4 +1,4 @@ -# Description +# Description This resource will provision a state service app to the local farm. Specify the name of the database server and database name to provision the app with, diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPShellAdmins/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPShellAdmins/readme.md index 3e1506701..3bcf3a9af 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPShellAdmins/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPShellAdmins/readme.md @@ -1,4 +1,4 @@ -# Description +# Description This resource is used to manage the users with Shell Admin permissions. There are a number of approaches to how this can be implemented. The "Members" diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPSite/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPSite/readme.md index cc6b20fd0..6f4ab0332 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPSite/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPSite/readme.md @@ -1,4 +1,4 @@ -# Description +# Description This resource will provision a site collection to the current farm, based on the settings that are passed through. These settings map to the New-SPSite diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPStateServiceApp/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPStateServiceApp/readme.md index c20796acb..b9b1b4b83 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPStateServiceApp/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPStateServiceApp/readme.md @@ -1,4 +1,4 @@ -# Description +# Description This resource provisions an instance of the state service in to the local farm. The database specific parameters are only used during initial provisioning of diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPSubscriptionSettingsServiceApp/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPSubscriptionSettingsServiceApp/readme.md index 58dde2ab4..22afd70e3 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPSubscriptionSettingsServiceApp/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPSubscriptionSettingsServiceApp/readme.md @@ -1,4 +1,4 @@ -# Description +# Description This resource is used to provision and manage an instance of the App Management Services Service Application. It will identify an instance of the subscription diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPTimerJobState/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPTimerJobState/readme.md index 9d8088594..b9cf98637 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPTimerJobState/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPTimerJobState/readme.md @@ -1,4 +1,4 @@ -# Description +# Description This resource is used to configure a timer job and make sure it is in a specific state. The resource can be used to enable or disabled the job and @@ -6,13 +6,15 @@ configure the schedule of the job. The schedule parameter has to be written in the SPSchedule format (https://technet.microsoft.com/en-us/library/ff607916.aspx). + Examples are: - - Every 5 minutes between 0 and 59 - - Hourly between 0 and 59 - - Daily at 15:00:00 - - Weekly between Fri 22:00:00 and Sun 06:00:00 - - Monthly at 15 15:00:00 - - Yearly at Jan 1 15:00:00 + +- Every 5 minutes between 0 and 59 +- Hourly between 0 and 59 +- Daily at 15:00:00 +- Weekly between Fri 22:00:00 and Sun 06:00:00 +- Monthly at 15 15:00:00 +- Yearly at Jan 1 15:00:00 NOTE: Make sure you use the internal timer job name, not the display name! Use "Get-SPTimerJob -WebApplication "http://servername" | select Name, DisplayName" diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPTrustedIdentityTokenIssuer/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPTrustedIdentityTokenIssuer/readme.md index 2c4e630be..7c4f13e31 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPTrustedIdentityTokenIssuer/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPTrustedIdentityTokenIssuer/readme.md @@ -1,4 +1,4 @@ -# Description +# Description This resource is used to create or remove SPTrustedIdentityTokenIssuer in a SharePoint farm. diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPUsageApplication/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPUsageApplication/readme.md index f0655a5a5..8d2d16194 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPUsageApplication/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPUsageApplication/readme.md @@ -1,4 +1,4 @@ -# Description +# Description This resource provisions an instance of the usage and health monitoring service application. The database settings are only used for initial provisioning, but diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPUserProfileProperty/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPUserProfileProperty/readme.md index 4000842b9..d8b4ef3be 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPUserProfileProperty/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPUserProfileProperty/readme.md @@ -1,4 +1,4 @@ -# Description +# Description This resource will create a property in a user profile service application. It creates, update or delete a property using the parameters that are passed in to diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPUserProfileSection/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPUserProfileSection/readme.md index ccf80fdec..cd4413de4 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPUserProfileSection/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPUserProfileSection/readme.md @@ -1,4 +1,4 @@ -# Description +# Description This resource will create a section in a user profile service application. It creates, update or delete a section using the parameters that are passed in to diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPUserProfileServiceApp/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPUserProfileServiceApp/readme.md index 8711c99e0..9e8a66045 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPUserProfileServiceApp/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPUserProfileServiceApp/readme.md @@ -1,4 +1,4 @@ -# Description +# Description This resource will provision an instance of the user profile service to the farm. It creates the required databases using the parameters that are passed diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPUserProfileServiceAppPermissions/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPUserProfileServiceAppPermissions/readme.md index b06c9b692..243af4387 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPUserProfileServiceAppPermissions/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPUserProfileServiceAppPermissions/readme.md @@ -1,4 +1,4 @@ -# Description +# Description This resource will apply permissions to a user profile service application. These can control access to create my sites, use social features, and use diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPUserProfileSyncConnection/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPUserProfileSyncConnection/readme.md index cdd2db708..7ca218fb0 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPUserProfileSyncConnection/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPUserProfileSyncConnection/readme.md @@ -1,4 +1,4 @@ -# Description +# Description This resource will ensure a specifc user profile sync connection is in place and that it is configured accordingly to its definition diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPUserProfileSyncService/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPUserProfileSyncService/readme.md index 51ce11161..529869961 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPUserProfileSyncService/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPUserProfileSyncService/readme.md @@ -1,4 +1,4 @@ -# Description +# Description This resource is responsible for ensuring that the user profile sync service has been provisioned (Ensure = "Present") or is not running (Ensure = diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPVisioServiceApp/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPVisioServiceApp/readme.md index dcf0807e5..b7593758b 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPVisioServiceApp/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPVisioServiceApp/readme.md @@ -1,4 +1,4 @@ -# Description +# Description This resource is responsible for creating Visio Graphics Service Application instances within the local SharePoint farm. The resource will provision and diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPWeb/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPWeb/readme.md index 37766f622..53e18f86e 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPWeb/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPWeb/readme.md @@ -1,4 +1,4 @@ -# Description +# Description This resource will provision a SPWeb based on the settings that are passed through. These settings map to the New-SPWeb cmdlet and accept the same values diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPWebAppBlockedFileTypes/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPWebAppBlockedFileTypes/readme.md index dba352fea..0b7084e7c 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPWebAppBlockedFileTypes/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPWebAppBlockedFileTypes/readme.md @@ -1,4 +1,4 @@ -# Description +# Description This resource is responsible for controlling the blocked file type setting on a specific web application. It has two modes of operation, the first is to use diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPWebAppGeneralSettings/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPWebAppGeneralSettings/readme.md index 4b77c12d9..b6ed846ab 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPWebAppGeneralSettings/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPWebAppGeneralSettings/readme.md @@ -1,4 +1,4 @@ -# Description +# Description This resource is responsible for setting web application settings that are found under the "general settings" screen in central admin. The web diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPWebAppPermissions/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPWebAppPermissions/readme.md index 2e4ec05cc..87934d96f 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPWebAppPermissions/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPWebAppPermissions/readme.md @@ -1,4 +1,4 @@ -# Description +# Description This resource is responsible for managing the user permissions for a web application. You can either specify to set all permissions or specify diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPWebAppPolicy/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPWebAppPolicy/readme.md index 78d49e665..dae304c81 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPWebAppPolicy/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPWebAppPolicy/readme.md @@ -1,4 +1,4 @@ -# Description +# Description This resource is used to set the User Policies for web applications. The usernames can be either specified in Classic or Claims format, both will be diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPWebAppProxyGroup/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPWebAppProxyGroup/readme.md index 8c2994f8c..5fca8e199 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPWebAppProxyGroup/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPWebAppProxyGroup/readme.md @@ -1,4 +1,4 @@ -# Description +# Description This resource is used to associate a web application to a service application proxy group. Use the proxy group name "Default" to associate the web diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPWebAppSiteUseAndDeletion/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPWebAppSiteUseAndDeletion/readme.md index 809e0546a..11d074faa 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPWebAppSiteUseAndDeletion/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPWebAppSiteUseAndDeletion/readme.md @@ -1,4 +1,4 @@ -# Description +# Description This resource is responsible for controlling the Site Use and Deletion settings on a specific web application. You can enable or disable the Site Use diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPWebAppThrottlingSettings/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPWebAppThrottlingSettings/readme.md index f030fe4b7..fed7e5cbf 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPWebAppThrottlingSettings/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPWebAppThrottlingSettings/readme.md @@ -1,4 +1,4 @@ -# Description +# Description This resource is responsible for setting web application settings that are found under the "resource throttling" screen in central admin. The web diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPWebAppWorkflowSettings/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPWebAppWorkflowSettings/readme.md index 30d435e0e..b2f8a0681 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPWebAppWorkflowSettings/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPWebAppWorkflowSettings/readme.md @@ -1,4 +1,4 @@ -# Description +# Description This resource is responsible for setting web application settings that are found under the "workflow settings" screen in central admin. The web diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPWebApplication/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPWebApplication/readme.md index 6aafd9337..0da0ae97c 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPWebApplication/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPWebApplication/readme.md @@ -1,4 +1,4 @@ -# Description +# Description This resource is responsible for creating a web application within the local SharePoint farm. The resource will provision the web application with all of diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPWebApplicationAppDomain/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPWebApplicationAppDomain/readme.md index a9b9c300c..ff9d77878 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPWebApplicationAppDomain/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPWebApplicationAppDomain/readme.md @@ -1,4 +1,4 @@ -# Description +# Description This resource will configure the App Domain at a specific zone for the given Web Application. The configuration is done per zone on the specified web diff --git a/gulpfile.js b/gulpfile.js index b50210810..b50ccb3a3 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -4,10 +4,13 @@ var through2 = require("through2"); var markdownlint = require("markdownlint"); gulp.task("test-mdsyntax", function task() { - return gulp.src("Modules/SharePointDsc/**/*.md", { "read": false }) + return gulp.src("Modules/SharePointDsc/DSCResources/**/*.md", { "read": false }) .pipe(through2.obj(function obj(file, enc, next) { markdownlint( - { "files": [ file.path ] }, + { + "files": [ file.path ], + "config": require("./.markdownlint.json") + }, function callback(err, result) { var resultString = (result || "").toString(); if (resultString) { From fd0b83d96aebc50502fefaa10bd393a39cffcc9a Mon Sep 17 00:00:00 2001 From: Brian Farnhill Date: Thu, 10 Nov 2016 10:12:10 +1100 Subject: [PATCH 15/38] updated changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5ddf4df12..ddd4efbf6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Change log for SharePointDsc +## Unreleased + +* Added testing for valid markdown syntax to unit tests + ## 1.4 * Set-TargetResource of Service Application now also removes all associated From cde0c2a5bc20489f7068eb011b5c565d3de2ee56 Mon Sep 17 00:00:00 2001 From: Brian Farnhill Date: Thu, 10 Nov 2016 10:12:26 +1100 Subject: [PATCH 16/38] Fixed markdown issue --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ddd4efbf6..92c521b51 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,7 +2,7 @@ ## Unreleased -* Added testing for valid markdown syntax to unit tests +* Added testing for valid markdown syntax to unit tests ## 1.4 From 5bb395dd47c0911e021e968941ff32946e101c47 Mon Sep 17 00:00:00 2001 From: Brian Farnhill Date: Thu, 10 Nov 2016 11:03:59 +1100 Subject: [PATCH 17/38] Fixed module manifest required version property --- CHANGELOG.md | 1 + Modules/SharePointDsc/SharePointDsc.psd1 | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 424f552ab..491fccdb0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,7 @@ ### Unreleased * Fixed issue with SPManagedMetaDataServiceApp if ContentTypeHubUrl parameter is null + * Added minimum PowerShell version to module manifest ### 1.4 * Set-TargetResource of Service Application now also removes all associated proxies diff --git a/Modules/SharePointDsc/SharePointDsc.psd1 b/Modules/SharePointDsc/SharePointDsc.psd1 index 2251dce63..f25a4a043 100644 --- a/Modules/SharePointDsc/SharePointDsc.psd1 +++ b/Modules/SharePointDsc/SharePointDsc.psd1 @@ -30,7 +30,7 @@ Copyright = '(c) 2015-2016 Microsoft Corporation. All rights reserved.' Description = 'This DSC module is used to deploy and configure SharePoint Server 2013 and 2016, and covers a wide range of areas including web apps, service apps and farm configuration.' # Minimum version of the Windows PowerShell engine required by this module -# PowerShellVersion = '' +PowerShellVersion = '4.0' # Name of the Windows PowerShell host required by this module # PowerShellHostName = '' From 13c77e334233b1630358ab2156734f041a044259 Mon Sep 17 00:00:00 2001 From: Brian Farnhill Date: Thu, 10 Nov 2016 11:25:45 +1100 Subject: [PATCH 18/38] Fixed bug with case of server names --- CHANGELOG.md | 1 + .../MSFT_SPSearchTopology/MSFT_SPSearchTopology.psm1 | 12 ++++++------ 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 424f552ab..b5a933871 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,7 @@ ### Unreleased * Fixed issue with SPManagedMetaDataServiceApp if ContentTypeHubUrl parameter is null + * Fixed bug with search topology that caused issues with names of servers needing to all be the same case ### 1.4 * Set-TargetResource of Service Application now also removes all associated proxies diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPSearchTopology/MSFT_SPSearchTopology.psm1 b/Modules/SharePointDsc/DSCResources/MSFT_SPSearchTopology/MSFT_SPSearchTopology.psm1 index 723a8882d..b8f2d7478 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPSearchTopology/MSFT_SPSearchTopology.psm1 +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPSearchTopology/MSFT_SPSearchTopology.psm1 @@ -210,22 +210,22 @@ function Set-TargetResource $AllSearchServers = @() $AllSearchServers += ($params.Admin | Where-Object -FilterScript { - $AllSearchServers.Contains($_) -eq $false + ($AllSearchServers -contains $_) -eq $false }) $AllSearchServers += ($params.Crawler | Where-Object -FilterScript { - $AllSearchServers.Contains($_) -eq $false + ($AllSearchServers -contains $_) -eq $false }) $AllSearchServers += ($params.ContentProcessing | Where-Object -FilterScript { - $AllSearchServers.Contains($_) -eq $false + ($AllSearchServers -contains $_) -eq $false }) $AllSearchServers += ($params.AnalyticsProcessing | Where-Object -FilterScript { - $AllSearchServers.Contains($_) -eq $false + ($AllSearchServers -contains $_) -eq $false }) $AllSearchServers += ($params.QueryProcessing | Where-Object -FilterScript { - $AllSearchServers.Contains($_) -eq $false + ($AllSearchServers -contains $_) -eq $false }) $AllSearchServers += ($params.IndexPartition | Where-Object -FilterScript { - $AllSearchServers.Contains($_) -eq $false + ($AllSearchServers -contains $_) -eq $false }) # Ensure the search service instance is running on all servers From 760684d391a06f0032679e97756dd3cacf716663 Mon Sep 17 00:00:00 2001 From: Brian Farnhill Date: Thu, 10 Nov 2016 13:34:45 +1100 Subject: [PATCH 19/38] Added feature pack 1 support --- CHANGELOG.md | 1 + .../MSFT_SPCreateFarm/MSFT_SPCreateFarm.psm1 | 39 +++++++++-- .../MSFT_SPCreateFarm.schema.mof | 2 +- .../MSFT_SPJoinFarm/MSFT_SPJoinFarm.psm1 | 15 +++-- .../MSFT_SPJoinFarm.schema.mof | 2 +- .../SharePointDsc.SPCreateFarm.Tests.ps1 | 67 +++++++++++++++++++ .../SharePointDsc.SPJoinFarm.Tests.ps1 | 59 ++++++++++++++++ 7 files changed, 171 insertions(+), 14 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 491fccdb0..b3a1d72b7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ ### Unreleased * Fixed issue with SPManagedMetaDataServiceApp if ContentTypeHubUrl parameter is null * Added minimum PowerShell version to module manifest + * Added support for MinRole enhancements added in SP2016 Feature Pack 1 ### 1.4 * Set-TargetResource of Service Application now also removes all associated proxies diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPCreateFarm/MSFT_SPCreateFarm.psm1 b/Modules/SharePointDsc/DSCResources/MSFT_SPCreateFarm/MSFT_SPCreateFarm.psm1 index bdeae5942..d4e641338 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPCreateFarm/MSFT_SPCreateFarm.psm1 +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPCreateFarm/MSFT_SPCreateFarm.psm1 @@ -40,13 +40,14 @@ function Get-TargetResource [parameter(Mandatory = $false)] [System.String] [ValidateSet("Application", + "ApplicationWithSearch", "Custom", "DistributedCache", "Search", "SingleServer", "SingleServerFarm", - "SpecialLoad", - "WebFrontEnd")] + "WebFrontEnd", + "WebFrontEndWithDistributedCache")] $ServerRole ) @@ -58,6 +59,18 @@ function Get-TargetResource throw [Exception] "Server role is only supported in SharePoint 2016." } + if (($PSBoundParameters.ContainsKey("ServerRole") -eq $true) ` + -and (Get-SPDSCInstalledProductVersion).FileMajorPart -ne 16 ` + -and (Get-SPDSCInstalledProductVersion).FileBuildPart -lt 4456 ` + -and ($ServerRole -eq "ApplicationWithSearch" ` + -or $ServerRole -eq "WebFrontEndWithDistributedCache")) + { + throw [Exception] ("ServerRole values of 'ApplicationWithSearch' or " + ` + "'WebFrontEndWithDistributedCache' require the SharePoint 2016 " + ` + "Feature Pack 1 to be installed. See " + ` + "https://support.microsoft.com/en-au/kb/3127940") + } + $result = Invoke-SPDSCCommand -Credential $InstallAccount ` -Arguments $PSBoundParameters ` -ScriptBlock { @@ -147,13 +160,14 @@ function Set-TargetResource [parameter(Mandatory = $false)] [System.String] [ValidateSet("Application", + "ApplicationWithSearch", "Custom", "DistributedCache", "Search", "SingleServer", "SingleServerFarm", - "SpecialLoad", - "WebFrontEnd")] + "WebFrontEnd", + "WebFrontEndWithDistributedCache")] $ServerRole ) @@ -165,6 +179,18 @@ function Set-TargetResource throw [Exception] "Server role is only supported in SharePoint 2016." } + if (($PSBoundParameters.ContainsKey("ServerRole") -eq $true) ` + -and (Get-SPDSCInstalledProductVersion).FileMajorPart -ne 16 ` + -and (Get-SPDSCInstalledProductVersion).FileBuildPart -lt 4456 ` + -and ($ServerRole -eq "ApplicationWithSearch" ` + -or $ServerRole -eq "WebFrontEndWithDistributedCache")) + { + throw [Exception] ("ServerRole values of 'ApplicationWithSearch' or " + ` + "'WebFrontEndWithDistributedCache' require the SharePoint 2016 " + ` + "Feature Pack 1 to be installed. See " + ` + "https://support.microsoft.com/en-au/kb/3127940") + } + $CurrentValues = Get-TargetResource @PSBoundParameters if ([string]::IsNullOrEmpty($CurrentValues.FarmConfigDatabaseName) -eq $false) { @@ -276,13 +302,14 @@ function Test-TargetResource [parameter(Mandatory = $false)] [System.String] [ValidateSet("Application", + "ApplicationWithSearch", "Custom", "DistributedCache", "Search", "SingleServer", "SingleServerFarm", - "SpecialLoad", - "WebFrontEnd")] + "WebFrontEnd", + "WebFrontEndWithDistributedCache")] $ServerRole ) diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPCreateFarm/MSFT_SPCreateFarm.schema.mof b/Modules/SharePointDsc/DSCResources/MSFT_SPCreateFarm/MSFT_SPCreateFarm.schema.mof index 9a8242391..40339482a 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPCreateFarm/MSFT_SPCreateFarm.schema.mof +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPCreateFarm/MSFT_SPCreateFarm.schema.mof @@ -8,6 +8,6 @@ class MSFT_SPCreateFarm : OMI_BaseResource [Required, Description("The name of the admin content database")] String AdminContentDatabaseName; [Write, Description("What port will Central Admin be provisioned to - default is 9999")] uint32 CentralAdministrationPort; [Write, Description("The authentication provider of the CentralAdministration web application"), ValueMap{"NTLM","Kerberos"}, Values{"NTLM","Kerberos"}] String CentralAdministrationAuth; - [Write, Description("SharePoint 2016 only - the MinRole role to enroll this server as"), ValueMap{"Application","Custom","DistributedCache","Search","SingleServer","SingleServerFarm","SpecialLoad","WebFrontEnd"}, Values{"Application","Custom","DistributedCache","Search","SingleServer","SingleServerFarm","SpecialLoad","WebFrontEnd"}] string ServerRole; + [Write, Description("SharePoint 2016 only - the MinRole role to enroll this server as"), ValueMap{"Application","ApplicationWithSearch","Custom","DistributedCache","Search","SingleServer","SingleServerFarm","WebFrontEnd","WebFrontEndWithDistributedCache"}, Values{"Application","ApplicationWithSearch","Custom","DistributedCache","Search","SingleServer","SingleServerFarm","WebFrontEnd","WebFrontEndWithDistributedCache"}] string ServerRole; [Write, Description("POWERSHELL 4 ONLY: The account to run this resource as, use PsDscRunAsCredential if using PowerShell 5"), EmbeddedInstance("MSFT_Credential")] String InstallAccount; }; diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPJoinFarm/MSFT_SPJoinFarm.psm1 b/Modules/SharePointDsc/DSCResources/MSFT_SPJoinFarm/MSFT_SPJoinFarm.psm1 index 458e365d9..21e1e926e 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPJoinFarm/MSFT_SPJoinFarm.psm1 +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPJoinFarm/MSFT_SPJoinFarm.psm1 @@ -23,13 +23,14 @@ function Get-TargetResource [parameter(Mandatory = $false)] [System.String] [ValidateSet("Application", + "ApplicationWithSearch", "Custom", "DistributedCache", "Search", "SingleServer", "SingleServerFarm", - "SpecialLoad", - "WebFrontEnd")] + "WebFrontEnd", + "WebFrontEndWithDistributedCache")] $ServerRole ) @@ -98,13 +99,14 @@ function Set-TargetResource [parameter(Mandatory = $false)] [System.String] [ValidateSet("Application", + "ApplicationWithSearch", "Custom", "DistributedCache", "Search", "SingleServer", "SingleServerFarm", - "SpecialLoad", - "WebFrontEnd")] + "WebFrontEnd", + "WebFrontEndWithDistributedCache")] $ServerRole ) @@ -214,13 +216,14 @@ function Test-TargetResource [parameter(Mandatory = $false)] [System.String] [ValidateSet("Application", + "ApplicationWithSearch", "Custom", "DistributedCache", "Search", "SingleServer", "SingleServerFarm", - "SpecialLoad", - "WebFrontEnd")] + "WebFrontEnd", + "WebFrontEndWithDistributedCache")] $ServerRole ) diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPJoinFarm/MSFT_SPJoinFarm.schema.mof b/Modules/SharePointDsc/DSCResources/MSFT_SPJoinFarm/MSFT_SPJoinFarm.schema.mof index b33a5e813..502031482 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPJoinFarm/MSFT_SPJoinFarm.schema.mof +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPJoinFarm/MSFT_SPJoinFarm.schema.mof @@ -4,6 +4,6 @@ class MSFT_SPJoinFarm : OMI_BaseResource [Key, Description("The name of the config database to connect to")] string FarmConfigDatabaseName; [Key, Description("The server that hosts the config database")] string DatabaseServer; [Required, Description("The passphrase that should be used to join the farm") , EmbeddedInstance("MSFT_Credential")] string Passphrase; - [Write, Description("SharePoint 2016 only - the MinRole role to enroll this server as"), ValueMap{"Application","Custom","DistributedCache","Search","SingleServer","SingleServerFarm","SpecialLoad","WebFrontEnd"}, Values{"Application","Custom","DistributedCache","Search","SingleServer","SingleServerFarm","SpecialLoad","WebFrontEnd"}] string ServerRole; + [Write, Description("SharePoint 2016 only - the MinRole role to enroll this server as"), ValueMap{"Application","ApplicationWithSearch","Custom","DistributedCache","Search","SingleServer","SingleServerFarm","WebFrontEnd","WebFrontEndWithDistributedCache"}, Values{"Application","ApplicationWithSearch","Custom","DistributedCache","Search","SingleServer","SingleServerFarm","WebFrontEnd","WebFrontEndWithDistributedCache"}] string ServerRole; [Write, Description("POWERSHELL 4 ONLY: The account to run this resource as, use PsDscRunAsCredential if using PowerShell 5"), EmbeddedInstance("MSFT_Credential")] String InstallAccount; }; diff --git a/Tests/Unit/SharePointDsc/SharePointDsc.SPCreateFarm.Tests.ps1 b/Tests/Unit/SharePointDsc/SharePointDsc.SPCreateFarm.Tests.ps1 index 3d3789d0f..9ce56f66c 100644 --- a/Tests/Unit/SharePointDsc/SharePointDsc.SPCreateFarm.Tests.ps1 +++ b/Tests/Unit/SharePointDsc/SharePointDsc.SPCreateFarm.Tests.ps1 @@ -112,6 +112,73 @@ Describe -Name $Global:SPDscHelper.DescribeHeader -Fixture { } } + if ($Global:SPDscHelper.CurrentStubBuildNumber.Major -eq 16) + { + Context -Name "enhanced minrole options fail when Feature Pack 1 is not installed" -Fixture { + $testParams = @{ + FarmConfigDatabaseName = "SP_Config" + DatabaseServer = "DatabaseServer\Instance" + FarmAccount = $mockFarmAccount + Passphrase = $mockPassphrase + AdminContentDatabaseName = "Admin_Content" + CentralAdministrationAuth = "Kerberos" + CentralAdministrationPort = 1234 + ServerRole = "ApplicationWithSearch" + } + + Mock -CommandName Get-SPDSCInstalledProductVersion -MockWith { + return @{ + FileMajorPart = 16 + FileBuildPart = 0 + } + } + + It "Should throw if an invalid server role is used in the get method" { + { Get-TargetResource @testParams } | Should Throw + } + + It "Should throw if an invalid server role is used in the test method" { + { Test-TargetResource @testParams } | Should Throw + } + + It "Should throw if an invalid server role is used in the set method" { + { Set-TargetResource @testParams } | Should Throw + } + } + + Context -Name "enhanced minrole options succeed when Feature Pack 1 is installed" -Fixture { + $testParams = @{ + FarmConfigDatabaseName = "SP_Config" + DatabaseServer = "DatabaseServer\Instance" + FarmAccount = $mockFarmAccount + Passphrase = $mockPassphrase + AdminContentDatabaseName = "Admin_Content" + CentralAdministrationAuth = "Kerberos" + CentralAdministrationPort = 1234 + ServerRole = "ApplicationWithSearch" + } + + Mock -CommandName Get-SPDSCInstalledProductVersion -MockWith { + return @{ + FileMajorPart = 16 + FileBuildPart = 4456 + } + } + + It "Should throw if an invalid server role is used in the get method" { + { Get-TargetResource @testParams } | Should Not Throw + } + + It "Should throw if an invalid server role is used in the test method" { + { Test-TargetResource @testParams } | Should Not Throw + } + + It "Should throw if an invalid server role is used in the set method" { + { Set-TargetResource @testParams } | Should Not Throw + } + } + } + Context -Name "no farm is configured locally and an unsupported version of SharePoint is installed on the server" -Fixture { $testParams = @{ FarmConfigDatabaseName = "SP_Config" diff --git a/Tests/Unit/SharePointDsc/SharePointDsc.SPJoinFarm.Tests.ps1 b/Tests/Unit/SharePointDsc/SharePointDsc.SPJoinFarm.Tests.ps1 index ad2f3f75e..c33dade29 100644 --- a/Tests/Unit/SharePointDsc/SharePointDsc.SPJoinFarm.Tests.ps1 +++ b/Tests/Unit/SharePointDsc/SharePointDsc.SPJoinFarm.Tests.ps1 @@ -96,6 +96,65 @@ Describe -Name $Global:SPDscHelper.DescribeHeader -Fixture { } } + if ($Global:SPDscHelper.CurrentStubBuildNumber.Major -eq 16) + { + Context -Name "enhanced minrole options fail when Feature Pack 1 is not installed" -Fixture { + $testParams = @{ + FarmConfigDatabaseName = "SP_Config" + DatabaseServer = "DatabaseServer\Instance" + Passphrase = $mockPassphraseCredential + ServerRole = "ApplicationWithSearch" + } + + Mock -CommandName Get-SPDSCInstalledProductVersion -MockWith { + return @{ + FileMajorPart = 16 + FileBuildPart = 0 + } + } + + It "Should throw if an invalid server role is used in the get method" { + { Get-TargetResource @testParams } | Should Throw + } + + It "Should throw if an invalid server role is used in the test method" { + { Test-TargetResource @testParams } | Should Throw + } + + It "Should throw if an invalid server role is used in the set method" { + { Set-TargetResource @testParams } | Should Throw + } + } + + Context -Name "enhanced minrole options succeed when Feature Pack 1 is installed" -Fixture { + $testParams = @{ + FarmConfigDatabaseName = "SP_Config" + DatabaseServer = "DatabaseServer\Instance" + Passphrase = $mockPassphraseCredential + ServerRole = "ApplicationWithSearch" + } + + Mock -CommandName Get-SPDSCInstalledProductVersion -MockWith { + return @{ + FileMajorPart = 16 + FileBuildPart = 4456 + } + } + + It "Should throw if an invalid server role is used in the get method" { + { Get-TargetResource @testParams } | Should Not Throw + } + + It "Should throw if an invalid server role is used in the test method" { + { Test-TargetResource @testParams } | Should Not Throw + } + + It "Should throw if an invalid server role is used in the set method" { + { Set-TargetResource @testParams } | Should Not Throw + } + } + } + Context -Name "no farm is configured locally and an unsupported version of SharePoint is installed on the server" { $testParams = @{ FarmConfigDatabaseName = "SP_Config" From 5cf1e9c0d40120781d569b4c2396f58b5360298f Mon Sep 17 00:00:00 2001 From: Brian Farnhill Date: Thu, 10 Nov 2016 13:40:33 +1100 Subject: [PATCH 20/38] Fixed logic issues in checks --- .../MSFT_SPCreateFarm/MSFT_SPCreateFarm.psm1 | 4 ++-- .../MSFT_SPJoinFarm/MSFT_SPJoinFarm.psm1 | 24 +++++++++++++++++++ 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPCreateFarm/MSFT_SPCreateFarm.psm1 b/Modules/SharePointDsc/DSCResources/MSFT_SPCreateFarm/MSFT_SPCreateFarm.psm1 index d4e641338..97eaa201a 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPCreateFarm/MSFT_SPCreateFarm.psm1 +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPCreateFarm/MSFT_SPCreateFarm.psm1 @@ -60,7 +60,7 @@ function Get-TargetResource } if (($PSBoundParameters.ContainsKey("ServerRole") -eq $true) ` - -and (Get-SPDSCInstalledProductVersion).FileMajorPart -ne 16 ` + -and (Get-SPDSCInstalledProductVersion).FileMajorPart -eq 16 ` -and (Get-SPDSCInstalledProductVersion).FileBuildPart -lt 4456 ` -and ($ServerRole -eq "ApplicationWithSearch" ` -or $ServerRole -eq "WebFrontEndWithDistributedCache")) @@ -180,7 +180,7 @@ function Set-TargetResource } if (($PSBoundParameters.ContainsKey("ServerRole") -eq $true) ` - -and (Get-SPDSCInstalledProductVersion).FileMajorPart -ne 16 ` + -and (Get-SPDSCInstalledProductVersion).FileMajorPart -eq 16 ` -and (Get-SPDSCInstalledProductVersion).FileBuildPart -lt 4456 ` -and ($ServerRole -eq "ApplicationWithSearch" ` -or $ServerRole -eq "WebFrontEndWithDistributedCache")) diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPJoinFarm/MSFT_SPJoinFarm.psm1 b/Modules/SharePointDsc/DSCResources/MSFT_SPJoinFarm/MSFT_SPJoinFarm.psm1 index 21e1e926e..b96251a66 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPJoinFarm/MSFT_SPJoinFarm.psm1 +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPJoinFarm/MSFT_SPJoinFarm.psm1 @@ -42,6 +42,18 @@ function Get-TargetResource throw [Exception] "Server role is only supported in SharePoint 2016." } + if (($PSBoundParameters.ContainsKey("ServerRole") -eq $true) ` + -and (Get-SPDSCInstalledProductVersion).FileMajorPart -eq 16 ` + -and (Get-SPDSCInstalledProductVersion).FileBuildPart -lt 4456 ` + -and ($ServerRole -eq "ApplicationWithSearch" ` + -or $ServerRole -eq "WebFrontEndWithDistributedCache")) + { + throw [Exception] ("ServerRole values of 'ApplicationWithSearch' or " + ` + "'WebFrontEndWithDistributedCache' require the SharePoint 2016 " + ` + "Feature Pack 1 to be installed. See " + ` + "https://support.microsoft.com/en-au/kb/3127940") + } + $result = Invoke-SPDSCCommand -Credential $InstallAccount ` -Arguments $PSBoundParameters ` -ScriptBlock { @@ -118,6 +130,18 @@ function Set-TargetResource throw [Exception] "Server role is only supported in SharePoint 2016." } + if (($PSBoundParameters.ContainsKey("ServerRole") -eq $true) ` + -and (Get-SPDSCInstalledProductVersion).FileMajorPart -eq 16 ` + -and (Get-SPDSCInstalledProductVersion).FileBuildPart -lt 4456 ` + -and ($ServerRole -eq "ApplicationWithSearch" ` + -or $ServerRole -eq "WebFrontEndWithDistributedCache")) + { + throw [Exception] ("ServerRole values of 'ApplicationWithSearch' or " + ` + "'WebFrontEndWithDistributedCache' require the SharePoint 2016 " + ` + "Feature Pack 1 to be installed. See " + ` + "https://support.microsoft.com/en-au/kb/3127940") + } + $CurrentValues = Get-TargetResource @PSBoundParameters if ([string]::IsNullOrEmpty($CurrentValues.FarmConfigDatabaseName) -eq $false) { From 78aebf6bc7b423665bcca4463d0ea23496e7d9ff Mon Sep 17 00:00:00 2001 From: Brian Farnhill Date: Fri, 11 Nov 2016 10:25:57 +1100 Subject: [PATCH 21/38] Fixed bad merge --- CHANGELOG.md | 1 - 1 file changed, 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 813b47fae..ac43c8672 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -250,7 +250,6 @@ PowerShell 5 ## 0.5.0.0 ->>>>>>> 2a5fa47f1f0abe14eb8338f060627b68033bd61a * Fixed bug with detection of version in create farm * Minor fixes From e239332f1e3ce24f2b60cac8861c48ffcf9816fb Mon Sep 17 00:00:00 2001 From: Brian Farnhill Date: Fri, 11 Nov 2016 20:47:22 +1100 Subject: [PATCH 22/38] Fixed SP build version --- .../Microsoft.SharePoint.PowerShell.psm1 | 324 +++++++++++++----- 1 file changed, 239 insertions(+), 85 deletions(-) rename Tests/Unit/Stubs/SharePoint/{16.0.4327.1000 => 16.0.4456.1000}/Microsoft.SharePoint.PowerShell.psm1 (98%) diff --git a/Tests/Unit/Stubs/SharePoint/16.0.4327.1000/Microsoft.SharePoint.PowerShell.psm1 b/Tests/Unit/Stubs/SharePoint/16.0.4456.1000/Microsoft.SharePoint.PowerShell.psm1 similarity index 98% rename from Tests/Unit/Stubs/SharePoint/16.0.4327.1000/Microsoft.SharePoint.PowerShell.psm1 rename to Tests/Unit/Stubs/SharePoint/16.0.4456.1000/Microsoft.SharePoint.PowerShell.psm1 index 260a8f140..df935881e 100644 --- a/Tests/Unit/Stubs/SharePoint/16.0.4327.1000/Microsoft.SharePoint.PowerShell.psm1 +++ b/Tests/Unit/Stubs/SharePoint/16.0.4456.1000/Microsoft.SharePoint.PowerShell.psm1 @@ -68,9 +68,9 @@ param( function Add-SPDiagnosticsPerformanceCounter { [CmdletBinding(DefaultParameterSetName='AddCounter', SupportsShouldProcess=$true, ConfirmImpact='Medium')] param( - [Parameter(ParameterSetName='AddInstance', Mandatory=$true, Position=1, ValueFromPipelineByPropertyName=$true)] [Parameter(ParameterSetName='AddMultipleCounters', Mandatory=$true, ValueFromPipelineByPropertyName=$true)] [Parameter(ParameterSetName='AddCounter', Mandatory=$true, Position=1, ValueFromPipelineByPropertyName=$true)] + [Parameter(ParameterSetName='AddInstance', Mandatory=$true, Position=1, ValueFromPipelineByPropertyName=$true)] [string] ${Category}, @@ -84,26 +84,26 @@ param( [string[]] ${CounterList}, - [Parameter(ParameterSetName='AddMultipleCounters', ValueFromPipelineByPropertyName=$true)] [Parameter(ParameterSetName='AddInstance', Mandatory=$true, ValueFromPipelineByPropertyName=$true)] + [Parameter(ParameterSetName='AddMultipleCounters', ValueFromPipelineByPropertyName=$true)] [string] ${Instance}, - [Parameter(ParameterSetName='AddInstance', ValueFromPipelineByPropertyName=$true)] [Parameter(ParameterSetName='AddMultipleCounters', ValueFromPipelineByPropertyName=$true)] [Parameter(ParameterSetName='AddCounter', ValueFromPipelineByPropertyName=$true)] + [Parameter(ParameterSetName='AddInstance', ValueFromPipelineByPropertyName=$true)] [switch] ${WebFrontEnd}, + [Parameter(ParameterSetName='AddMultipleCounters', ValueFromPipelineByPropertyName=$true)] [Parameter(ParameterSetName='AddCounter', ValueFromPipelineByPropertyName=$true)] [Parameter(ParameterSetName='AddInstance', ValueFromPipelineByPropertyName=$true)] - [Parameter(ParameterSetName='AddMultipleCounters', ValueFromPipelineByPropertyName=$true)] [switch] ${DatabaseServer}, - [Parameter(ParameterSetName='AddInstance', ValueFromPipelineByPropertyName=$true)] - [Parameter(ParameterSetName='AddMultipleCounters', ValueFromPipelineByPropertyName=$true)] [Parameter(ParameterSetName='AddCounter', ValueFromPipelineByPropertyName=$true)] + [Parameter(ParameterSetName='AddMultipleCounters', ValueFromPipelineByPropertyName=$true)] + [Parameter(ParameterSetName='AddInstance', ValueFromPipelineByPropertyName=$true)] [switch] ${AllInstances}, @@ -116,8 +116,18 @@ param( function Add-SPDistributedCacheServiceInstance { - [CmdletBinding()] + [CmdletBinding(DefaultParameterSetName='NoArgumentsDefaultSet')] param( + [Parameter(ParameterSetName='LocalServerRoleSet')] + [ValidateSet('DistributedCache','SingleServerFarm','WebFrontEndWithDistributedCache')] + [object] + ${Role}, + + [Parameter(ParameterSetName='CacheSizeSet')] + [ValidateRange(1, 2147483647)] + [int] + ${CacheSizeInMB}, + [Parameter(ValueFromPipeline=$true)] [object] ${AssignmentCollection}) @@ -269,11 +279,11 @@ param( ${Name}, [ValidateNotNull()] - [object] + [System.Nullable[object]] ${Availability}, [ValidateNotNull()] - [object] + [System.Nullable[object]] ${OutgoingScheme}, [System.Nullable[int]] @@ -1093,8 +1103,8 @@ param( [string] ${DatabaseFailOverPartner}, - [ValidateSet('Application','Custom','DistributedCache','Search','SingleServerFarm','WebFrontEnd')] - [object] + [ValidateSet('Application','ApplicationWithSearch','Custom','DistributedCache','Search','SingleServerFarm','WebFrontEnd','WebFrontEndWithDistributedCache')] + [System.Nullable[object]] ${LocalServerRole}, [Parameter(ValueFromPipeline=$true)] @@ -1283,6 +1293,43 @@ param( } +function Copy-SPTaxonomyGroups { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [string] + ${LocalTermStoreName}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [uri] + ${RemoteSiteUrl}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [uri] + ${LocalSiteUrl}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [string[]] + ${GroupNames}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [pscredential] + ${Credential}, + + [string] + ${AuthEndpoint}, + + [string] + ${GraphApiEndpoint}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + function Disable-ProjectServerLicense { [CmdletBinding()] param( @@ -1491,6 +1538,17 @@ param( } +function Disable-SPUserSolutionAllowList { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + function Disable-SPWebApplicationHttpThrottling { [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] param( @@ -1812,6 +1870,17 @@ param( } +function Enable-SPUserSolutionAllowList { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + function Enable-SPWebApplicationHttpThrottling { [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] param( @@ -3328,7 +3397,7 @@ param( [object] ${SearchApplication}, - [object] + [System.Nullable[object]] ${Type}, [string] @@ -4824,7 +4893,7 @@ param( ${Name}, [ValidateNotNull()] - [object] + [System.Nullable[object]] ${Availability}, [Parameter(ValueFromPipeline=$true)] @@ -4942,7 +5011,7 @@ param( [int] ${Count}, - [object] + [System.Nullable[object]] ${MajorAction}, [System.Nullable[guid]] @@ -5088,7 +5157,7 @@ param( [int] ${Count}, - [object] + [System.Nullable[object]] ${MajorAction}, [System.Nullable[guid]] @@ -5992,6 +6061,22 @@ param( } +function Get-SPUserSolutionAllowList { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [object] + ${WebApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + function Get-SPVisioExternalData { [CmdletBinding()] param( @@ -6995,8 +7080,8 @@ param( function Install-SPSolution { [CmdletBinding(DefaultParameterSetName='Deploy', SupportsShouldProcess=$true, ConfirmImpact='Medium')] param( - [Parameter(ParameterSetName='Deploy', Mandatory=$true, Position=0, ValueFromPipeline=$true)] [Parameter(ParameterSetName='Synchronize', Position=0, ValueFromPipeline=$true)] + [Parameter(ParameterSetName='Deploy', Mandatory=$true, Position=0, ValueFromPipeline=$true)] [object] ${Identity}, @@ -7194,6 +7279,36 @@ param( } +function Merge-SPUsageLog { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [datetime] + ${StartTime}, + + [datetime] + ${EndTime}, + + [string[]] + ${Servers}, + + [string] + ${DiagnosticLogPath}, + + [switch] + ${OverWrite}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + function Migrate-SPDatabase { [CmdletBinding(DefaultParameterSetName='SiteSubscription', SupportsShouldProcess=$true, ConfirmImpact='High')] param( @@ -8206,14 +8321,14 @@ param( function New-SPClaimsPrincipal { [CmdletBinding(DefaultParameterSetName='IdentityType')] param( - [Parameter(ParameterSetName='IdentityType', Mandatory=$true, Position=0, ValueFromPipeline=$true)] [Parameter(ParameterSetName='TrustIdentity', Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [Parameter(ParameterSetName='IdentityType', Mandatory=$true, Position=0, ValueFromPipeline=$true)] [ValidateNotNullOrEmpty()] [string] ${Identity}, - [Parameter(ParameterSetName='STSIdentity', Mandatory=$true, Position=2)] [Parameter(ParameterSetName='TrustIdentity', Mandatory=$true, Position=1)] + [Parameter(ParameterSetName='STSIdentity', Mandatory=$true, Position=2)] [ValidateNotNullOrEmpty()] [object] ${TrustedIdentityTokenIssuer}, @@ -8228,14 +8343,14 @@ param( [string] ${EncodedClaim}, - [Parameter(ParameterSetName='STSIdentity', Mandatory=$true, Position=0, ValueFromPipeline=$true)] [Parameter(ParameterSetName='ClaimProvider', Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [Parameter(ParameterSetName='STSIdentity', Mandatory=$true, Position=0, ValueFromPipeline=$true)] [ValidateNotNullOrEmpty()] [string] ${ClaimValue}, - [Parameter(ParameterSetName='STSIdentity', Position=1)] [Parameter(ParameterSetName='ClaimProvider', Mandatory=$true, Position=1)] + [Parameter(ParameterSetName='STSIdentity', Position=1)] [ValidateNotNullOrEmpty()] [string] ${ClaimType}, @@ -8358,8 +8473,8 @@ param( [string] ${DatabaseFailOverServer}, - [ValidateSet('Application','Custom','DistributedCache','Search','SingleServerFarm','WebFrontEnd')] - [object] + [ValidateSet('Application','ApplicationWithSearch','Custom','DistributedCache','Search','SingleServerFarm','WebFrontEnd','WebFrontEndWithDistributedCache')] + [System.Nullable[object]] ${LocalServerRole}, [switch] @@ -8658,7 +8773,7 @@ param( ${StartAddresses}, [Alias('p')] - [object] + [System.Nullable[object]] ${CrawlPriority}, [System.Nullable[int]] @@ -8667,7 +8782,7 @@ param( [System.Nullable[int]] ${MaxSiteEnumerationDepth}, - [object] + [System.Nullable[object]] ${SharePointCrawlBehavior}, [object] @@ -8825,7 +8940,7 @@ param( [string] ${ContentClass}, - [object] + [System.Nullable[object]] ${AuthenticationType}, [string] @@ -8909,7 +9024,7 @@ param( ${SearchApplication}, [Parameter(Mandatory=$true)] - [object] + [System.Nullable[object]] ${Type}, [Parameter(Mandatory=$true)] @@ -9506,7 +9621,7 @@ param( [System.Nullable[bool]] ${AutoDiscover}, - [object] + [System.Nullable[object]] ${AuthenticationType}, [string] @@ -9794,8 +9909,8 @@ param( ${HubUri}, [Parameter(ParameterSetName='Quota', Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] - [Parameter(ParameterSetName='NoQuota', Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] [Parameter(ParameterSetName='Default', Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [Parameter(ParameterSetName='NoQuota', Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] [string] ${Name}, @@ -9905,8 +10020,8 @@ param( ${ServiceContext}, [Parameter(Mandatory=$true)] - [ValidateLength(0, 246)] [ValidateNotNull()] + [ValidateLength(0, 246)] [string] ${Name}, @@ -10320,8 +10435,8 @@ param( function New-SPRequestManagementRuleCriteria { [CmdletBinding()] param( - [Parameter(ParameterSetName='CustomPropertyParameterSet', Mandatory=$true, Position=0)] [Parameter(ParameterSetName='StandardParameterSet', Mandatory=$true, Position=0)] + [Parameter(ParameterSetName='CustomPropertyParameterSet', Mandatory=$true, Position=0)] [string] ${Value}, @@ -10331,13 +10446,13 @@ param( [Parameter(ParameterSetName='StandardParameterSet', Mandatory=$true, Position=1)] [ValidateNotNull()] - [object] + [System.Nullable[object]] ${Property}, - [Parameter(ParameterSetName='CustomPropertyParameterSet', Position=2)] [Parameter(ParameterSetName='StandardParameterSet', Position=2)] + [Parameter(ParameterSetName='CustomPropertyParameterSet', Position=2)] [ValidateNotNull()] - [object] + [System.Nullable[object]] ${MatchType}, [Parameter(ParameterSetName='StandardParameterSet', Position=2)] @@ -10553,9 +10668,9 @@ function New-SPServiceApplicationProxyGroup { [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] param( [Parameter(Mandatory=$true, Position=0)] - [ValidateLength(0, 100)] - [ValidateNotNull()] [AllowEmptyString()] + [ValidateNotNull()] + [ValidateLength(0, 100)] [string] ${Name}, @@ -10877,16 +10992,16 @@ param( function New-SPTrustedIdentityTokenIssuer { [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] param( - [Parameter(ParameterSetName='ActiveDirectoryBackedParameterSet', Mandatory=$true)] [Parameter(ParameterSetName='MetadataEndPointParameterSet', Mandatory=$true)] [Parameter(ParameterSetName='BasicParameterSet', Mandatory=$true)] + [Parameter(ParameterSetName='ActiveDirectoryBackedParameterSet', Mandatory=$true)] [ValidateNotNullOrEmpty()] [string] ${Name}, - [Parameter(ParameterSetName='ActiveDirectoryBackedParameterSet', Mandatory=$true)] [Parameter(ParameterSetName='BasicParameterSet', Mandatory=$true)] [Parameter(ParameterSetName='MetadataEndPointParameterSet', Mandatory=$true)] + [Parameter(ParameterSetName='ActiveDirectoryBackedParameterSet', Mandatory=$true)] [ValidateNotNullOrEmpty()] [string] ${Description}, @@ -10894,7 +11009,7 @@ param( [Parameter(ParameterSetName='BasicParameterSet')] [Parameter(ParameterSetName='ActiveDirectoryBackedParameterSet')] [ValidateNotNull()] - [Object] + [System.Security.Cryptography.X509Certificates.X509Certificate2] ${ImportTrustCertificate}, [Parameter(ParameterSetName='MetadataEndPointParameterSet', Mandatory=$true)] @@ -10902,15 +11017,15 @@ param( [uri] ${MetadataEndPoint}, - [Parameter(ParameterSetName='MetadataEndPointParameterSet', Mandatory=$true)] [Parameter(ParameterSetName='BasicParameterSet', Mandatory=$true)] + [Parameter(ParameterSetName='MetadataEndPointParameterSet', Mandatory=$true)] [ValidateNotNull()] [object] ${ClaimsMappings}, - [Parameter(ParameterSetName='MetadataEndPointParameterSet', Mandatory=$true)] - [Parameter(ParameterSetName='BasicParameterSet', Mandatory=$true)] [Parameter(ParameterSetName='ActiveDirectoryBackedParameterSet', Mandatory=$true)] + [Parameter(ParameterSetName='BasicParameterSet', Mandatory=$true)] + [Parameter(ParameterSetName='MetadataEndPointParameterSet', Mandatory=$true)] [ValidateNotNullOrEmpty()] [string] ${SignInUrl}, @@ -10921,13 +11036,13 @@ param( [string] ${IdentifierClaim}, - [Parameter(ParameterSetName='MetadataEndPointParameterSet')] [Parameter(ParameterSetName='BasicParameterSet')] + [Parameter(ParameterSetName='MetadataEndPointParameterSet')] [object] ${ClaimProvider}, - [Parameter(ParameterSetName='BasicParameterSet', Mandatory=$true)] [Parameter(ParameterSetName='MetadataEndPointParameterSet', Mandatory=$true)] + [Parameter(ParameterSetName='BasicParameterSet', Mandatory=$true)] [Parameter(ParameterSetName='ActiveDirectoryBackedParameterSet', Mandatory=$true)] [ValidateNotNull()] [string] @@ -10948,9 +11063,9 @@ param( [string] ${IdentifierClaimIs}, - [Parameter(ParameterSetName='BasicParameterSet')] - [Parameter(ParameterSetName='MetadataEndPointParameterSet')] [Parameter(ParameterSetName='ActiveDirectoryBackedParameterSet')] + [Parameter(ParameterSetName='MetadataEndPointParameterSet')] + [Parameter(ParameterSetName='BasicParameterSet')] [ValidateNotNullOrEmpty()] [string] ${SignOutUrl}, @@ -11075,13 +11190,13 @@ param( [string] ${DatabaseServer}, - [ValidateNotNullOrEmpty()] [ValidateLength(1, 135)] + [ValidateNotNullOrEmpty()] [string] ${FailoverDatabaseServer}, - [ValidateNotNullOrEmpty()] [ValidateLength(1, 128)] + [ValidateNotNullOrEmpty()] [string] ${DatabaseName}, @@ -11238,6 +11353,27 @@ param( } +function New-SPUserSolutionAllowList { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [object] + ${Site}, + + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${ListTitle}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + function New-SPVisioSafeDataProvider { [CmdletBinding()] param( @@ -12319,7 +12455,7 @@ param( [object] ${SearchApplication}, - [object] + [System.Nullable[object]] ${Type}, [string] @@ -14762,14 +14898,14 @@ param( [object] ${SiteSubscription}, - [Parameter(ParameterSetName='WebHostSetup', Mandatory=$true)] [Parameter(ParameterSetName='WebHostCredential', Mandatory=$true)] + [Parameter(ParameterSetName='WebHostSetup', Mandatory=$true)] [Parameter(ParameterSetName='WebHostEndPoint', Mandatory=$true)] [object] ${ConnectionType}, - [Parameter(ParameterSetName='WebHostCredential', Mandatory=$true)] [Parameter(ParameterSetName='WebHostSetup', Mandatory=$true)] + [Parameter(ParameterSetName='WebHostCredential', Mandatory=$true)] [string] ${Username}, @@ -14814,8 +14950,8 @@ function Set-SPAppDomain { [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] param( [Parameter(Mandatory=$true, Position=0)] - [AllowNull()] [AllowEmptyString()] + [AllowNull()] [string] ${AppDomain}, @@ -15124,8 +15260,8 @@ param( [string] ${DisplayName}, - [Parameter(ParameterSetName='NameRemove')] [Parameter(ParameterSetName='NameValue')] + [Parameter(ParameterSetName='NameRemove')] [ValidateNotNull()] [string] ${PropertyName}, @@ -15747,7 +15883,7 @@ param( ${StartAddresses}, [Alias('p')] - [object] + [System.Nullable[object]] ${CrawlPriority}, [Parameter(ParameterSetName='Weekly')] @@ -15804,7 +15940,7 @@ param( ${CrawlScheduleRunEveryInterval}, [Parameter(ParameterSetName='Weekly')] - [object] + [System.Nullable[object]] ${CrawlScheduleDaysOfWeek}, [Parameter(ParameterSetName='MonthlyDate')] @@ -15813,7 +15949,7 @@ param( [Parameter(ParameterSetName='MonthlyDate')] [Alias('month')] - [object] + [System.Nullable[object]] ${CrawlScheduleMonthsOfYear}, [System.Nullable[int]] @@ -15911,7 +16047,7 @@ param( ${SearchApplication}, [Alias('t')] - [object] + [System.Nullable[object]] ${Type}, [System.Nullable[bool]] @@ -15935,7 +16071,7 @@ param( [string] ${ContentClass}, - [object] + [System.Nullable[object]] ${AuthenticationType}, [string] @@ -16419,7 +16555,7 @@ param( [System.Nullable[bool]] ${SecurityTrimmingEnabled}, - [object] + [System.Nullable[object]] ${SpellingDictionary}, [System.Nullable[timespan]] @@ -16548,7 +16684,7 @@ param( [System.Nullable[bool]] ${AutoDiscover}, - [object] + [System.Nullable[object]] ${AuthenticationType}, [string] @@ -16626,7 +16762,7 @@ param( [string] ${DiacriticSensitive}, - [object] + [System.Nullable[object]] ${DefaultSearchProvider}, [string] @@ -16751,7 +16887,7 @@ param( [string] ${ServiceConnectionPointBindingInformation}, - [object] + [System.Nullable[object]] ${SiteMasterMode}, [System.Nullable[uint32]] @@ -17074,8 +17210,8 @@ param( [switch] ${DoNotUnpublishAllPackages}, - [Parameter(ParameterSetName='Quota', Mandatory=$true, Position=0, ValueFromPipeline=$true)] [Parameter(ParameterSetName='NoQuota', Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [Parameter(ParameterSetName='Quota', Mandatory=$true, Position=0, ValueFromPipeline=$true)] [Parameter(ParameterSetName='Default', Mandatory=$true, Position=0, ValueFromPipeline=$true)] [object] ${Identity}, @@ -17282,11 +17418,11 @@ param( ${ServiceAddressURL}, [ValidateNotNull()] - [object] + [System.Nullable[object]] ${AuthenticationMode}, - [ValidateNotNull()] [ValidateLength(0, 1024)] + [ValidateNotNull()] [string] ${SecureStoreTargetApplicationId}, @@ -17315,8 +17451,8 @@ param( ${ServiceContext}, [Parameter(ParameterSetName='Name', Mandatory=$true)] - [ValidateNotNull()] [ValidateLength(0, 255)] + [ValidateNotNull()] [string] ${Name}, @@ -17325,11 +17461,11 @@ param( ${ServiceAddressMetadataURL}, [ValidateNotNull()] - [object] + [System.Nullable[object]] ${AuthenticationMode}, - [ValidateNotNull()] [ValidateLength(0, 1024)] + [ValidateNotNull()] [string] ${SecureStoreTargetApplicationId}, @@ -18011,7 +18147,7 @@ param( ${ThrottlingEnabled}, [ValidateNotNull()] - [object] + [System.Nullable[object]] ${RoutingScheme}, [Parameter(ValueFromPipeline=$true)] @@ -18031,15 +18167,15 @@ param( ${Identity}, [ValidateNotNull()] - [object] + [System.Nullable[object]] ${Availability}, [ValidateNotNull()] - [object] + [System.Nullable[object]] ${OutgoingScheme}, - [ValidateNotNull()] [ValidateRange(1, 65535)] + [ValidateNotNull()] [System.Nullable[int]] ${OutgoingPort}, @@ -18357,11 +18493,11 @@ param( [object] ${Identity}, - [object] + [System.Nullable[object]] ${Status}, - [ValidateSet('WebFrontEnd','Application','DistributedCache','Search','SingleServerFarm','Custom')] - [object] + [ValidateSet('Application','ApplicationWithSearch','Custom','DistributedCache','Search','SingleServerFarm','WebFrontEnd','WebFrontEndWithDistributedCache')] + [System.Nullable[object]] ${Role}, [Parameter(ValueFromPipeline=$true)] @@ -18548,8 +18684,8 @@ param( [object] ${Identity}, - [Parameter(ParameterSetName='SslCertificateImport')] [Parameter(ParameterSetName='SslCertificateReference')] + [Parameter(ParameterSetName='SslCertificateImport')] [Alias('Port')] [ValidateRange(1, 65535)] [int] @@ -19222,15 +19358,15 @@ param( function Set-SPTrustedIdentityTokenIssuer { [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] param( - [Parameter(ParameterSetName='MetadataEndPointParameterSet', Mandatory=$true, Position=0, ValueFromPipeline=$true)] [Parameter(ParameterSetName='BasicParameterSet', Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [Parameter(ParameterSetName='MetadataEndPointParameterSet', Mandatory=$true, Position=0, ValueFromPipeline=$true)] [Parameter(ParameterSetName='ImportCertificateParameterSet', Mandatory=$true, Position=0, ValueFromPipeline=$true)] [ValidateNotNull()] [object] ${Identity}, - [Parameter(ParameterSetName='ImportCertificateParameterSet')] [Parameter(ParameterSetName='MetadataEndPointParameterSet')] + [Parameter(ParameterSetName='ImportCertificateParameterSet')] [Parameter(ParameterSetName='BasicParameterSet')] [ValidateNotNullOrEmpty()] [string] @@ -19246,15 +19382,15 @@ param( [uri] ${MetadataEndPoint}, - [Parameter(ParameterSetName='MetadataEndPointParameterSet')] [Parameter(ParameterSetName='BasicParameterSet')] [Parameter(ParameterSetName='ImportCertificateParameterSet')] + [Parameter(ParameterSetName='MetadataEndPointParameterSet')] [object] ${ClaimsMappings}, + [Parameter(ParameterSetName='ImportCertificateParameterSet')] [Parameter(ParameterSetName='BasicParameterSet')] [Parameter(ParameterSetName='MetadataEndPointParameterSet')] - [Parameter(ParameterSetName='ImportCertificateParameterSet')] [ValidateNotNullOrEmpty()] [string] ${SignInUrl}, @@ -19266,20 +19402,20 @@ param( ${ClaimProvider}, [Parameter(ParameterSetName='BasicParameterSet')] - [Parameter(ParameterSetName='MetadataEndPointParameterSet')] [Parameter(ParameterSetName='ImportCertificateParameterSet')] + [Parameter(ParameterSetName='MetadataEndPointParameterSet')] [string] ${Realm}, - [Parameter(ParameterSetName='BasicParameterSet')] [Parameter(ParameterSetName='ImportCertificateParameterSet')] + [Parameter(ParameterSetName='BasicParameterSet')] [Parameter(ParameterSetName='MetadataEndPointParameterSet')] [switch] ${UseWReply}, + [Parameter(ParameterSetName='ImportCertificateParameterSet')] [Parameter(ParameterSetName='BasicParameterSet')] [Parameter(ParameterSetName='MetadataEndPointParameterSet')] - [Parameter(ParameterSetName='ImportCertificateParameterSet')] [string] ${RegisteredIssuerName}, @@ -20250,6 +20386,9 @@ param( [object] ${Identity}, + [switch] + ${IncludeCustomServerRole}, + [Parameter(ValueFromPipeline=$true)] [object] ${AssignmentCollection}) @@ -20390,6 +20529,9 @@ param( [object] ${Identity}, + [switch] + ${IncludeCustomServerRole}, + [Parameter(ValueFromPipeline=$true)] [object] ${AssignmentCollection}) @@ -20414,6 +20556,21 @@ param( } +function Stop-SPTaxonomyReplication { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [pscredential] + ${Credential}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + function Suspend-SPEnterpriseSearchServiceApplication { [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] param( @@ -21409,6 +21566,3 @@ param( } - - - From 1080472d7855ced25b052160a8da1313297c0d59 Mon Sep 17 00:00:00 2001 From: Yorick Kuijs Date: Fri, 11 Nov 2016 19:43:47 +0100 Subject: [PATCH 23/38] Fixed issue 443 Install LP on SP2016 failed, now corrected --- .../MSFT_SPInstallLanguagePack.psm1 | 2 +- .../SharePointDsc.SPInstallLanguagePack.Tests.ps1 | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPInstallLanguagePack/MSFT_SPInstallLanguagePack.psm1 b/Modules/SharePointDsc/DSCResources/MSFT_SPInstallLanguagePack/MSFT_SPInstallLanguagePack.psm1 index 3654a1908..54003e1fd 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPInstallLanguagePack/MSFT_SPInstallLanguagePack.psm1 +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPInstallLanguagePack/MSFT_SPInstallLanguagePack.psm1 @@ -36,7 +36,7 @@ function Get-TargetResource } $osrvFolder = Get-ChildItem -Path (Join-Path -Path $BinaryDir ` - -ChildPath "\osrv*.*") + -ChildPath "\osmui*.*") if ($osrvFolder.Count -ne 1) { diff --git a/Tests/Unit/SharePointDsc/SharePointDsc.SPInstallLanguagePack.Tests.ps1 b/Tests/Unit/SharePointDsc/SharePointDsc.SPInstallLanguagePack.Tests.ps1 index cdcb90a18..ed9eefbf3 100644 --- a/Tests/Unit/SharePointDsc/SharePointDsc.SPInstallLanguagePack.Tests.ps1 +++ b/Tests/Unit/SharePointDsc/SharePointDsc.SPInstallLanguagePack.Tests.ps1 @@ -27,7 +27,7 @@ Describe -Name $Global:SPDscHelper.DescribeHeader -Fixture { Mock -CommandName Get-ChildItem -MockWith { return @{ - Name = "C:\SPInstall\osrv.nl-nl" + Name = "C:\SPInstall\osmui.nl-nl" } } @@ -85,7 +85,7 @@ Describe -Name $Global:SPDscHelper.DescribeHeader -Fixture { Mock -CommandName Get-ChildItem -MockWith { return @{ - Name = "C:\SPInstall\osrv.nl-nl" + Name = "C:\SPInstall\osmui.nl-nl" } } @@ -329,7 +329,7 @@ Describe -Name $Global:SPDscHelper.DescribeHeader -Fixture { Mock -CommandName Get-ChildItem { return @{ - Name = "C:\SPInstall\osrv" + Name = "C:\SPInstall\osmui" } } @@ -384,7 +384,7 @@ Describe -Name $Global:SPDscHelper.DescribeHeader -Fixture { Mock -CommandName Get-ChildItem -MockWith { return @{ - Name = "C:\SPInstall\osrv.xx-xx" + Name = "C:\SPInstall\osmui.xx-xx" } } From b64e4f5d003caaa35a5d9ae6f715cb3a7e06eeba Mon Sep 17 00:00:00 2001 From: Yorick Kuijs Date: Fri, 11 Nov 2016 19:45:34 +0100 Subject: [PATCH 24/38] Changelog update --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index ac43c8672..075398946 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,8 @@ * Added testing for valid markdown syntax to unit tests * Fixed bug with search topology that caused issues with names of servers needing to all be the same case +* Fixed bug in SPInstallLanguagePack where language packs could not be installed + on SharePoint 2016 ## 1.4 From 3db1e407d73b6f8c9739e337b0632cffbbb74d8a Mon Sep 17 00:00:00 2001 From: Brian Farnhill Date: Sun, 13 Nov 2016 17:42:24 +1100 Subject: [PATCH 25/38] Fixed issue with stubs --- .../Microsoft.SharePoint.PowerShell.psm1 | 64 +++++++++---------- 1 file changed, 32 insertions(+), 32 deletions(-) diff --git a/Tests/Unit/Stubs/SharePoint/16.0.4456.1000/Microsoft.SharePoint.PowerShell.psm1 b/Tests/Unit/Stubs/SharePoint/16.0.4456.1000/Microsoft.SharePoint.PowerShell.psm1 index df935881e..4ad79b5a6 100644 --- a/Tests/Unit/Stubs/SharePoint/16.0.4456.1000/Microsoft.SharePoint.PowerShell.psm1 +++ b/Tests/Unit/Stubs/SharePoint/16.0.4456.1000/Microsoft.SharePoint.PowerShell.psm1 @@ -279,11 +279,11 @@ param( ${Name}, [ValidateNotNull()] - [System.Nullable[object]] + [object] ${Availability}, [ValidateNotNull()] - [System.Nullable[object]] + [object] ${OutgoingScheme}, [System.Nullable[int]] @@ -1104,7 +1104,7 @@ param( ${DatabaseFailOverPartner}, [ValidateSet('Application','ApplicationWithSearch','Custom','DistributedCache','Search','SingleServerFarm','WebFrontEnd','WebFrontEndWithDistributedCache')] - [System.Nullable[object]] + [object] ${LocalServerRole}, [Parameter(ValueFromPipeline=$true)] @@ -3397,7 +3397,7 @@ param( [object] ${SearchApplication}, - [System.Nullable[object]] + [object] ${Type}, [string] @@ -4893,7 +4893,7 @@ param( ${Name}, [ValidateNotNull()] - [System.Nullable[object]] + [object] ${Availability}, [Parameter(ValueFromPipeline=$true)] @@ -5011,7 +5011,7 @@ param( [int] ${Count}, - [System.Nullable[object]] + [object] ${MajorAction}, [System.Nullable[guid]] @@ -5157,7 +5157,7 @@ param( [int] ${Count}, - [System.Nullable[object]] + [object] ${MajorAction}, [System.Nullable[guid]] @@ -8474,7 +8474,7 @@ param( ${DatabaseFailOverServer}, [ValidateSet('Application','ApplicationWithSearch','Custom','DistributedCache','Search','SingleServerFarm','WebFrontEnd','WebFrontEndWithDistributedCache')] - [System.Nullable[object]] + [object] ${LocalServerRole}, [switch] @@ -8773,7 +8773,7 @@ param( ${StartAddresses}, [Alias('p')] - [System.Nullable[object]] + [object] ${CrawlPriority}, [System.Nullable[int]] @@ -8782,7 +8782,7 @@ param( [System.Nullable[int]] ${MaxSiteEnumerationDepth}, - [System.Nullable[object]] + [object] ${SharePointCrawlBehavior}, [object] @@ -8940,7 +8940,7 @@ param( [string] ${ContentClass}, - [System.Nullable[object]] + [object] ${AuthenticationType}, [string] @@ -9024,7 +9024,7 @@ param( ${SearchApplication}, [Parameter(Mandatory=$true)] - [System.Nullable[object]] + [object] ${Type}, [Parameter(Mandatory=$true)] @@ -9621,7 +9621,7 @@ param( [System.Nullable[bool]] ${AutoDiscover}, - [System.Nullable[object]] + [object] ${AuthenticationType}, [string] @@ -10446,13 +10446,13 @@ param( [Parameter(ParameterSetName='StandardParameterSet', Mandatory=$true, Position=1)] [ValidateNotNull()] - [System.Nullable[object]] + [object] ${Property}, [Parameter(ParameterSetName='StandardParameterSet', Position=2)] [Parameter(ParameterSetName='CustomPropertyParameterSet', Position=2)] [ValidateNotNull()] - [System.Nullable[object]] + [object] ${MatchType}, [Parameter(ParameterSetName='StandardParameterSet', Position=2)] @@ -12455,7 +12455,7 @@ param( [object] ${SearchApplication}, - [System.Nullable[object]] + [object] ${Type}, [string] @@ -15883,7 +15883,7 @@ param( ${StartAddresses}, [Alias('p')] - [System.Nullable[object]] + [object] ${CrawlPriority}, [Parameter(ParameterSetName='Weekly')] @@ -15940,7 +15940,7 @@ param( ${CrawlScheduleRunEveryInterval}, [Parameter(ParameterSetName='Weekly')] - [System.Nullable[object]] + [object] ${CrawlScheduleDaysOfWeek}, [Parameter(ParameterSetName='MonthlyDate')] @@ -15949,7 +15949,7 @@ param( [Parameter(ParameterSetName='MonthlyDate')] [Alias('month')] - [System.Nullable[object]] + [object] ${CrawlScheduleMonthsOfYear}, [System.Nullable[int]] @@ -16047,7 +16047,7 @@ param( ${SearchApplication}, [Alias('t')] - [System.Nullable[object]] + [object] ${Type}, [System.Nullable[bool]] @@ -16071,7 +16071,7 @@ param( [string] ${ContentClass}, - [System.Nullable[object]] + [object] ${AuthenticationType}, [string] @@ -16555,7 +16555,7 @@ param( [System.Nullable[bool]] ${SecurityTrimmingEnabled}, - [System.Nullable[object]] + [object] ${SpellingDictionary}, [System.Nullable[timespan]] @@ -16684,7 +16684,7 @@ param( [System.Nullable[bool]] ${AutoDiscover}, - [System.Nullable[object]] + [object] ${AuthenticationType}, [string] @@ -16762,7 +16762,7 @@ param( [string] ${DiacriticSensitive}, - [System.Nullable[object]] + [object] ${DefaultSearchProvider}, [string] @@ -16887,7 +16887,7 @@ param( [string] ${ServiceConnectionPointBindingInformation}, - [System.Nullable[object]] + [object] ${SiteMasterMode}, [System.Nullable[uint32]] @@ -17418,7 +17418,7 @@ param( ${ServiceAddressURL}, [ValidateNotNull()] - [System.Nullable[object]] + [object] ${AuthenticationMode}, [ValidateLength(0, 1024)] @@ -17461,7 +17461,7 @@ param( ${ServiceAddressMetadataURL}, [ValidateNotNull()] - [System.Nullable[object]] + [object] ${AuthenticationMode}, [ValidateLength(0, 1024)] @@ -18147,7 +18147,7 @@ param( ${ThrottlingEnabled}, [ValidateNotNull()] - [System.Nullable[object]] + [object] ${RoutingScheme}, [Parameter(ValueFromPipeline=$true)] @@ -18167,11 +18167,11 @@ param( ${Identity}, [ValidateNotNull()] - [System.Nullable[object]] + [object] ${Availability}, [ValidateNotNull()] - [System.Nullable[object]] + [object] ${OutgoingScheme}, [ValidateRange(1, 65535)] @@ -18493,11 +18493,11 @@ param( [object] ${Identity}, - [System.Nullable[object]] + [object] ${Status}, [ValidateSet('Application','ApplicationWithSearch','Custom','DistributedCache','Search','SingleServerFarm','WebFrontEnd','WebFrontEndWithDistributedCache')] - [System.Nullable[object]] + [object] ${Role}, [Parameter(ValueFromPipeline=$true)] From 78db5c1acc2eb87c3930e699986a15f9da19365d Mon Sep 17 00:00:00 2001 From: Brian Farnhill Date: Mon, 14 Nov 2016 07:58:21 +1100 Subject: [PATCH 26/38] Fixed issue with stubs --- .../16.0.4456.1000/Microsoft.SharePoint.PowerShell.psm1 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Tests/Unit/Stubs/SharePoint/16.0.4456.1000/Microsoft.SharePoint.PowerShell.psm1 b/Tests/Unit/Stubs/SharePoint/16.0.4456.1000/Microsoft.SharePoint.PowerShell.psm1 index 4ad79b5a6..136172d31 100644 --- a/Tests/Unit/Stubs/SharePoint/16.0.4456.1000/Microsoft.SharePoint.PowerShell.psm1 +++ b/Tests/Unit/Stubs/SharePoint/16.0.4456.1000/Microsoft.SharePoint.PowerShell.psm1 @@ -11009,7 +11009,7 @@ param( [Parameter(ParameterSetName='BasicParameterSet')] [Parameter(ParameterSetName='ActiveDirectoryBackedParameterSet')] [ValidateNotNull()] - [System.Security.Cryptography.X509Certificates.X509Certificate2] + [object] ${ImportTrustCertificate}, [Parameter(ParameterSetName='MetadataEndPointParameterSet', Mandatory=$true)] @@ -19374,7 +19374,7 @@ param( [Parameter(ParameterSetName='ImportCertificateParameterSet', Mandatory=$true)] [ValidateNotNull()] - [System.Security.Cryptography.X509Certificates.X509Certificate2] + [object] ${ImportTrustCertificate}, [Parameter(ParameterSetName='MetadataEndPointParameterSet', Mandatory=$true)] From 0dece402e5f57b317b2e10da95b39273446e3ede Mon Sep 17 00:00:00 2001 From: Yorick Kuijs Date: Wed, 16 Nov 2016 11:10:42 +0100 Subject: [PATCH 27/38] Added version check (April 2014 CU) --- .../MSFT_SPDatabaseAAG.psm1 | 27 ++++++++++++ .../DSCResources/MSFT_SPDatabaseAAG/Readme.md | 4 ++ .../SharePointDsc.SPDatabaseAAG.Tests.ps1 | 43 ++++++++++++++++++- 3 files changed, 72 insertions(+), 2 deletions(-) diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPDatabaseAAG/MSFT_SPDatabaseAAG.psm1 b/Modules/SharePointDsc/DSCResources/MSFT_SPDatabaseAAG/MSFT_SPDatabaseAAG.psm1 index 2cd34c480..d9e4524dc 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPDatabaseAAG/MSFT_SPDatabaseAAG.psm1 +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPDatabaseAAG/MSFT_SPDatabaseAAG.psm1 @@ -28,6 +28,15 @@ function Get-TargetResource Write-Verbose -Message "Getting AAG configuration for $DatabaseName" + # Check if the April 2014 CU has been installed. The cmdlets have been added in this CU + if ((Get-SPDSCInstalledProductVersion).FileMajorPart -eq 15 ` + -and (Get-SPDSCInstalledProductVersion).FileBuildPart -lt 4605) + { + throw [Exception] ("Adding databases to SQL Always-On Availability Groups " + ` + "require the SharePoint 2013 April 2014 CU to be installed. " + ` + "http://support.microsoft.com/kb/2880551") + } + if ($Ensure -eq "Present") { Write-Verbose -Message "Database(s) must be included in AAG $AGName" @@ -145,6 +154,15 @@ function Set-TargetResource Write-Verbose -Message "Setting AAG configuration for $DatabaseName" + # Check if the April 2014 CU has been installed. The cmdlets have been added in this CU + if ((Get-SPDSCInstalledProductVersion).FileMajorPart -eq 15 ` + -and (Get-SPDSCInstalledProductVersion).FileBuildPart -lt 4605) + { + throw [Exception] ("Adding databases to SQL Always-On Availability Groups " + ` + "require the SharePoint 2013 April 2014 CU to be installed. " + ` + "http://support.microsoft.com/kb/2880551") + } + if ($Ensure -eq "Present") { Write-Verbose -Message "Checking AAG settings for $DatabaseName" @@ -267,6 +285,15 @@ function Test-TargetResource $PSBoundParameters.Ensure = $Ensure + # Check if the April 2014 CU has been installed. The cmdlets have been added in this CU + if ((Get-SPDSCInstalledProductVersion).FileMajorPart -eq 15 ` + -and (Get-SPDSCInstalledProductVersion).FileBuildPart -lt 4605) + { + throw [Exception] ("Adding databases to SQL Always-On Availability Groups " + ` + "require the SharePoint 2013 April 2014 CU to be installed. " + ` + "http://support.microsoft.com/kb/2880551") + } + $CurrentValues = Get-TargetResource @PSBoundParameters return Test-SPDscParameterState -CurrentValues $CurrentValues ` diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPDatabaseAAG/Readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPDatabaseAAG/Readme.md index fa7ed668c..7c91636ab 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPDatabaseAAG/Readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPDatabaseAAG/Readme.md @@ -7,3 +7,7 @@ the specified database to the group. You can add a single database name by specifying the database name, or multiple databases by specifying a common part of the database name. + +Important: +This resource requires the April 2014 CU to be installed. The required +cmdlets have been added in this CU: http://support.microsoft.com/kb/2880551 diff --git a/Tests/Unit/SharePointDsc/SharePointDsc.SPDatabaseAAG.Tests.ps1 b/Tests/Unit/SharePointDsc/SharePointDsc.SPDatabaseAAG.Tests.ps1 index 0e77616b8..014e506e1 100644 --- a/Tests/Unit/SharePointDsc/SharePointDsc.SPDatabaseAAG.Tests.ps1 +++ b/Tests/Unit/SharePointDsc/SharePointDsc.SPDatabaseAAG.Tests.ps1 @@ -21,7 +21,16 @@ Describe -Name $Global:SPDscHelper.DescribeHeader -Fixture { # Mocks for all contexts Mock -CommandName Add-DatabaseToAvailabilityGroup -MockWith { } Mock -CommandName Remove-DatabaseFromAvailabilityGroup -MockWith { } - + if ($Global:SPDscHelper.CurrentStubBuildNumber.Major -eq 15) + { + Mock -CommandName Get-SPDSCInstalledProductVersion { + return @{ + FileMajorPart = 15 + FileBuildPart = 4805 + } + } + } + # Test contexts Context -Name "The database is not in an availability group, but should be" -Fixture { $testParams = @{ @@ -446,7 +455,37 @@ Describe -Name $Global:SPDscHelper.DescribeHeader -Fixture { It "Should throw an exception in the set method" { { Set-TargetResource @testParams } | Should Throw "Specified database(s) not found." } - } + } + + if ($Global:SPDscHelper.CurrentStubBuildNumber.Major -eq 15) + { + Context -Name "An unsupported version of SharePoint is installed on the server" { + $testParams = @{ + DatabaseName = "SampleDatabase" + AGName = "AGName" + Ensure = "Present" + } + + Mock -CommandName Get-SPDSCInstalledProductVersion { + return @{ + FileMajorPart = 15 + FileBuildPart = 4000 + } + } + + It "Should throw when an unsupported version is installed and get is called" { + { Get-TargetResource @testParams } | Should throw "Adding databases to SQL Always-On Availability Groups require the SharePoint 2013 April 2014 CU to be installed" + } + + It "Should throw when an unsupported version is installed and test is called" { + { Test-TargetResource @testParams } | Should throw "Adding databases to SQL Always-On Availability Groups require the SharePoint 2013 April 2014 CU to be installed" + } + + It "Should throw when an unsupported version is installed and set is called" { + { Set-TargetResource @testParams } | Should throw "Adding databases to SQL Always-On Availability Groups require the SharePoint 2013 April 2014 CU to be installed" + } + } + } } } From 33a3ae6972bf0e79ddb901d2bfba9f23e2bb3af4 Mon Sep 17 00:00:00 2001 From: Yorick Kuijs Date: Wed, 23 Nov 2016 13:41:52 +0100 Subject: [PATCH 28/38] Incorporated review comments --- .../MSFT_SPDatabaseAAG.psm1 | 25 ++++++------------- .../DSCResources/MSFT_SPDatabaseAAG/Readme.md | 3 ++- .../SPDatabaseAAG/2-AddMultipleDBstoAAG.ps1 | 2 +- .../SharePointDsc.SPDatabaseAAG.Tests.ps1 | 22 ++++++++-------- 4 files changed, 21 insertions(+), 31 deletions(-) diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPDatabaseAAG/MSFT_SPDatabaseAAG.psm1 b/Modules/SharePointDsc/DSCResources/MSFT_SPDatabaseAAG/MSFT_SPDatabaseAAG.psm1 index d9e4524dc..43a3d9c2b 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPDatabaseAAG/MSFT_SPDatabaseAAG.psm1 +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPDatabaseAAG/MSFT_SPDatabaseAAG.psm1 @@ -47,7 +47,7 @@ function Get-TargetResource $Ensure = "Present" $databases = Get-SPDatabase | Where-Object -FilterScript { - $_.Name -like "*$($params.DatabaseName)*" + $_.Name -like $params.DatabaseName } if ($null -ne $databases) @@ -71,7 +71,7 @@ function Get-TargetResource else { Write-Verbose -Message "Specified database(s) not found." - $Ensure = "Not found" + $Ensure = "" } return @{ @@ -92,7 +92,7 @@ function Get-TargetResource $params = $args[0] $databases = Get-SPDatabase | Where-Object -FilterScript { - $_.Name -like "*$($params.DatabaseName)*" + $_.Name -like $params.DatabaseName } $Ensure = "Absent" @@ -110,7 +110,7 @@ function Get-TargetResource else { Write-Verbose -Message "Specified database(s) not found." - $Ensure = "Not found" + $Ensure = "" } return @{ @@ -172,7 +172,7 @@ function Set-TargetResource $params = $args[0] $databases = Get-SPDatabase | Where-Object -FilterScript { - $_.Name -like "*$($params.DatabaseName)*" + $_.Name -like $params.DatabaseName } if ($null -ne $databases) @@ -203,7 +203,6 @@ function Set-TargetResource } else { - # Add to AAG Write-Verbose -Message "Adding $DatabaseName to $AGName" $cmdParams = @{ AGName = $params.AGName @@ -225,7 +224,6 @@ function Set-TargetResource } else { - # Remove from the AAG Write-Verbose -Message "Removing $DatabaseName from $AGName" Invoke-SPDSCCommand -Credential $InstallAccount ` -Arguments $PSBoundParameters ` @@ -233,10 +231,10 @@ function Set-TargetResource $params = $args[0] $databases = Get-SPDatabase | Where-Object -FilterScript { - $_.Name -like "*$($params.DatabaseName)*" + $_.Name -like $params.DatabaseName } - if ($null -ne $databases) + if ($null -ne $databases) { foreach ($database in $databases) { @@ -285,15 +283,6 @@ function Test-TargetResource $PSBoundParameters.Ensure = $Ensure - # Check if the April 2014 CU has been installed. The cmdlets have been added in this CU - if ((Get-SPDSCInstalledProductVersion).FileMajorPart -eq 15 ` - -and (Get-SPDSCInstalledProductVersion).FileBuildPart -lt 4605) - { - throw [Exception] ("Adding databases to SQL Always-On Availability Groups " + ` - "require the SharePoint 2013 April 2014 CU to be installed. " + ` - "http://support.microsoft.com/kb/2880551") - } - $CurrentValues = Get-TargetResource @PSBoundParameters return Test-SPDscParameterState -CurrentValues $CurrentValues ` diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPDatabaseAAG/Readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPDatabaseAAG/Readme.md index 7c91636ab..9e3df22b0 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPDatabaseAAG/Readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPDatabaseAAG/Readme.md @@ -6,7 +6,8 @@ Availability Groups on SQL Server, they must already exist. It simply adds the specified database to the group. You can add a single database name by specifying the database name, or -multiple databases by specifying a common part of the database name. +multiple databases by specifying wildcards. For example: +SP_Content* or *Content* Important: This resource requires the April 2014 CU to be installed. The required diff --git a/Modules/SharePointDsc/Examples/Resources/SPDatabaseAAG/2-AddMultipleDBstoAAG.ps1 b/Modules/SharePointDsc/Examples/Resources/SPDatabaseAAG/2-AddMultipleDBstoAAG.ps1 index 324467c9f..75e0094dd 100644 --- a/Modules/SharePointDsc/Examples/Resources/SPDatabaseAAG/2-AddMultipleDBstoAAG.ps1 +++ b/Modules/SharePointDsc/Examples/Resources/SPDatabaseAAG/2-AddMultipleDBstoAAG.ps1 @@ -16,7 +16,7 @@ node localhost { SPDatabaseAAG ConfigDBAAG { - DatabaseName = "Content" + DatabaseName = "*Content*" AGName = "MyAvailabilityGroup" FileShare = "\\SQL\Backups" PsDscRunAsCredential = $SetupAccount diff --git a/Tests/Unit/SharePointDsc/SharePointDsc.SPDatabaseAAG.Tests.ps1 b/Tests/Unit/SharePointDsc/SharePointDsc.SPDatabaseAAG.Tests.ps1 index 014e506e1..1fa4999c2 100644 --- a/Tests/Unit/SharePointDsc/SharePointDsc.SPDatabaseAAG.Tests.ps1 +++ b/Tests/Unit/SharePointDsc/SharePointDsc.SPDatabaseAAG.Tests.ps1 @@ -62,9 +62,9 @@ Describe -Name $Global:SPDscHelper.DescribeHeader -Fixture { } } - Context -Name "The databases are not in an availability group, but should be" -Fixture { + Context -Name "Multiple databases matching the name pattern are not in an availability group, but should be" -Fixture { $testParams = @{ - DatabaseName = "Sample" + DatabaseName = "Sample*" AGName = "AGName" Ensure = "Present" } @@ -98,7 +98,7 @@ Describe -Name $Global:SPDscHelper.DescribeHeader -Fixture { Context -Name "Single database is not in an availability group, but should be" -Fixture { $testParams = @{ - DatabaseName = "Sample" + DatabaseName = "Sample*" AGName = "AGName" Ensure = "Present" } @@ -157,9 +157,9 @@ Describe -Name $Global:SPDscHelper.DescribeHeader -Fixture { } } - Context -Name "The databases are not in the availability group and should not be" -Fixture { + Context -Name "Multiple databases matching the name pattern are not in the availability group and should not be" -Fixture { $testParams = @{ - DatabaseName = "SampleDatabase" + DatabaseName = "SampleDatabase*" AGName = "AGName" Ensure = "Absent" } @@ -213,9 +213,9 @@ Describe -Name $Global:SPDscHelper.DescribeHeader -Fixture { } } - Context -Name "The databases are in the correct availability group and should be" -Fixture { + Context -Name "Multiple databases matching the name pattern are in the correct availability group and should be" -Fixture { $testParams = @{ - DatabaseName = "SampleDatabase" + DatabaseName = "SampleDatabase*" AGName = "AGName" Ensure = "Present" } @@ -278,9 +278,9 @@ Describe -Name $Global:SPDscHelper.DescribeHeader -Fixture { } } - Context -Name "The databases are in an availability group and should not be" -Fixture { + Context -Name "Multiple databases matching the name pattern are in an availability group and should not be" -Fixture { $testParams = @{ - DatabaseName = "SampleDatabase" + DatabaseName = "SampleDatabase*" AGName = "AGName" Ensure = "Absent" } @@ -318,7 +318,7 @@ Describe -Name $Global:SPDscHelper.DescribeHeader -Fixture { Context -Name "Single database is in an availability group and should not be" -Fixture { $testParams = @{ - DatabaseName = "SampleDatabase" + DatabaseName = "SampleDatabase*" AGName = "AGName" Ensure = "Absent" } @@ -445,7 +445,7 @@ Describe -Name $Global:SPDscHelper.DescribeHeader -Fixture { } It "Should return Ensure='Not Found' from the get method" { - (Get-TargetResource @testParams).Ensure | Should Be "Not Found" + (Get-TargetResource @testParams).Ensure | Should Be "" } It "Should return false from the test method" { From 34488eb2dce3fecd5677d9d9a0a9cc36e0948760 Mon Sep 17 00:00:00 2001 From: Yorick Kuijs Date: Thu, 24 Nov 2016 21:41:59 +0100 Subject: [PATCH 29/38] First draft of SPSearchFileType --- .../MSFT_SPSearchFileType.psm1 | 308 ++++++++++++++++++ .../MSFT_SPSearchFileType.schema.mof | 12 + .../MSFT_SPSearchFileType/readme.md | 5 + .../SPSearchFileType/1-RequiredParameters.ps1 | 25 ++ .../SPSearchFileType/2-AllParameters.ps1 | 27 ++ 5 files changed, 377 insertions(+) create mode 100644 Modules/SharePointDsc/DSCResources/MSFT_SPSearchFileType/MSFT_SPSearchFileType.psm1 create mode 100644 Modules/SharePointDsc/DSCResources/MSFT_SPSearchFileType/MSFT_SPSearchFileType.schema.mof create mode 100644 Modules/SharePointDsc/DSCResources/MSFT_SPSearchFileType/readme.md create mode 100644 Modules/SharePointDsc/Examples/Resources/SPSearchFileType/1-RequiredParameters.ps1 create mode 100644 Modules/SharePointDsc/Examples/Resources/SPSearchFileType/2-AllParameters.ps1 diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPSearchFileType/MSFT_SPSearchFileType.psm1 b/Modules/SharePointDsc/DSCResources/MSFT_SPSearchFileType/MSFT_SPSearchFileType.psm1 new file mode 100644 index 000000000..c56cb49d9 --- /dev/null +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPSearchFileType/MSFT_SPSearchFileType.psm1 @@ -0,0 +1,308 @@ +function Get-TargetResource +{ + [CmdletBinding()] + [OutputType([System.Collections.Hashtable])] + param + ( + [parameter(Mandatory = $true)] + [System.String] + $FileType, + + [parameter(Mandatory = $true)] + [System.String] + $ServiceAppName, + + [parameter(Mandatory = $false)] + [System.String] + $Description, + + [parameter(Mandatory = $false)] + [System.String] + $MimeType, + + [parameter(Mandatory = $true)] + [System.Boolean] + $Enabled, + + [parameter(Mandatory = $false)] + [ValidateSet("Present","Absent")] + [System.String] + $Ensure = "Present", + + [parameter(Mandatory = $false)] + [System.Management.Automation.PSCredential] + $InstallAccount + ) + + Write-Verbose -Message "Getting Search File Type '$FileType'" + + $result = Invoke-SPDSCCommand -Credential $InstallAccount ` + -Arguments $PSBoundParameters ` + -ScriptBlock { + $params = $args[0] + + $serviceApps = Get-SPServiceApplication -Name $params.ServiceAppName ` + -ErrorAction SilentlyContinue + + $nullReturn = @{ + FileType = $params.FileType + ServiceAppName = $params.ServiceAppName + Ensure = "Absent" + InstallAccount = $params.InstallAccount + } + + if ($null -eq $serviceApps) + { + Write-Verbose -Message "Service Application $($params.ServiceAppName) not found" + return $nullReturn + } + + $serviceApp = $serviceApps | Where-Object -FilterScript { + $_.GetType().FullName -eq "Microsoft.Office.Server.Search.Administration.SearchServiceApplication" + } + + if ($null -eq $serviceApp) + { + Write-Verbose -Message "Service Application $($params.ServiceAppName) not found" + return $nullReturn + } + else + { + $fileType = Get-SPEnterpriseSearchFileFormat ` + -SearchApplication $params.ServiceAppName | Where-Object -FilterScript { + $_.Identity -eq $params.FileType + } + + if ($null -eq $fileType) + { + Write-Verbose -Message "File Type $($params.FileType) not found" + return $nullReturn + } + else + { + $returnVal = @{ + FileType = $params.FileType + ServiceAppName = $params.ServiceAppName + Description = $fileType.Name + MimeType = $fileType.MimeType + Enabled = $fileType.Enabled + Ensure = "Present" + InstallAccount = $params.InstallAccount + } + + return $returnVal + } + } + } + return $result +} + +function Set-TargetResource +{ + [CmdletBinding()] + param + ( + [parameter(Mandatory = $true)] + [System.String] + $FileType, + + [parameter(Mandatory = $true)] + [System.String] + $ServiceAppName, + + [parameter(Mandatory = $false)] + [System.String] + $Description, + + [parameter(Mandatory = $false)] + [System.String] + $MimeType, + + [parameter(Mandatory = $true)] + [System.Boolean] + $Enabled, + + [parameter(Mandatory = $false)] + [ValidateSet("Present","Absent")] + [System.String] + $Ensure = "Present", + + [parameter(Mandatory = $false)] + [System.Management.Automation.PSCredential] + $InstallAccount + ) + + Write-Verbose -Message "Setting Search File Type '$FileType'" + + $result = Get-TargetResource @PSBoundParameters + + if ($result.Ensure -eq "Absent" -and $Ensure -eq "Present") + { + Write-Verbose -Message "Creating File Type $FileType" + Invoke-SPDSCCommand -Credential $InstallAccount ` + -Arguments $PSBoundParameters ` + -ScriptBlock { + $params = $args[0] + + $newParams = @{ + FormatId = $params.FileType + SearchApplication = $params.ServiceAppName + } + if ($params.ContainsKey("Description") -eq $true) + { + $newParams.Add("FormatName", $params.Description) + } + if ($params.ContainsKey("MimeType") -eq $true) + { + $newParams.Add("MimeType", $params.MimeType) + } + + New-SPEnterpriseSearchFileFormat @newParams + + if ($params.ContainsKey("Enabled") -eq $true) + { + $stateParams = @{ + Identity = $params.FileType + SearchApplication = $params.ServiceAppName + Enable = $params.Enabled + } + Set-SPEnterpriseSearchFileFormatState @stateParams + } + } + } + + if ($result.Ensure -eq "Present" -and $Ensure -eq "Present") + { + Write-Verbose -Message "Updating File Type $FileType" + Invoke-SPDSCCommand -Credential $InstallAccount -Arguments $PSBoundParameters -ScriptBlock { + $params = $args[0] + + $fileType = Get-SPEnterpriseSearchFileFormat ` + -SearchApplication $params.ServiceAppName | Where-Object -FilterScript { + $_.Identity -eq $params.FileType + } + + if ($null -ne $fileType) + { + if (($fileType.MimeType -ne $params.MimeType) -or + ($fileType.Name -ne $params.Description)) + { + Remove-SPEnterpriseSearchFileFormat -Identity $params.FileType ` + -SearchApplication $params.ServiceAppName ` + -Confirm:$false + + $newParams = @{ + FormatId = $params.FileType + SearchApplication = $params.ServiceAppName + } + if ($params.ContainsKey("Description") -eq $true) + { + $newParams.Add("FormatName", $params.Description) + } + if ($params.ContainsKey("MimeType") -eq $true) + { + $newParams.Add("MimeType", $params.MimeType) + } + + New-SPEnterpriseSearchFileFormat @newParams + } + + if ($params.ContainsKey("Enabled") -eq $true) + { + if ($fileType.Enabled -ne $params.Enabled) + { + $stateParams = @{ + Identity = $params.FileType + SearchApplication = $params.ServiceAppName + Enable = $params.Enabled + } + + Set-SPEnterpriseSearchFileFormatState @stateParams + } + } + } + } + } + + if ($Ensure -eq "Absent") + { + Write-Verbose -Message "Removing Crawl Rule $Path" + Invoke-SPDSCCommand -Credential $InstallAccount ` + -Arguments $PSBoundParameters ` + -ScriptBlock { + $params = $args[0] + + Remove-SPEnterpriseSearchFileFormat -Identity $params.FileType ` + -SearchApplication $params.ServiceAppName ` + -Confirm:$false + } + } +} + +function Test-TargetResource +{ + [CmdletBinding()] + [OutputType([System.Boolean])] + param + ( + [parameter(Mandatory = $true)] + [System.String] + $FileType, + + [parameter(Mandatory = $true)] + [System.String] + $ServiceAppName, + + [parameter(Mandatory = $false)] + [System.String] + $Description, + + [parameter(Mandatory = $false)] + [System.String] + $MimeType, + + [parameter(Mandatory = $true)] + [System.Boolean] + $Enabled, + + [parameter(Mandatory = $false)] + [ValidateSet("Present","Absent")] + [System.String] + $Ensure = "Present", + + [parameter(Mandatory = $false)] + [System.Management.Automation.PSCredential] + $InstallAccount + ) + + Write-Verbose -Message "Testing Search File Type '$FileType'" + + $PSBoundParameters.Ensure = $Ensure + + $CurrentValues = Get-TargetResource @PSBoundParameters + + if ($Ensure -eq "Present") + { + if ($PSBoundParameters.ContainsKey("Enabled") -eq $true) + { + if ($Enabled -ne $CurrentValues.Enabled) + { + return $false + } + } + + return Test-SPDscParameterState -CurrentValues $CurrentValues ` + -DesiredValues $PSBoundParameters ` + -ValuesToCheck @("Ensure", + "Description", + "MimeType") + } + else + { + return Test-SPDscParameterState -CurrentValues $CurrentValues ` + -DesiredValues $PSBoundParameters ` + -ValuesToCheck @("Ensure") + } +} + +Export-ModuleMember -Function *-TargetResource diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPSearchFileType/MSFT_SPSearchFileType.schema.mof b/Modules/SharePointDsc/DSCResources/MSFT_SPSearchFileType/MSFT_SPSearchFileType.schema.mof new file mode 100644 index 000000000..a10f7c9c0 --- /dev/null +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPSearchFileType/MSFT_SPSearchFileType.schema.mof @@ -0,0 +1,12 @@ +[ClassVersion("1.0.0.0"), FriendlyName("SPSearchFileType")] +class MSFT_SPSearchFileType : OMI_BaseResource +{ + [Key, Description("The name of the file type")] string FileType; + [Required, Description("The name of the search service application")] string ServiceAppName; + [Write, Description("The description of the file type")] string Description; + [Write, Description("The mime type of the file type")] string MimeType; + [Write, Description("The state of the file type")] boolean Enabled; + [Write, Description("Present if the service app should exist, absent if it should not"), ValueMap{"Present","Absent"}, Values{"Present","Absent"}] string Ensure; + [Write, Description("POWERSHELL 4 ONLY: The account to run this resource as, use PsDscRunAsCredential if using PowerShell 5"), EmbeddedInstance("MSFT_Credential")] String InstallAccount; +}; + diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPSearchFileType/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPSearchFileType/readme.md new file mode 100644 index 000000000..42a74337b --- /dev/null +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPSearchFileType/readme.md @@ -0,0 +1,5 @@ +# Description + +This resource is responsible for managing the search file types in the search +service application. You can create new file types, change existing types and +remove existing file types. diff --git a/Modules/SharePointDsc/Examples/Resources/SPSearchFileType/1-RequiredParameters.ps1 b/Modules/SharePointDsc/Examples/Resources/SPSearchFileType/1-RequiredParameters.ps1 new file mode 100644 index 000000000..103bc8812 --- /dev/null +++ b/Modules/SharePointDsc/Examples/Resources/SPSearchFileType/1-RequiredParameters.ps1 @@ -0,0 +1,25 @@ +<# +.EXAMPLE + This example shows how to apply settings to a sepcific URL in search +#> + + Configuration Example + { + param( + [Parameter(Mandatory = $true)] + [PSCredential] + $SetupAccount + ) + Import-DscResource -ModuleName SharePointDsc + + node localhost { + SPSearchFileType PDF + { + FileType = "pdf" + ServiceAppName = "Search Service Application" + Description = "PDF Document" + Ensure = "Present" + PsDscRunAsCredential = $SetupAccount + } + } + } diff --git a/Modules/SharePointDsc/Examples/Resources/SPSearchFileType/2-AllParameters.ps1 b/Modules/SharePointDsc/Examples/Resources/SPSearchFileType/2-AllParameters.ps1 new file mode 100644 index 000000000..eaf7136b5 --- /dev/null +++ b/Modules/SharePointDsc/Examples/Resources/SPSearchFileType/2-AllParameters.ps1 @@ -0,0 +1,27 @@ +<# +.EXAMPLE + This example shows how to set a certificate for authentication to a content source +#> + + Configuration Example + { + param( + [Parameter(Mandatory = $true)] + [PSCredential] + $SetupAccount + ) + Import-DscResource -ModuleName SharePointDsc + + node localhost { + SPSearchFileType PDF + { + FileType = "pdf" + ServiceAppName = "Search Service Application" + Description = "PDF Document" + MimeType = "application/pdf" + Enabled = $false + Ensure = "Present" + PsDscRunAsCredential = $SetupAccount + } + } + } From 2115e40d4c7160e2bcc46645da319514b2fde892 Mon Sep 17 00:00:00 2001 From: Yorick Kuijs Date: Thu, 1 Dec 2016 21:13:48 +0100 Subject: [PATCH 30/38] Added examples, tests and updated change log --- CHANGELOG.md | 1 + .../MSFT_SPSearchFileType.psm1 | 77 +++-- .../SPSearchFileType/1-RequiredParameters.ps1 | 3 +- .../SPSearchFileType/2-AllParameters.ps1 | 2 +- .../SharePointDsc.SPSearchFileType.Tests.ps1 | 270 ++++++++++++++++++ 5 files changed, 330 insertions(+), 23 deletions(-) create mode 100644 Tests/Unit/SharePointDsc/SharePointDsc.SPSearchFileType.Tests.ps1 diff --git a/CHANGELOG.md b/CHANGELOG.md index 4da6efb85..8fb2db712 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,7 @@ to all be the same case * Fixed bug in SPInstallLanguagePack where language packs could not be installed on SharePoint 2016 +* Added new resource SPSearchFileType ## 1.4 diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPSearchFileType/MSFT_SPSearchFileType.psm1 b/Modules/SharePointDsc/DSCResources/MSFT_SPSearchFileType/MSFT_SPSearchFileType.psm1 index c56cb49d9..52f1c6522 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPSearchFileType/MSFT_SPSearchFileType.psm1 +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPSearchFileType/MSFT_SPSearchFileType.psm1 @@ -20,7 +20,7 @@ function Get-TargetResource [System.String] $MimeType, - [parameter(Mandatory = $true)] + [parameter(Mandatory = $false)] [System.Boolean] $Enabled, @@ -36,6 +36,20 @@ function Get-TargetResource Write-Verbose -Message "Getting Search File Type '$FileType'" + if ($Ensure -eq "Present" -and ` + (-not($PSBoundParameters.ContainsKey("MimeType")) -or ` + -not($PSBoundParameters.ContainsKey("Description")))) + { + Write-Verbose -Message "Ensure is configured as Present, but MimeType and/or Description is missing" + $nullReturn = @{ + FileType = $params.FileType + ServiceAppName = $params.ServiceAppName + Ensure = "Absent" + InstallAccount = $params.InstallAccount + } + return $nullReturn + } + $result = Invoke-SPDSCCommand -Credential $InstallAccount ` -Arguments $PSBoundParameters ` -ScriptBlock { @@ -53,7 +67,7 @@ function Get-TargetResource if ($null -eq $serviceApps) { - Write-Verbose -Message "Service Application $($params.ServiceAppName) not found" + Write-Verbose -Message "Service Application $($params.ServiceAppName) is not found" return $nullReturn } @@ -63,7 +77,7 @@ function Get-TargetResource if ($null -eq $serviceApp) { - Write-Verbose -Message "Service Application $($params.ServiceAppName) not found" + Write-Verbose -Message "Service Application $($params.ServiceAppName) is not a search service application" return $nullReturn } else @@ -118,7 +132,7 @@ function Set-TargetResource [System.String] $MimeType, - [parameter(Mandatory = $true)] + [parameter(Mandatory = $false)] [System.Boolean] $Enabled, @@ -134,8 +148,41 @@ function Set-TargetResource Write-Verbose -Message "Setting Search File Type '$FileType'" + if ($Ensure -eq "Present" -and ` + (-not($PSBoundParameters.ContainsKey("MimeType")) -or ` + -not($PSBoundParameters.ContainsKey("Description")))) + { + throw "Ensure is configured as Present, but MimeType and/or Description is missing" + } + + $PSBoundParameters.Ensure = $Ensure + $result = Get-TargetResource @PSBoundParameters + Write-Verbose -Message "Checking if Service Application '$ServiceAppName' exists" + Invoke-SPDSCCommand -Credential $InstallAccount ` + -Arguments $PSBoundParameters ` + -ScriptBlock { + $params = $args[0] + + $serviceApps = Get-SPServiceApplication -Name $params.ServiceAppName ` + -ErrorAction SilentlyContinue + + if ($null -eq $serviceApps) + { + throw "Service Application $($params.ServiceAppName) is not found" + } + + $serviceApp = $serviceApps | Where-Object -FilterScript { + $_.GetType().FullName -eq "Microsoft.Office.Server.Search.Administration.SearchServiceApplication" + } + + if ($null -eq $serviceApp) + { + throw "Service Application $($params.ServiceAppName) is not a search service application" + } + } + if ($result.Ensure -eq "Absent" -and $Ensure -eq "Present") { Write-Verbose -Message "Creating File Type $FileType" @@ -147,14 +194,8 @@ function Set-TargetResource $newParams = @{ FormatId = $params.FileType SearchApplication = $params.ServiceAppName - } - if ($params.ContainsKey("Description") -eq $true) - { - $newParams.Add("FormatName", $params.Description) - } - if ($params.ContainsKey("MimeType") -eq $true) - { - $newParams.Add("MimeType", $params.MimeType) + FormatName = $params.Description + MimeType = $params.MimeType } New-SPEnterpriseSearchFileFormat @newParams @@ -194,14 +235,8 @@ function Set-TargetResource $newParams = @{ FormatId = $params.FileType SearchApplication = $params.ServiceAppName - } - if ($params.ContainsKey("Description") -eq $true) - { - $newParams.Add("FormatName", $params.Description) - } - if ($params.ContainsKey("MimeType") -eq $true) - { - $newParams.Add("MimeType", $params.MimeType) + FormatName = $params.Description + MimeType = $params.MimeType } New-SPEnterpriseSearchFileFormat @newParams @@ -261,7 +296,7 @@ function Test-TargetResource [System.String] $MimeType, - [parameter(Mandatory = $true)] + [parameter(Mandatory = $false)] [System.Boolean] $Enabled, diff --git a/Modules/SharePointDsc/Examples/Resources/SPSearchFileType/1-RequiredParameters.ps1 b/Modules/SharePointDsc/Examples/Resources/SPSearchFileType/1-RequiredParameters.ps1 index 103bc8812..edfd5389d 100644 --- a/Modules/SharePointDsc/Examples/Resources/SPSearchFileType/1-RequiredParameters.ps1 +++ b/Modules/SharePointDsc/Examples/Resources/SPSearchFileType/1-RequiredParameters.ps1 @@ -17,7 +17,8 @@ { FileType = "pdf" ServiceAppName = "Search Service Application" - Description = "PDF Document" + Description = "PDF" + MimeType = "application/pdf" Ensure = "Present" PsDscRunAsCredential = $SetupAccount } diff --git a/Modules/SharePointDsc/Examples/Resources/SPSearchFileType/2-AllParameters.ps1 b/Modules/SharePointDsc/Examples/Resources/SPSearchFileType/2-AllParameters.ps1 index eaf7136b5..dd92fa872 100644 --- a/Modules/SharePointDsc/Examples/Resources/SPSearchFileType/2-AllParameters.ps1 +++ b/Modules/SharePointDsc/Examples/Resources/SPSearchFileType/2-AllParameters.ps1 @@ -17,7 +17,7 @@ { FileType = "pdf" ServiceAppName = "Search Service Application" - Description = "PDF Document" + Description = "PDF" MimeType = "application/pdf" Enabled = $false Ensure = "Present" diff --git a/Tests/Unit/SharePointDsc/SharePointDsc.SPSearchFileType.Tests.ps1 b/Tests/Unit/SharePointDsc/SharePointDsc.SPSearchFileType.Tests.ps1 new file mode 100644 index 000000000..94cde4726 --- /dev/null +++ b/Tests/Unit/SharePointDsc/SharePointDsc.SPSearchFileType.Tests.ps1 @@ -0,0 +1,270 @@ +[CmdletBinding()] +param( + [Parameter(Mandatory = $false)] + [string] + $SharePointCmdletModule = (Join-Path -Path $PSScriptRoot ` + -ChildPath "..\Stubs\SharePoint\15.0.4805.1000\Microsoft.SharePoint.PowerShell.psm1" ` + -Resolve) +) + +Import-Module -Name (Join-Path -Path $PSScriptRoot ` + -ChildPath "..\SharePointDsc.TestHarness.psm1" ` + -Resolve) + +$Global:SPDscHelper = New-SPDscUnitTestHelper -SharePointStubModule $SharePointCmdletModule ` + -DscResource "SPSearchFileType" + +Describe -Name $Global:SPDscHelper.DescribeHeader -Fixture { + InModuleScope -ModuleName $Global:SPDscHelper.ModuleName -ScriptBlock { + Invoke-Command -ScriptBlock $Global:SPDscHelper.InitializeScript -NoNewScope + + # Initialize tests + $getTypeFullName = "Microsoft.Office.Server.Search.Administration.SearchServiceApplication" + + # Mocks for all contexts + Mock -CommandName Remove-SPEnterpriseSearchFileFormat -MockWith {} + Mock -CommandName New-SPEnterpriseSearchFileFormat -MockWith {} + Mock -CommandName Set-SPEnterpriseSearchFileFormatState -MockWith {} + + Mock -CommandName Get-SPServiceApplication -MockWith { + return @( + New-Object -TypeName "Object" | + Add-Member -MemberType ScriptMethod ` + -Name GetType ` + -Value { + New-Object -TypeName "Object" | + Add-Member -MemberType NoteProperty ` + -Name FullName ` + -Value $getTypeFullName ` + -PassThru + } ` + -PassThru -Force) + } + + Context -Name "When no service applications exist in the current farm" -Fixture { + $testParams = @{ + FileType = "abc" + Description = "ABC" + MimeType = "application/abc" + ServiceAppName = "Search Service Application" + Ensure = "Present" + } + + Mock -CommandName Get-SPServiceApplication -MockWith { + return $null + } + + It "Should return absent from the Get method" { + (Get-TargetResource @testParams).Ensure | Should Be "Absent" + } + + It "Should return false when the Test method is called" { + Test-TargetResource @testParams | Should Be $false + } + + It "Should throw an exception in the set method" { + { Set-TargetResource @testParams } | Should throw "Service Application $($testParams.ServiceAppName) is not found" + } + } + + Context -Name "When service applications exist in the current farm but the specific search app does not" -Fixture { + $testParams = @{ + FileType = "abc" + Description = "ABC" + MimeType = "application/abc" + ServiceAppName = "Search Service Application" + Ensure = "Present" + } + + Mock -CommandName Get-SPServiceApplication -MockWith { + return @(@{ + TypeName = "Some other service app type" + }) + } + + It "Should return absent from the Get method" { + (Get-TargetResource @testParams).Ensure | Should Be "Absent" + } + + It "Should return false when the Test method is called" { + Test-TargetResource @testParams | Should Be $false + } + + It "Should throw an exception in the set method" { + { Set-TargetResource @testParams } | Should throw "Service Application $($testParams.ServiceAppName) is not a search service application" + } + } + + Context -Name "When Ensure=Present, but Description and MimeType parameters are missing" -Fixture { + $testParams = @{ + FileType = "abc" + ServiceAppName = "Search Service Application" + Ensure = "Present" + } + + It "Should return absent from the Get method" { + (Get-TargetResource @testParams).Ensure | Should Be "Absent" + } + + It "Should return false when the Test method is called" { + Test-TargetResource @testParams | Should Be $false + } + + It "Should throw an exception in the set method" { + { Set-TargetResource @testParams } | Should throw "Ensure is configured as Present, but MimeType and/or Description is missing" + } + } + + Context -Name "When a file type does not exists, but should be" -Fixture { + $testParams = @{ + FileType = "abc" + Description = "ABC" + MimeType = "application/abc" + ServiceAppName = "Search Service Application" + Ensure = "Present" + } + + Mock -CommandName Get-SPEnterpriseSearchFileFormat -MockWith { + return $null + } + + It "Should return absent from the get method" { + (Get-TargetResource @testParams).Ensure | Should Be "Absent" + } + + It "Should return false when the Test method is called" { + Test-TargetResource @testParams | Should Be $false + } + + It "Should create a new file type in the set method" { + Set-TargetResource @testParams + Assert-MockCalled New-SPEnterpriseSearchFileFormat + } + } + + Context -Name "When a file type does not exists, but should be" -Fixture { + $testParams = @{ + FileType = "abc" + ServiceAppName = "Search Service Application" + Ensure = "Absent" + } + + Mock -CommandName Get-SPEnterpriseSearchFileFormat -MockWith { + return @{ + Identity = $testParams.FileType + Name = "ABC" + MimeType = "application/abc" + Enabled = $true + } + } + + It "Should return present from the get method" { + (Get-TargetResource @testParams).Ensure | Should Be "Present" + } + + It "Should return false when the Test method is called" { + Test-TargetResource @testParams | Should Be $false + } + + It "Should remove the file type in the set method" { + Set-TargetResource @testParams + Assert-MockCalled Remove-SPEnterpriseSearchFileFormat + } + } + + Context -Name "When a file type exists, but with the incorrect settings" -Fixture { + $testParams = @{ + FileType = "abc" + ServiceAppName = "Search Service Application" + Description = "XYZ" + MimeType = "application/xyz" + Ensure = "Present" + } + + Mock -CommandName Get-SPEnterpriseSearchFileFormat -MockWith { + return @{ + Identity = $testParams.FileType + Name = "ABC" + MimeType = "application/abc" + Enabled = $true + } + } + + It "Should return present from the get method" { + (Get-TargetResource @testParams).Ensure | Should Be "Present" + } + + It "Should return false when the Test method is called" { + Test-TargetResource @testParams | Should Be $false + } + + It "Should recreate the file type in the set method" { + Set-TargetResource @testParams + Assert-MockCalled Remove-SPEnterpriseSearchFileFormat + Assert-MockCalled New-SPEnterpriseSearchFileFormat + } + } + + Context -Name "When a file type exists, but with the incorrect state" -Fixture { + $testParams = @{ + FileType = "abc" + ServiceAppName = "Search Service Application" + Description = "ABC" + MimeType = "application/abc" + Enabled = $true + Ensure = "Present" + } + + Mock -CommandName Get-SPEnterpriseSearchFileFormat -MockWith { + return @{ + Identity = $testParams.FileType + Name = "ABC" + MimeType = "application/abc" + Enabled = $false + } + } + + It "Should return present from the get method" { + (Get-TargetResource @testParams).Ensure | Should Be "Present" + } + + It "Should return false when the Test method is called" { + Test-TargetResource @testParams | Should Be $false + } + + It "Should enable the file type in the set method" { + Set-TargetResource @testParams + Assert-MockCalled Set-SPEnterpriseSearchFileFormatState + } + } + + Context -Name "When a file type exists and is configured correctly" -Fixture { + $testParams = @{ + FileType = "abc" + ServiceAppName = "Search Service Application" + Description = "ABC" + MimeType = "application/abc" + Ensure = "Present" + } + + Mock -CommandName Get-SPEnterpriseSearchFileFormat -MockWith { + return @{ + Identity = $testParams.FileType + Name = "ABC" + MimeType = "application/abc" + Enabled = $true + } + } + + It "Should return present from the get method" { + (Get-TargetResource @testParams).Ensure | Should Be "Present" + } + + It "Should return true when the Test method is called" { + Test-TargetResource @testParams | Should Be $true + } + } + } +} + +Invoke-Command -ScriptBlock $Global:SPDscHelper.CleanupScript -NoNewScope From 73877a0a33de34deeaf464786a3c154756e3710a Mon Sep 17 00:00:00 2001 From: Yorick Kuijs Date: Tue, 6 Dec 2016 14:37:28 +0100 Subject: [PATCH 31/38] Incorporated review comments --- .../Resources/SPSearchFileType/1-RequiredParameters.ps1 | 2 +- .../Examples/Resources/SPSearchFileType/2-AllParameters.ps1 | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Modules/SharePointDsc/Examples/Resources/SPSearchFileType/1-RequiredParameters.ps1 b/Modules/SharePointDsc/Examples/Resources/SPSearchFileType/1-RequiredParameters.ps1 index edfd5389d..89e8bf38f 100644 --- a/Modules/SharePointDsc/Examples/Resources/SPSearchFileType/1-RequiredParameters.ps1 +++ b/Modules/SharePointDsc/Examples/Resources/SPSearchFileType/1-RequiredParameters.ps1 @@ -1,6 +1,6 @@ <# .EXAMPLE - This example shows how to apply settings to a sepcific URL in search + This example shows how to apply settings to a specific file type in search, using the required parameters #> Configuration Example diff --git a/Modules/SharePointDsc/Examples/Resources/SPSearchFileType/2-AllParameters.ps1 b/Modules/SharePointDsc/Examples/Resources/SPSearchFileType/2-AllParameters.ps1 index dd92fa872..02c474ea1 100644 --- a/Modules/SharePointDsc/Examples/Resources/SPSearchFileType/2-AllParameters.ps1 +++ b/Modules/SharePointDsc/Examples/Resources/SPSearchFileType/2-AllParameters.ps1 @@ -1,6 +1,6 @@ <# .EXAMPLE - This example shows how to set a certificate for authentication to a content source + This example shows how to apply settings to a specific file type in search, using all parameters #> Configuration Example From 9cfd982e608ff50469c121aa245ded35bbbd7106 Mon Sep 17 00:00:00 2001 From: Yorick Kuijs Date: Tue, 6 Dec 2016 14:45:48 +0100 Subject: [PATCH 32/38] Rename examples --- .../{1-RequiredParameters.ps1 => 1-EnsureFileType.ps1} | 0 .../{2-AllParameters.ps1 => 2-DisableFileType.ps1} | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename Modules/SharePointDsc/Examples/Resources/SPSearchFileType/{1-RequiredParameters.ps1 => 1-EnsureFileType.ps1} (100%) rename Modules/SharePointDsc/Examples/Resources/SPSearchFileType/{2-AllParameters.ps1 => 2-DisableFileType.ps1} (100%) diff --git a/Modules/SharePointDsc/Examples/Resources/SPSearchFileType/1-RequiredParameters.ps1 b/Modules/SharePointDsc/Examples/Resources/SPSearchFileType/1-EnsureFileType.ps1 similarity index 100% rename from Modules/SharePointDsc/Examples/Resources/SPSearchFileType/1-RequiredParameters.ps1 rename to Modules/SharePointDsc/Examples/Resources/SPSearchFileType/1-EnsureFileType.ps1 diff --git a/Modules/SharePointDsc/Examples/Resources/SPSearchFileType/2-AllParameters.ps1 b/Modules/SharePointDsc/Examples/Resources/SPSearchFileType/2-DisableFileType.ps1 similarity index 100% rename from Modules/SharePointDsc/Examples/Resources/SPSearchFileType/2-AllParameters.ps1 rename to Modules/SharePointDsc/Examples/Resources/SPSearchFileType/2-DisableFileType.ps1 From 99e4b502492ec6845ec9287ee7cf49b8dc43db79 Mon Sep 17 00:00:00 2001 From: Yorick Kuijs Date: Tue, 6 Dec 2016 14:47:05 +0100 Subject: [PATCH 33/38] Update example --- .../Examples/Resources/SPSearchFileType/2-DisableFileType.ps1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Modules/SharePointDsc/Examples/Resources/SPSearchFileType/2-DisableFileType.ps1 b/Modules/SharePointDsc/Examples/Resources/SPSearchFileType/2-DisableFileType.ps1 index 02c474ea1..cd3a0358a 100644 --- a/Modules/SharePointDsc/Examples/Resources/SPSearchFileType/2-DisableFileType.ps1 +++ b/Modules/SharePointDsc/Examples/Resources/SPSearchFileType/2-DisableFileType.ps1 @@ -1,6 +1,6 @@ <# .EXAMPLE - This example shows how to apply settings to a specific file type in search, using all parameters + This example shows how to disable a specific file type in search #> Configuration Example From 58c6b13dd750ef98694f18355d8e17bbfdd17ffc Mon Sep 17 00:00:00 2001 From: Yorick Kuijs Date: Wed, 7 Dec 2016 16:14:05 +0100 Subject: [PATCH 34/38] Returning DatabaseName as empty string --- .../MSFT_SPDatabaseAAG/MSFT_SPDatabaseAAG.psm1 | 14 ++++++++------ .../SharePointDsc.SPDatabaseAAG.Tests.ps1 | 4 ++-- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPDatabaseAAG/MSFT_SPDatabaseAAG.psm1 b/Modules/SharePointDsc/DSCResources/MSFT_SPDatabaseAAG/MSFT_SPDatabaseAAG.psm1 index 43a3d9c2b..c6ac6f0d8 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPDatabaseAAG/MSFT_SPDatabaseAAG.psm1 +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPDatabaseAAG/MSFT_SPDatabaseAAG.psm1 @@ -50,6 +50,7 @@ function Get-TargetResource $_.Name -like $params.DatabaseName } + $dbname = $params.DatabaseName if ($null -ne $databases) { foreach ($database in $databases) @@ -71,11 +72,11 @@ function Get-TargetResource else { Write-Verbose -Message "Specified database(s) not found." - $Ensure = "" + $dbname = "" } return @{ - DatabaseName = $params.DatabaseName + DatabaseName = $dbname AGName = $params.AGName FileShare = $params.FileShare Ensure = $Ensure @@ -91,11 +92,12 @@ function Get-TargetResource -ScriptBlock { $params = $args[0] + $Ensure = "Absent" $databases = Get-SPDatabase | Where-Object -FilterScript { $_.Name -like $params.DatabaseName } - $Ensure = "Absent" + $dbname = $params.DatabaseName if ($null -ne $databases) { foreach ($database in $databases) @@ -110,11 +112,11 @@ function Get-TargetResource else { Write-Verbose -Message "Specified database(s) not found." - $Ensure = "" + $dbname = "" } return @{ - DatabaseName = $params.DatabaseName + DatabaseName = $dbname AGName = $params.AGName FileShare = $params.FileShare Ensure = $Ensure @@ -287,6 +289,6 @@ function Test-TargetResource return Test-SPDscParameterState -CurrentValues $CurrentValues ` -DesiredValues $PSBoundParameters ` - -ValuesToCheck @("Ensure") + -ValuesToCheck @("Ensure", "DatabaseName") } diff --git a/Tests/Unit/SharePointDsc/SharePointDsc.SPDatabaseAAG.Tests.ps1 b/Tests/Unit/SharePointDsc/SharePointDsc.SPDatabaseAAG.Tests.ps1 index 1fa4999c2..8a7cff574 100644 --- a/Tests/Unit/SharePointDsc/SharePointDsc.SPDatabaseAAG.Tests.ps1 +++ b/Tests/Unit/SharePointDsc/SharePointDsc.SPDatabaseAAG.Tests.ps1 @@ -444,8 +444,8 @@ Describe -Name $Global:SPDscHelper.DescribeHeader -Fixture { ) } - It "Should return Ensure='Not Found' from the get method" { - (Get-TargetResource @testParams).Ensure | Should Be "" + It "Should return DatabaseName='' from the get method" { + (Get-TargetResource @testParams).DatabaseName | Should Be "" } It "Should return false from the test method" { From 7c340d1203c18cb6d496257fa9f195dab54df0a3 Mon Sep 17 00:00:00 2001 From: Brian Farnhill Date: Fri, 9 Dec 2016 11:24:30 +1100 Subject: [PATCH 35/38] Fixed default proxy group issue --- CHANGELOG.md | 3 +++ .../MSFT_SPExcelServiceApp/MSFT_SPExcelServiceApp.psm1 | 3 ++- .../MSFT_SPPerformancePointServiceApp.psm1 | 3 ++- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 15e082e07..cc87bf97f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,9 @@ * Fixed bug in SPInstallLanguagePack where language packs could not be installed on SharePoint 2016 * Updated SPDatabaseAAG to allow database name patterns +* Fixed a bug were PerformancePoint and Excel Services Service Application + proxies would not be added to the default proxy group when they are + provisioned ## 1.4 diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPExcelServiceApp/MSFT_SPExcelServiceApp.psm1 b/Modules/SharePointDsc/DSCResources/MSFT_SPExcelServiceApp/MSFT_SPExcelServiceApp.psm1 index 63abb389e..6e3cc8ba3 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPExcelServiceApp/MSFT_SPExcelServiceApp.psm1 +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPExcelServiceApp/MSFT_SPExcelServiceApp.psm1 @@ -330,7 +330,8 @@ function Set-TargetResource $params = $args[0] New-SPExcelServiceApplication -Name $params.Name ` - -ApplicationPool $params.ApplicationPool + -ApplicationPool $params.ApplicationPool ` + -Default } } diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPPerformancePointServiceApp/MSFT_SPPerformancePointServiceApp.psm1 b/Modules/SharePointDsc/DSCResources/MSFT_SPPerformancePointServiceApp/MSFT_SPPerformancePointServiceApp.psm1 index e09ae9459..4321a492b 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPPerformancePointServiceApp/MSFT_SPPerformancePointServiceApp.psm1 +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPPerformancePointServiceApp/MSFT_SPPerformancePointServiceApp.psm1 @@ -156,7 +156,8 @@ function Set-TargetResource $pName = $params.ProxyName } New-SPPerformancePointServiceApplicationProxy -Name $pName ` - -ServiceApplication $params.Name + -ServiceApplication $params.Name ` + -Default } } From e83b04b7cbd86cdf0c21ecd15b4e936afc5e5300 Mon Sep 17 00:00:00 2001 From: Brian Farnhill Date: Fri, 9 Dec 2016 12:49:59 +1100 Subject: [PATCH 36/38] Prep for v1.5 release --- .appveyor/appveyor.psm1 | 2 +- CHANGELOG.md | 2 +- Modules/SharePointDsc/SharePointDsc.psd1 | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.appveyor/appveyor.psm1 b/.appveyor/appveyor.psm1 index 58d8d9cec..aaaa72662 100644 --- a/.appveyor/appveyor.psm1 +++ b/.appveyor/appveyor.psm1 @@ -88,7 +88,7 @@ function Start-AppveyorAfterTestTask # Add the appropriate build number to the manifest and zip/publish everything to appveyor $manifest = Join-Path -Path $env:APPVEYOR_BUILD_FOLDER -ChildPath "modules\SharePointDsc\SharePointDsc.psd1" - (Get-Content $manifest -Raw).Replace("1.4.0.0", $env:APPVEYOR_BUILD_VERSION) | Out-File $manifest + (Get-Content $manifest -Raw).Replace("1.5.0.0", $env:APPVEYOR_BUILD_VERSION) | Out-File $manifest $zipFileName = "SharePointDsc_$($env:APPVEYOR_BUILD_VERSION).zip" [System.IO.Compression.ZipFile]::CreateFromDirectory($mainModulePath, "$env:APPVEYOR_BUILD_FOLDER\$zipFileName") New-DscChecksum -Path $env:APPVEYOR_BUILD_FOLDER -Outpath $env:APPVEYOR_BUILD_FOLDER diff --git a/CHANGELOG.md b/CHANGELOG.md index afb1655d7..a9ef920d6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ # Change log for SharePointDsc -## Unreleased +## 1.5 * Fixed issue with SPManagedMetaDataServiceApp if ContentTypeHubUrl parameter is null diff --git a/Modules/SharePointDsc/SharePointDsc.psd1 b/Modules/SharePointDsc/SharePointDsc.psd1 index f25a4a043..c137332ee 100644 --- a/Modules/SharePointDsc/SharePointDsc.psd1 +++ b/Modules/SharePointDsc/SharePointDsc.psd1 @@ -12,7 +12,7 @@ # RootModule = '' # Version number of this module. -ModuleVersion = '1.4.0.0' +ModuleVersion = '1.5.0.0' # ID used to uniquely identify this module GUID = '6c1176a0-4fac-4134-8ca2-3fa8a21a7b90' From 3eafb9dda5a2c9406f34eb365f786a05e336d9b4 Mon Sep 17 00:00:00 2001 From: Brian Farnhill Date: Fri, 9 Dec 2016 13:13:41 +1100 Subject: [PATCH 37/38] Added access denied error trap to give more info on failure --- CHANGELOG.md | 2 + .../MSFT_SPAppCatalog/MSFT_SPAppCatalog.psm1 | 11 +++++- .../DSCResources/MSFT_SPAppCatalog/readme.md | 4 ++ .../SharePointDsc.SPAppCatalog.Tests.ps1 | 38 +++++++++++++++++++ 4 files changed, 54 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index afb1655d7..6339c50bd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,8 @@ * Fixed a bug were PerformancePoint and Excel Services Service Application proxies would not be added to the default proxy group when they are provisioned +* Added an error catch to provide more detail about running SPAppCatalog with + accounts other than the farm account ## 1.4 diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPAppCatalog/MSFT_SPAppCatalog.psm1 b/Modules/SharePointDsc/DSCResources/MSFT_SPAppCatalog/MSFT_SPAppCatalog.psm1 index 81e322120..442dbb7ba 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPAppCatalog/MSFT_SPAppCatalog.psm1 +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPAppCatalog/MSFT_SPAppCatalog.psm1 @@ -67,7 +67,16 @@ function Set-TargetResource -Arguments $PSBoundParameters ` -ScriptBlock { $params = $args[0] - Update-SPAppCatalogConfiguration -Site $params.SiteUrl -Confirm:$false + try + { + Update-SPAppCatalogConfiguration -Site $params.SiteUrl -Confirm:$false + } + catch [System.UnauthorizedAccessException] + { + throw ("This resource must be run as the farm account (not a setup account). " + ` + "Please ensure either the PsDscRunAsCredential or InstallAccount " + ` + "credentials are set to the farm account and run this resource again") + } } } diff --git a/Modules/SharePointDsc/DSCResources/MSFT_SPAppCatalog/readme.md b/Modules/SharePointDsc/DSCResources/MSFT_SPAppCatalog/readme.md index 5821f7f0e..3b8152ccb 100644 --- a/Modules/SharePointDsc/DSCResources/MSFT_SPAppCatalog/readme.md +++ b/Modules/SharePointDsc/DSCResources/MSFT_SPAppCatalog/readme.md @@ -3,3 +3,7 @@ This resource will ensure that a specific site collection is marked as the app catalog for the web application that the site is in. The catalog site needs to have been created using the correct template (APPCATALOG#0). + +This resource should be run using the farm account, and not another specific +setup account. Running this with the setup account you have used in your +configuration may relate to access denied errors. diff --git a/Tests/Unit/SharePointDsc/SharePointDsc.SPAppCatalog.Tests.ps1 b/Tests/Unit/SharePointDsc/SharePointDsc.SPAppCatalog.Tests.ps1 index 118acafae..1943bc919 100644 --- a/Tests/Unit/SharePointDsc/SharePointDsc.SPAppCatalog.Tests.ps1 +++ b/Tests/Unit/SharePointDsc/SharePointDsc.SPAppCatalog.Tests.ps1 @@ -121,6 +121,44 @@ Describe -Name $Global:SPDscHelper.DescribeHeader -Fixture { Test-TargetResource @testParams | Should Be $true } } + + Context -Name "The specified site exists and the resource tries to set the site using the farm account" -Fixture { + + $testParams = @{ + SiteUrl = "https://content.sharepoint.contoso.com/sites/AppCatalog" + } + + Mock -CommandName Update-SPAppCatalogConfiguration -MockWith { + throw [System.UnauthorizedAccessException] "ACCESS IS DENIED" + } + Mock -CommandName Get-SPSite -MockWith { + return @{ + WebApplication = @{ + Features = @( @{} ) | Add-Member -MemberType ScriptMethod ` + -Name "Item" ` + -Value { return $null } ` + -PassThru ` + -Force + } + ID = $mockSiteId + } + } + + It "Should return null from the get method" { + (Get-TargetResource @testParams).SiteUrl | Should BeNullOrEmpty + } + + It "Should return false from the test method" { + Test-TargetResource @testParams | Should Be $false + } + + It "Should throw an exception in the set method" { + { Set-TargetResource @testParams } | Should throw ` + "This resource must be run as the farm account (not a setup account). " + ` + "Please ensure either the PsDscRunAsCredential or InstallAccount " + ` + "credentials are set to the farm account and run this resource again" + } + } } } From 67accd43e17277b8422005556c996d6bb7dc9726 Mon Sep 17 00:00:00 2001 From: Brian Farnhill Date: Fri, 9 Dec 2016 14:01:15 +1100 Subject: [PATCH 38/38] Updates for release 1.5 --- Modules/SharePointDsc/SharePointDsc.psd1 | 50 ++++------ .../en-us/about_SPAccessServiceApp.help.txt | 8 +- .../en-us/about_SPAlternateUrl.help.txt | 9 +- .../en-us/about_SPAntivirusSettings.help.txt | 11 ++- .../en-us/about_SPAppCatalog.help.txt | 12 ++- .../en-us/about_SPAppDomain.help.txt | 6 +- .../about_SPAppManagementServiceApp.help.txt | 16 ++-- .../en-us/about_SPAppStoreSettings.help.txt | 5 +- .../en-us/about_SPBCSServiceApp.help.txt | 16 ++-- .../en-us/about_SPBlobCacheSettings.help.txt | 21 +++-- .../en-us/about_SPCacheAccounts.help.txt | 8 +- .../en-us/about_SPConfigWizard.help.txt | 10 +- .../en-us/about_SPContentDatabase.help.txt | 11 ++- .../en-us/about_SPCreateFarm.help.txt | 38 ++++---- .../en-us/about_SPDatabaseAAG.help.txt | 43 ++++++++- .../en-us/about_SPDesignerSettings.help.txt | 27 +++--- ...about_SPDiagnosticLoggingSettings.help.txt | 10 +- .../about_SPDistributedCacheService.help.txt | 36 +++---- .../en-us/about_SPExcelServiceApp.help.txt | 6 +- .../en-us/about_SPFarmAdministrators.help.txt | 20 ++-- .../en-us/about_SPFarmSolution.help.txt | 14 +-- .../en-us/about_SPFeature.help.txt | 10 +- .../about_SPHealthAnalyzerRuleState.help.txt | 6 +- .../en-us/about_SPInstall.help.txt | 12 +-- .../about_SPInstallLanguagePack.help.txt | 10 +- .../en-us/about_SPInstallPrereqs.help.txt | 30 +++--- .../en-us/about_SPIrmSettings.help.txt | 5 +- .../en-us/about_SPJoinFarm.help.txt | 18 ++-- .../en-us/about_SPManagedAccount.help.txt | 14 +-- ...about_SPManagedMetaDataServiceApp.help.txt | 12 +-- .../en-us/about_SPManagedPath.help.txt | 16 ++-- ...about_SPOfficeOnlineServerBinding.help.txt | 16 ++-- .../about_SPOutgoingEmailSettings.help.txt | 14 +-- .../about_SPPasswordChangeSettings.help.txt | 12 +-- ...bout_SPPerformancePointServiceApp.help.txt | 6 +- .../en-us/about_SPProductUpdate.help.txt | 26 +++-- ...about_SPPublishServiceApplication.help.txt | 25 ++--- .../en-us/about_SPQuotaTemplate.help.txt | 8 +- .../en-us/about_SPRemoteFarmTrust.help.txt | 8 +- .../about_SPSearchContentSource.help.txt | 5 +- .../en-us/about_SPSearchCrawlRule.help.txt | 6 +- .../en-us/about_SPSearchFileType.help.txt | 94 +++++++++++++++++++ .../about_SPSearchIndexPartition.help.txt | 27 +++--- .../en-us/about_SPSearchResultSource.help.txt | 20 ++-- .../en-us/about_SPSearchServiceApp.help.txt | 16 ++-- .../en-us/about_SPSearchTopology.help.txt | 31 +++--- .../about_SPSecureStoreServiceApp.help.txt | 10 +- .../en-us/about_SPServiceAppPool.help.txt | 8 +- .../about_SPServiceAppProxyGroup.help.txt | 25 ++--- .../en-us/about_SPServiceAppSecurity.help.txt | 26 ++--- .../en-us/about_SPServiceInstance.help.txt | 8 +- .../about_SPSessionStateService.help.txt | 8 +- .../en-us/about_SPShellAdmins.help.txt | 43 +++++---- .../SharePointDsc/en-us/about_SPSite.help.txt | 12 +-- .../en-us/about_SPStateServiceApp.help.txt | 6 +- ..._SPSubscriptionSettingsServiceApp.help.txt | 18 ++-- .../en-us/about_SPTimerJobState.help.txt | 28 +++--- ...bout_SPTrustedIdentityTokenIssuer.help.txt | 33 ++++--- .../en-us/about_SPUsageApplication.help.txt | 8 +- .../about_SPUserProfileProperty.help.txt | 16 ++-- .../en-us/about_SPUserProfileSection.help.txt | 9 +- .../about_SPUserProfileServiceApp.help.txt | 16 ++-- ...PUserProfileServiceAppPermissions.help.txt | 10 +- ...about_SPUserProfileSyncConnection.help.txt | 7 +- .../about_SPUserProfileSyncService.help.txt | 22 ++--- .../en-us/about_SPVisioServiceApp.help.txt | 8 +- .../SharePointDsc/en-us/about_SPWeb.help.txt | 6 +- .../about_SPWebAppBlockedFileTypes.help.txt | 24 ++--- .../about_SPWebAppGeneralSettings.help.txt | 12 +-- .../en-us/about_SPWebAppPermissions.help.txt | 10 +- .../en-us/about_SPWebAppPolicy.help.txt | 29 +++--- .../en-us/about_SPWebAppProxyGroup.help.txt | 17 ++-- .../about_SPWebAppSiteUseAndDeletion.help.txt | 10 +- .../about_SPWebAppThrottlingSettings.help.txt | 16 ++-- .../about_SPWebAppWorkflowSettings.help.txt | 12 +-- .../en-us/about_SPWebApplication.help.txt | 10 +- .../about_SPWebApplicationAppDomain.help.txt | 12 +-- .../about_SPWordAutomationServiceApp.help.txt | 15 +-- .../about_SPWorkManagementServiceApp.help.txt | 20 ++-- 79 files changed, 752 insertions(+), 586 deletions(-) create mode 100644 Modules/SharePointDsc/en-us/about_SPSearchFileType.help.txt diff --git a/Modules/SharePointDsc/SharePointDsc.psd1 b/Modules/SharePointDsc/SharePointDsc.psd1 index 76debd5fc..31fbaee1c 100644 --- a/Modules/SharePointDsc/SharePointDsc.psd1 +++ b/Modules/SharePointDsc/SharePointDsc.psd1 @@ -126,40 +126,22 @@ PrivateData = @{ # ReleaseNotes of this module ReleaseNotes = ' - * Set-TargetResource of Service Application now also removes all associated proxies - * Fixed issue with all SPServiceApplication for OS not in En-Us language, add GetType().FullName method in: - - SPAccessServiceApp - - SPAppManagementServiceApp - - SPBCSServiceApp - - SPExcelServiceApp - - SPManagedMetaDataServiceApp - - SPPerformancePointServiceApp - - SPSearchServiceApp - - SPSearchCrawlRule - - SPSecureStoreServiceApp - - SPSubscriptionSettingsServiceApp - - SPUsageApplication - - SPUserProfileServiceApp - - SPVisioServiceApp - - SPWordAutomationServiceApp - - SPWorkManagementServiceApp - * Fixed issue with SPServiceInstance for OS not in En-Us language, add GetType().Name method in: - - SPDistributedCacheService - - SPUserProfileSyncService - * Fixed issue with SPInstallLanguagePack to install before farm creation - * Fixed issue with mounting SPContentDatabase - * Fixed issue with SPShellAdmin and Content Database method - * Fixed issue with SPServiceInstance (Set-TargetResource) for OS not in En-Us language - * Added .Net 4.6 support check to SPInstall and SPInstallPrereqs - * Improved code styling - * SPVisioServiceapplication now creates proxy and lets you specify a name for it - * New resources: SPAppStoreSettings - * Fixed bug with SPInstallPrereqs to allow minor version changes to prereqs for SP2016 - * Refactored unit tests to consolidate and streamline test approaches - * Updated SPExcelServiceApp resource to add support for trusted file locations and most other properties of the service app - * Added support to SPMetadataServiceApp to allow changing content type hub URL on existing service apps - * Fixed a bug that would cause SPSearchResultSource to throw exceptions when the enterprise search centre URL has not been set - * Updated documentation of SPProductUpdate to reflect the required install order of product updates +* Fixed issue with SPManagedMetaDataServiceApp if ContentTypeHubUrl parameter is + null +* Added minimum PowerShell version to module manifest +* Added testing for valid markdown syntax to unit tests +* Added support for MinRole enhancements added in SP2016 Feature Pack 1 +* Fixed bug with search topology that caused issues with names of servers needing + to all be the same case +* Fixed bug in SPInstallLanguagePack where language packs could not be installed + on SharePoint 2016 +* Added new resource SPSearchFileType +* Updated SPDatabaseAAG to allow database name patterns +* Fixed a bug were PerformancePoint and Excel Services Service Application + proxies would not be added to the default proxy group when they are + provisioned +* Added an error catch to provide more detail about running SPAppCatalog with + accounts other than the farm account ' } # End of PSData hashtable diff --git a/Modules/SharePointDsc/en-us/about_SPAccessServiceApp.help.txt b/Modules/SharePointDsc/en-us/about_SPAccessServiceApp.help.txt index 05cb6156a..97a87c451 100644 --- a/Modules/SharePointDsc/en-us/about_SPAccessServiceApp.help.txt +++ b/Modules/SharePointDsc/en-us/about_SPAccessServiceApp.help.txt @@ -1,11 +1,11 @@ .NAME SPAccessServiceApp -.DESCRIPTION +# Description - This resource is responsible for creating Access Services Application instances within the local - SharePoint farm. The resource will provision and configure the Access Services Service - Application. + This resource is responsible for creating Access Services Application instances + within the local SharePoint farm. The resource will provision and configure the + Access Services Service Application. .PARAMETER Name Key - string diff --git a/Modules/SharePointDsc/en-us/about_SPAlternateUrl.help.txt b/Modules/SharePointDsc/en-us/about_SPAlternateUrl.help.txt index 38241556d..7b760f0c1 100644 --- a/Modules/SharePointDsc/en-us/about_SPAlternateUrl.help.txt +++ b/Modules/SharePointDsc/en-us/about_SPAlternateUrl.help.txt @@ -1,11 +1,12 @@ .NAME SPAlternateUrl -.DESCRIPTION +# Description - This resource is used to define an alternate access mapping URL for a specified web application. - These can be assigned to specific zones for each web application. Alternatively a URL can be - removed from a zone to ensure that it will remain empty and have no alternate URL. + This resource is used to define an alternate access mapping URL for a specified + web application. These can be assigned to specific zones for each web + application. Alternatively a URL can be removed from a zone to ensure that it + will remain empty and have no alternate URL. .PARAMETER WebAppUrl Key - String diff --git a/Modules/SharePointDsc/en-us/about_SPAntivirusSettings.help.txt b/Modules/SharePointDsc/en-us/about_SPAntivirusSettings.help.txt index 12596784b..e5310458b 100644 --- a/Modules/SharePointDsc/en-us/about_SPAntivirusSettings.help.txt +++ b/Modules/SharePointDsc/en-us/about_SPAntivirusSettings.help.txt @@ -1,12 +1,13 @@ .NAME SPAntivirusSettings -.DESCRIPTION +# Description - This resource is used to set the global antivirus settings for the local farm. These settings - will be used to control the behavior of an external anti-virus scanning tool that is able to - integrate with SharePoint. Note that this will not scan documents for viruses on it's own, an - external tool still needs to be installed on the servers that integrates with SharePoint. + This resource is used to set the global antivirus settings for the local farm. + These settings will be used to control the behavior of an external anti-virus + scanning tool that is able to integrate with SharePoint. Note that this will + not scan documents for viruses on it's own, an external tool still needs to be + installed on the servers that integrates with SharePoint. .PARAMETER ScanOnDownload Key - Boolean diff --git a/Modules/SharePointDsc/en-us/about_SPAppCatalog.help.txt b/Modules/SharePointDsc/en-us/about_SPAppCatalog.help.txt index 112ef45cf..7503bc167 100644 --- a/Modules/SharePointDsc/en-us/about_SPAppCatalog.help.txt +++ b/Modules/SharePointDsc/en-us/about_SPAppCatalog.help.txt @@ -1,11 +1,15 @@ .NAME SPAppCatalog -.DESCRIPTION +# Description - This resource will ensure that a specific site collection is marked as the app catalog for - the web application that the site is in. The catalog site needs to have been created using - the correct template (APPCATALOG#0). + This resource will ensure that a specific site collection is marked as the app + catalog for the web application that the site is in. The catalog site needs to + have been created using the correct template (APPCATALOG#0). + + This resource should be run using the farm account, and not another specific + setup account. Running this with the setup account you have used in your + configuration may relate to access denied errors. .PARAMETER SiteUrl Key - string diff --git a/Modules/SharePointDsc/en-us/about_SPAppDomain.help.txt b/Modules/SharePointDsc/en-us/about_SPAppDomain.help.txt index 249705dcd..a0dd1da87 100644 --- a/Modules/SharePointDsc/en-us/about_SPAppDomain.help.txt +++ b/Modules/SharePointDsc/en-us/about_SPAppDomain.help.txt @@ -1,10 +1,10 @@ .NAME SPAppDomain -.DESCRIPTION +# Description - This resource will set the value for the app domain settings at the farm level. You can set the - domain name and the prefix that is to be used for app URLs. + This resource will set the value for the app domain settings at the farm level. + You can set the domain name and the prefix that is to be used for app URLs. .PARAMETER AppDomain Key - string diff --git a/Modules/SharePointDsc/en-us/about_SPAppManagementServiceApp.help.txt b/Modules/SharePointDsc/en-us/about_SPAppManagementServiceApp.help.txt index adc96454f..19a8de71d 100644 --- a/Modules/SharePointDsc/en-us/about_SPAppManagementServiceApp.help.txt +++ b/Modules/SharePointDsc/en-us/about_SPAppManagementServiceApp.help.txt @@ -1,14 +1,16 @@ .NAME SPAppManagementServiceApp -.DESCRIPTION +# Description - This resource is used to provision and manage an instance of the App Management Services - Service Application. It will identify an instance of the app management service application - through the application display name. Currently the resource will provision the app if it does - not yet exist, and will change the application pool associated to the app if it does not match - the configuration. Database names or server name will not be changed if the configuration does - not match, these parameters are only used for the initial provisioning of the service application. + This resource is used to provision and manage an instance of the App Management + Services Service Application. It will identify an instance of the app + management service application through the application display name. Currently + the resource will provision the app if it does not yet exist, and will change + the application pool associated to the app if it does not match the + configuration. Database names or server name will not be changed if the + configuration does not match, these parameters are only used for the initial + provisioning of the service application. .PARAMETER Name Key - string diff --git a/Modules/SharePointDsc/en-us/about_SPAppStoreSettings.help.txt b/Modules/SharePointDsc/en-us/about_SPAppStoreSettings.help.txt index 5ab234e60..20fc57d6c 100644 --- a/Modules/SharePointDsc/en-us/about_SPAppStoreSettings.help.txt +++ b/Modules/SharePointDsc/en-us/about_SPAppStoreSettings.help.txt @@ -1,9 +1,10 @@ .NAME SPAppStoreSettings -.DESCRIPTION +# Description - This resource will configure the ability to purchase apps for both SharePoint and Office apps. + This resource will configure the ability to purchase apps for both SharePoint + and Office apps. .PARAMETER WebAppUrl Key - string diff --git a/Modules/SharePointDsc/en-us/about_SPBCSServiceApp.help.txt b/Modules/SharePointDsc/en-us/about_SPBCSServiceApp.help.txt index 5ffa7d311..ce665a340 100644 --- a/Modules/SharePointDsc/en-us/about_SPBCSServiceApp.help.txt +++ b/Modules/SharePointDsc/en-us/about_SPBCSServiceApp.help.txt @@ -1,14 +1,16 @@ .NAME SPBCSServiceApp -.DESCRIPTION +# Description - This resource is used to provision and manage an instance of the Business Connectivity Services - Service Application. It will identify an instance of the BCS app through the application - display name. Currently the resource will provision the app if it does not yet exist, and will - change the service account associated to the app if it does not match the configuration. Database - names or server name will not be changed if the configuration does not match, these parameters - are only used for the initial provisioning of the service application. + This resource is used to provision and manage an instance of the Business + Connectivity Services Service Application. It will identify an instance + of the BCS app through the application display name. Currently the resource + will provision the app if it does not yet exist, and will change the service + account associated to the app if it does not match the configuration. Database + names or server name will not be changed if the configuration does not match, + these parameters are only used for the initial provisioning of the service + application. .PARAMETER Name Key - string diff --git a/Modules/SharePointDsc/en-us/about_SPBlobCacheSettings.help.txt b/Modules/SharePointDsc/en-us/about_SPBlobCacheSettings.help.txt index 8a416d7e6..f1bf121a8 100644 --- a/Modules/SharePointDsc/en-us/about_SPBlobCacheSettings.help.txt +++ b/Modules/SharePointDsc/en-us/about_SPBlobCacheSettings.help.txt @@ -1,23 +1,26 @@ .NAME SPBlobCacheSettings -.DESCRIPTION +# Description - This resource is used to configure the Blob Cache settings for a web application. + This resource is used to configure the Blob Cache settings for a web + application. Important: - This resource only configures the local server. It changes the web.config file directly - and is NOT using the SPWebConfigModifications class. In order to configure all WFE servers - in the farm, you have to apply this resource to all servers. + This resource only configures the local server. It changes the web.config + file directly and is NOT using the SPWebConfigModifications class. In order + to configure all WFE servers in the farm, you have to apply this resource + to all servers. Note: - - In order to prevent inconsistancy between different web front end servers, make sure you - configure this setting on all servers equally. + + - In order to prevent inconsistancy between different web front end servers, + make sure you configure this setting on all servers equally. - If the specified folder does not exist, the resource will create the folder. Best practice: - Specify a directory that is not on the same drive as where either the server operating system - swap files or server log files are stored. + Specify a directory that is not on the same drive as where either the server + operating system swap files or server log files are stored. .PARAMETER WebAppUrl Key - string diff --git a/Modules/SharePointDsc/en-us/about_SPCacheAccounts.help.txt b/Modules/SharePointDsc/en-us/about_SPCacheAccounts.help.txt index 407091fc6..cdc335f2d 100644 --- a/Modules/SharePointDsc/en-us/about_SPCacheAccounts.help.txt +++ b/Modules/SharePointDsc/en-us/about_SPCacheAccounts.help.txt @@ -1,11 +1,11 @@ .NAME SPCacheAccounts -.DESCRIPTION +# Description - This resource is used to set the "super user" and "super reader" cache accounts for the - specified web application object (as described in the TechNet article [Configure object - cache user accounts in SharePoint Server 2013](https://technet.microsoft.com/en-us/library/ff758656.aspx)). + This resource is used to set the "super user" and "super reader" cache accounts + for the specified web application object (as described in the TechNet article + [Configure object cache user accounts in SharePoint Server 2013](https://technet.microsoft.com/en-us/library/ff758656.aspx)). .PARAMETER WebAppUrl Key - string diff --git a/Modules/SharePointDsc/en-us/about_SPConfigWizard.help.txt b/Modules/SharePointDsc/en-us/about_SPConfigWizard.help.txt index e5a65e2de..c61bfe6e6 100644 --- a/Modules/SharePointDsc/en-us/about_SPConfigWizard.help.txt +++ b/Modules/SharePointDsc/en-us/about_SPConfigWizard.help.txt @@ -1,11 +1,13 @@ .NAME SPConfigWizard -.DESCRIPTION +# Description - This resource is used to perform the upgrade step of installing SharePoint updates, like Cumulative Updates, Service Packs and Language Packs. - The DatabaseUpgradeDays and DatabaseUpgradeTime parameters specify a window in which the update can be installed. - This module has to be used to complete the update installation step, performed by SPProductUpdate. + This resource is used to perform the upgrade step of installing SharePoint + updates, like Cumulative Updates, Service Packs and Language Packs. The + DatabaseUpgradeDays and DatabaseUpgradeTime parameters specify a window in + which the update can be installed. This module has to be used to complete the + update installation step, performed by SPProductUpdate. .PARAMETER Ensure Key - string diff --git a/Modules/SharePointDsc/en-us/about_SPContentDatabase.help.txt b/Modules/SharePointDsc/en-us/about_SPContentDatabase.help.txt index 9494478cd..3d4e5a760 100644 --- a/Modules/SharePointDsc/en-us/about_SPContentDatabase.help.txt +++ b/Modules/SharePointDsc/en-us/about_SPContentDatabase.help.txt @@ -1,12 +1,13 @@ .NAME SPContentDatabase -.DESCRIPTION +# Description - This resource is used to add and remove Content Databases to web applications and configure - these databases. Note: The resource cannot be used to move the database to a different - SQL instance. It will throw an error when it detects that the specified SQL instance is a - different instance that is currently in use. + This resource is used to add and remove Content Databases to web applications + and configure these databases. Note: The resource cannot be used to move the + database to a different SQL instance. It will throw an error when it detects + that the specified SQL instance is a different instance that is currently in + use. .PARAMETER Name Key - String diff --git a/Modules/SharePointDsc/en-us/about_SPCreateFarm.help.txt b/Modules/SharePointDsc/en-us/about_SPCreateFarm.help.txt index 55d41388a..9b4ee349a 100644 --- a/Modules/SharePointDsc/en-us/about_SPCreateFarm.help.txt +++ b/Modules/SharePointDsc/en-us/about_SPCreateFarm.help.txt @@ -1,27 +1,31 @@ .NAME SPCreateFarm -.DESCRIPTION +# Description - This resource is used to provision a new SharePoint farm. It should only be used on the first - server in the farm to create the configuration database, all servers to join the farm after the - first server creates the configuration database should use SPJoinFarm. Once the config DB has - been created, the resource will install local help collections, secure resources, activate + This resource is used to provision a new SharePoint farm. It should only be + used on the first server in the farm to create the configuration database, all + servers to join the farm after the first server creates the configuration + database should use SPJoinFarm. Once the config DB has been created, the + resource will install local help collections, secure resources, activate features and provision the central admin site. - The passphrase is passed as a Credential object.The username of this credential is ignored, only - the value of the password is used as the farm passphrase. + The passphrase is passed as a Credential object.The username of this + credential is ignored, only the value of the password is used as the farm + passphrase. - The port of the Central Admin website can be set by using the CentralAdministrationPort property, - if this is not defined the site will be provisioned on port 9999. However this setting will not - impact existing deployments that already have Central Admin provisioned on another port. Also when - a farm is created, the current behavior is to not enroll the server as a cache server (which is - the default behavior of SharePoint). This means you need to use SPDistributedCacheService on at - least one server in the farm to designate it as a cache server. + The port of the Central Admin website can be set by using the + CentralAdministrationPort property, if this is not defined the site will be + provisioned on port 9999. However this setting will not impact existing + deployments that already have Central Admin provisioned on another port. Also + when a farm is created, the current behavior is to not enroll the server as a + cache server (which is the default behavior of SharePoint). This means you + need to use SPDistributedCacheService on at least one server in the farm to + designate it as a cache server. - CentralAdministrationAuth can be specified as "NTLM" or "KERBEROS". If not specified, it defaults - to NTLM. If using Kerberos, make sure to have appropriate SPNs setup for Farm account and Central - Administration URI. + CentralAdministrationAuth can be specified as "NTLM" or "KERBEROS". If not + specified, it defaults to NTLM. If using Kerberos, make sure to have + appropriate SPNs setup for Farm account and Central Administration URI. .PARAMETER FarmConfigDatabaseName Key - String @@ -54,7 +58,7 @@ .PARAMETER ServerRole Write - string - Allowed values: Application, Custom, DistributedCache, Search, SingleServer, SingleServerFarm, SpecialLoad, WebFrontEnd + Allowed values: Application, ApplicationWithSearch, Custom, DistributedCache, Search, SingleServer, SingleServerFarm, WebFrontEnd, WebFrontEndWithDistributedCache SharePoint 2016 only - the MinRole role to enroll this server as .PARAMETER InstallAccount diff --git a/Modules/SharePointDsc/en-us/about_SPDatabaseAAG.help.txt b/Modules/SharePointDsc/en-us/about_SPDatabaseAAG.help.txt index 3e6224eff..88c8d3578 100644 --- a/Modules/SharePointDsc/en-us/about_SPDatabaseAAG.help.txt +++ b/Modules/SharePointDsc/en-us/about_SPDatabaseAAG.help.txt @@ -1,11 +1,20 @@ .NAME SPDatabaseAAG -.DESCRIPTION +# Description - This resource will allow specifying which SQL Server AlwaysOn Availability group a - resource should be in. This resource does not configure the Availability Groups on - SQL Server, they must already exist. It simply adds the specified database to the group. + This resource will allow specifying which SQL Server AlwaysOn Availability + group a resource should be in. This resource does not configure the + Availability Groups on SQL Server, they must already exist. It simply adds + the specified database to the group. + + You can add a single database name by specifying the database name, or + multiple databases by specifying wildcards. For example: + SP_Content* or *Content* + + Important: + This resource requires the April 2014 CU to be installed. The required + cmdlets have been added in this CU: http://support.microsoft.com/kb/2880551 .PARAMETER DatabaseName Key - string @@ -55,6 +64,32 @@ } +.EXAMPLE + This example takes existing SharePoint databases, based on the database name pattern, and puts + them in to the specified AlwaysOn Availability Group (AAG). + + + Configuration Example + { + param( + [Parameter(Mandatory = $true)] + [PSCredential] + $SetupAccount + ) + Import-DscResource -ModuleName SharePointDsc + + node localhost { + SPDatabaseAAG ConfigDBAAG + { + DatabaseName = "*Content*" + AGName = "MyAvailabilityGroup" + FileShare = "\\SQL\Backups" + PsDscRunAsCredential = $SetupAccount + } + } + } + + .EXAMPLE This example removes a database from the specified AlwaysOn Availability Group (AAG) diff --git a/Modules/SharePointDsc/en-us/about_SPDesignerSettings.help.txt b/Modules/SharePointDsc/en-us/about_SPDesignerSettings.help.txt index 85679ed9a..29abe027d 100644 --- a/Modules/SharePointDsc/en-us/about_SPDesignerSettings.help.txt +++ b/Modules/SharePointDsc/en-us/about_SPDesignerSettings.help.txt @@ -1,23 +1,24 @@ .NAME SPDesignerSettings -.DESCRIPTION +# Description - This resource is used to set the SharePoint Designer settings for the local farm or site - collections. These settings will be used to control if users are allowed to make changes - using SharePoint Designer. Note that this will not prevent users from installing - SharePoint Designer, just from using SharePoint Designer to connect to the farm. + This resource is used to set the SharePoint Designer settings for the local + farm or site collections. These settings will be used to control if users are + allowed to make changes using SharePoint Designer. Note that this will not + prevent users from installing SharePoint Designer, just from using SharePoint + Designer to connect to the farm. - Settings can be applied against an entire web application, or a specific site collection. - Use the "SettingsScope" property to set it to either "WebApplication" or "SiteCollection" - to define which you are targetting. + Settings can be applied against an entire web application, or a specific site + collection. Use the "SettingsScope" property to set it to either + "WebApplication" or "SiteCollection" to define which you are targetting. Known issue: - When using PowerShell v4 or PowerShell v5 with the InstallAccount switch (instead of - PsDscRunAsCredential), you cannot use the SettingsScope "SiteCollection". Due to an issue - with Remote PowerShell and SharePoint, changing the Site Collection settings results in - an Access Denied error. Consider implementing PowerShell v5 and switching to the - PsDscRunAsCredential configuration. + When using PowerShell v4 or PowerShell v5 with the InstallAccount switch + (instead of PsDscRunAsCredential), you cannot use the SettingsScope + "SiteCollection". Due to an issue with Remote PowerShell and SharePoint, + changing the Site Collection settings results in an Access Denied error. + Consider implementing PowerShell v5 and switching to the PsDscRunAsCredential .PARAMETER Url Key - string diff --git a/Modules/SharePointDsc/en-us/about_SPDiagnosticLoggingSettings.help.txt b/Modules/SharePointDsc/en-us/about_SPDiagnosticLoggingSettings.help.txt index c664698f4..b66029c17 100644 --- a/Modules/SharePointDsc/en-us/about_SPDiagnosticLoggingSettings.help.txt +++ b/Modules/SharePointDsc/en-us/about_SPDiagnosticLoggingSettings.help.txt @@ -1,12 +1,12 @@ .NAME SPDiagnosticLoggingSettings -.DESCRIPTION +# Description - This resource is responsible for configuring settings to do with the diagnostic - (ULS) logging on servers in the farm. These settings are applied to the diagnostic - logging service for the farm and do not need to be applied to each server individually, - the settings will be propagated throughout the farm when they are set. + This resource is responsible for configuring settings to do with the diagnostic + (ULS) logging on servers in the farm. These settings are applied to the + diagnostic logging service for the farm and do not need to be applied to each + server individually, the settings will be propagated throughout the farm when .PARAMETER LogPath Key - string diff --git a/Modules/SharePointDsc/en-us/about_SPDistributedCacheService.help.txt b/Modules/SharePointDsc/en-us/about_SPDistributedCacheService.help.txt index 53f0d3a37..3efe3a103 100644 --- a/Modules/SharePointDsc/en-us/about_SPDistributedCacheService.help.txt +++ b/Modules/SharePointDsc/en-us/about_SPDistributedCacheService.help.txt @@ -1,25 +1,27 @@ .NAME SPDistributedCacheService -.DESCRIPTION +# Description - This resource is responsible for provisioning the distributed cache to the service it - runs on. This is required in your farm on at least one server (as the behavior of - SPCreateFarm and SPJoinFarm is to not enroll every server as a cache server). The service - will be provisioned or de-provisioned based on the Ensure property, and when provisioned - the CacheSizeInMB property and ServiceAccount property will be used to configure it. The - property createFirewallRules is used to determine if exceptions should be added to the - windows firewall to allow communication between servers on the appropriate ports. + This resource is responsible for provisioning the distributed cache to the + service it runs on. This is required in your farm on at least one server (as + the behavior of SPCreateFarm and SPJoinFarm is to not enroll every server as a + cache server). The service will be provisioned or de-provisioned based on the + Ensure property, and when provisioned the CacheSizeInMB property and + ServiceAccount property will be used to configure it. The property + createFirewallRules is used to determine if exceptions should be added to the + windows firewall to allow communication between servers on the appropriate + ports. - The ServerProvisionOrder optional property is used when a pull server is handing out - configurations to nodes in order to tell this resource about a specific order of enabling - the caches. This allows for multiple servers to receive the same configuration, but they - will always check for the server before them in the list first to ensure that it is running - distributed cache. By doing this you can ensure that you do not create conflicts with two - or more servers provisioning a cache at the same time. Note, this approach only makes a - server check the others for distributed cache, it does not provision the cache automatically - on all servers. If a previous server in the sequence does not appear to be running - distributed cache after 30 minutes, the local server that was waiting will begin anyway. + The ServerProvisionOrder optional property is used when a pull server is + handing out configurations to nodes in order to tell this resource about a + specific order of enabling the caches. This allows for multiple servers to + receive the same configuration, but they will always check for the server + before them in the list first to ensure that it is running distributed cache. + By doing this you can ensure that you do not create conflicts with two or more + servers provisioning a cache at the same time. Note, this approach only makes + a server check the others for distributed cache, it does not provision the + cache automatically on all servers. If a previous server in the sequence does .PARAMETER Name Key - String diff --git a/Modules/SharePointDsc/en-us/about_SPExcelServiceApp.help.txt b/Modules/SharePointDsc/en-us/about_SPExcelServiceApp.help.txt index 0d8f16088..c030f81a1 100644 --- a/Modules/SharePointDsc/en-us/about_SPExcelServiceApp.help.txt +++ b/Modules/SharePointDsc/en-us/about_SPExcelServiceApp.help.txt @@ -1,10 +1,10 @@ .NAME SPExcelServiceApp -.DESCRIPTION +# Description - This resource is responsible for creating Excel Services Application instances - within the local SharePoint farm. The resource will provision and configure the + This resource is responsible for creating Excel Services Application instances + within the local SharePoint farm. The resource will provision and configure the Excel Services Service Application. .PARAMETER Name diff --git a/Modules/SharePointDsc/en-us/about_SPFarmAdministrators.help.txt b/Modules/SharePointDsc/en-us/about_SPFarmAdministrators.help.txt index 63a364585..96503b5a9 100644 --- a/Modules/SharePointDsc/en-us/about_SPFarmAdministrators.help.txt +++ b/Modules/SharePointDsc/en-us/about_SPFarmAdministrators.help.txt @@ -1,17 +1,17 @@ .NAME SPFarmAdministrators -.DESCRIPTION +# Description - This resource is used to manage the membership of the farm administrators group. - There are a number of approaches to how this can be implemented. The "members" - property will set a specific list of members for the group, making sure that every - user/group in the list is in the group and all others that are members and who are - not in this list will be removed. The "MembersToInclude" and "MembersToExclude" - properties will allow you to control a specific set of users to add or remove, - without changing any other members that are in the group already that may not be - specified here, allowing for some manual management outside of this configuration - resource. + This resource is used to manage the membership of the farm administrators + group. There are a number of approaches to how this can be implemented. The + "members" property will set a specific list of members for the group, making + sure that every user/group in the list is in the group and all others that are + members and who are not in this list will be removed. The "MembersToInclude" + and "MembersToExclude" properties will allow you to control a specific set of + users to add or remove, without changing any other members that are in the + group already that may not be specified here, allowing for some manual + management outside of this configuration resource. .PARAMETER Name Key - String diff --git a/Modules/SharePointDsc/en-us/about_SPFarmSolution.help.txt b/Modules/SharePointDsc/en-us/about_SPFarmSolution.help.txt index e12343f14..9815b9600 100644 --- a/Modules/SharePointDsc/en-us/about_SPFarmSolution.help.txt +++ b/Modules/SharePointDsc/en-us/about_SPFarmSolution.help.txt @@ -1,14 +1,14 @@ .NAME SPFarmSolution -.DESCRIPTION +# Description - This resource is used to make sure that a specific farm solution is either present or - absent in a farm. The solution can be deployed to one or more web application passing - an array of URL's to the WebApplications property. If the solution contains resources - scoped for web applications and no WebApplications are specified, the solution will be - deployed to all web applications. If the solution does not contain resources scoped for - web applications the property is ignored and the solution is deployed globally. + This resource is used to make sure that a specific farm solution is either + present or absent in a farm. The solution can be deployed to one or more web + application passing an array of URL's to the WebApplications property. If the + solution contains resources scoped for web applications and no WebApplications + are specified, the solution will be deployed to all web applications. If the + solution does not contain resources scoped for web applications the property .PARAMETER Name Key - string diff --git a/Modules/SharePointDsc/en-us/about_SPFeature.help.txt b/Modules/SharePointDsc/en-us/about_SPFeature.help.txt index 84849413b..5098c5c39 100644 --- a/Modules/SharePointDsc/en-us/about_SPFeature.help.txt +++ b/Modules/SharePointDsc/en-us/about_SPFeature.help.txt @@ -1,12 +1,12 @@ .NAME SPFeature -.DESCRIPTION +# Description - This resource is used to make sure that a specific feature is either enabled or disabled - at a given URL/scope. The Ensure property will dictate if the feature should be on or - off. The name property is the name of the feature based on its folder name in the - FEATURES folder in the SharePoint hive directory. + This resource is used to make sure that a specific feature is either enabled + or disabled at a given URL/scope. The Ensure property will dictate if the + feature should be on or off. The name property is the name of the feature + based on its folder name in the FEATURES folder in the SharePoint hive .PARAMETER Name Key - string diff --git a/Modules/SharePointDsc/en-us/about_SPHealthAnalyzerRuleState.help.txt b/Modules/SharePointDsc/en-us/about_SPHealthAnalyzerRuleState.help.txt index 8203345e4..cf4d28a54 100644 --- a/Modules/SharePointDsc/en-us/about_SPHealthAnalyzerRuleState.help.txt +++ b/Modules/SharePointDsc/en-us/about_SPHealthAnalyzerRuleState.help.txt @@ -1,10 +1,10 @@ .NAME SPHealthAnalyzerRuleState -.DESCRIPTION +# Description - This resource is used to configure Health Analyzer rules for the local farm. The - resource is able to enable/disable and configure the specified rule. + This resource is used to configure Health Analyzer rules for the local farm. + The resource is able to enable/disable and configure the specified rule. .PARAMETER Name Key - String diff --git a/Modules/SharePointDsc/en-us/about_SPInstall.help.txt b/Modules/SharePointDsc/en-us/about_SPInstall.help.txt index 9c9656f0d..0c7987e6d 100644 --- a/Modules/SharePointDsc/en-us/about_SPInstall.help.txt +++ b/Modules/SharePointDsc/en-us/about_SPInstall.help.txt @@ -1,13 +1,13 @@ .NAME SPInstall -.DESCRIPTION +# Description - This resource is used to install the SharePoint binaries. The BinaryDir parameter should - point to the path that setup.exe is located (not to setup.exe itself). The ProductKey - parameter is used to inject in to the configuration file and validate the license key - during the installation process. This module depends on the prerequisites already being - installed, which can be done through the use of SPInstallPreReqs. + This resource is used to install the SharePoint binaries. The BinaryDir + parameter should point to the path that setup.exe is located (not to setup.exe + itself). The ProductKey parameter is used to inject in to the configuration + file and validate the license key during the installation process. This module + depends on the prerequisites already being installed, which can be done .PARAMETER BinaryDir Key - String diff --git a/Modules/SharePointDsc/en-us/about_SPInstallLanguagePack.help.txt b/Modules/SharePointDsc/en-us/about_SPInstallLanguagePack.help.txt index 925c9fb16..3d194324d 100644 --- a/Modules/SharePointDsc/en-us/about_SPInstallLanguagePack.help.txt +++ b/Modules/SharePointDsc/en-us/about_SPInstallLanguagePack.help.txt @@ -1,12 +1,12 @@ .NAME SPInstallLanguagePack -.DESCRIPTION +# Description - This resource is used to install the SharePoint Language Pack binaries. The BinaryDir parameter should - point to the path that setup.exe is located (not to setup.exe itself). - The BinaryInstallDays and BinaryInstallTime parameters specify a window in which the update can be installed. - This module depends on SharePoint already being installed, which can be done through the use of SPInstall. + This resource is used to install the SharePoint Language Pack binaries. The + BinaryDir parameter should point to the path that setup.exe is located (not to + setup.exe itself). The BinaryInstallDays and BinaryInstallTime parameters + specify a window in which the update can be installed. This module depends on .PARAMETER BinaryDir Key - String diff --git a/Modules/SharePointDsc/en-us/about_SPInstallPrereqs.help.txt b/Modules/SharePointDsc/en-us/about_SPInstallPrereqs.help.txt index 909718ba8..292d24023 100644 --- a/Modules/SharePointDsc/en-us/about_SPInstallPrereqs.help.txt +++ b/Modules/SharePointDsc/en-us/about_SPInstallPrereqs.help.txt @@ -1,22 +1,24 @@ .NAME SPInstallPrereqs -.DESCRIPTION +# Description - This resource is responsible for ensuring the installation of all SharePoint prerequisites. - It makes use of the PrerequisiteInstaller.exe file that is part of the SharePoint binaries, - and will install the required Windows features as well as additional software. The - OnlineMode boolean will tell the prerequisite installer which mode to run in, if it is - online you do not need to list any other parameters for this resource. If you do not use - online mode, you must include all other parameters to specify where the installation files - are located. These additional parameters map directly to the options passed to - prerequisiteinstaller.exe. For installations with no connectivity to Windows Update, use the - SXSpath parameter to specify the path to the SXS store of your Windows Server install media. + This resource is responsible for ensuring the installation of all SharePoint + prerequisites. It makes use of the PrerequisiteInstaller.exe file that is part + of the SharePoint binaries, and will install the required Windows features as + well as additional software. The OnlineMode boolean will tell the prerequisite + installer which mode to run in, if it is online you do not need to list any + other parameters for this resource. If you do not use online mode, you must + include all other parameters to specify where the installation files are + located. These additional parameters map directly to the options passed to + prerequisiteinstaller.exe. For installations with no connectivity to Windows + Update, use the SXSpath parameter to specify the path to the SXS store of your + Windows Server install media. - Additionally, the process of installing the prerequisites on a Windows Server usually results - in 2-3 restarts of the system being required. To ensure the DSC configuration is able to - restart the server when needed, ensure the below settings for the local configuration manager - are included in your DSC file. + Additionally, the process of installing the prerequisites on a Windows Server + usually results in 2-3 restarts of the system being required. To ensure the + DSC configuration is able to restart the server when needed, ensure the below + settings for the local configuration manager are included in your DSC file. LocalConfigurationManager { diff --git a/Modules/SharePointDsc/en-us/about_SPIrmSettings.help.txt b/Modules/SharePointDsc/en-us/about_SPIrmSettings.help.txt index 0be9f0de5..e76d4df35 100644 --- a/Modules/SharePointDsc/en-us/about_SPIrmSettings.help.txt +++ b/Modules/SharePointDsc/en-us/about_SPIrmSettings.help.txt @@ -1,9 +1,10 @@ .NAME SPIrmSettings -.DESCRIPTION +# Description - This resource is used to manipulate the IRM settings in SharePoint, integrating it with AD RMS + This resource is used to manipulate the IRM settings in SharePoint, integrating + it with AD RMS .PARAMETER Ensure Key - String diff --git a/Modules/SharePointDsc/en-us/about_SPJoinFarm.help.txt b/Modules/SharePointDsc/en-us/about_SPJoinFarm.help.txt index f7599d35d..26e0fd302 100644 --- a/Modules/SharePointDsc/en-us/about_SPJoinFarm.help.txt +++ b/Modules/SharePointDsc/en-us/about_SPJoinFarm.help.txt @@ -1,15 +1,15 @@ .NAME SPJoinFarm -.DESCRIPTION +# Description - This resource will be responsible for joining a server to an existing SharePoint - farm. To create a new farm use the SPCreateFarm resource on a different server - to begin with, and then pass the same database server and configuration database - name parameters to the additional servers using this resource. After the server has - joined the farm, the process will wait for 5 minutes to allow farm specific - configuration to take place on the server, before allowing further DSC configuration - to take place. + This resource will be responsible for joining a server to an existing + SharePoint farm. To create a new farm use the SPCreateFarm resource on a + different server to begin with, and then pass the same database server and + configuration database name parameters to the additional servers using this + resource. After the server has joined the farm, the process will wait for 5 + minutes to allow farm specific configuration to take place on the server, + before allowing further DSC configuration to take place. .PARAMETER FarmConfigDatabaseName Key - string @@ -25,7 +25,7 @@ .PARAMETER ServerRole Write - string - Allowed values: Application, Custom, DistributedCache, Search, SingleServer, SingleServerFarm, SpecialLoad, WebFrontEnd + Allowed values: Application, ApplicationWithSearch, Custom, DistributedCache, Search, SingleServer, SingleServerFarm, WebFrontEnd, WebFrontEndWithDistributedCache SharePoint 2016 only - the MinRole role to enroll this server as .PARAMETER InstallAccount diff --git a/Modules/SharePointDsc/en-us/about_SPManagedAccount.help.txt b/Modules/SharePointDsc/en-us/about_SPManagedAccount.help.txt index 63dfbf259..5a2c06a0a 100644 --- a/Modules/SharePointDsc/en-us/about_SPManagedAccount.help.txt +++ b/Modules/SharePointDsc/en-us/about_SPManagedAccount.help.txt @@ -1,14 +1,14 @@ .NAME SPManagedAccount -.DESCRIPTION +# Description - This resource will ensure a managed account is provisioned in to the SharePoint - farm. The Account object specific the credential to store (including username - and password) to set as the managed account. The settings for EmailNotification, - PreExpireDays and Schedule all relate to enabling automatic password change for - the managed account, leaving these option out of the resource will ensure that - no automatic password changing from SharePoint occurs. + This resource will ensure a managed account is provisioned in to the SharePoint + farm. The Account object specific the credential to store (including username + and password) to set as the managed account. The settings for + EmailNotification, PreExpireDays and Schedule all relate to enabling automatic + password change for the managed account, leaving these option out of the + resource will ensure that no automatic password changing from SharePoint occurs. .PARAMETER AccountName Key - string diff --git a/Modules/SharePointDsc/en-us/about_SPManagedMetaDataServiceApp.help.txt b/Modules/SharePointDsc/en-us/about_SPManagedMetaDataServiceApp.help.txt index eb0031cdd..be5f54070 100644 --- a/Modules/SharePointDsc/en-us/about_SPManagedMetaDataServiceApp.help.txt +++ b/Modules/SharePointDsc/en-us/about_SPManagedMetaDataServiceApp.help.txt @@ -1,13 +1,13 @@ .NAME SPManagedMetaDataServiceApp -.DESCRIPTION +# Description - Creates a managed metadata service application. The application pool property specifies - which application pool it should use, and will reset the application back to this pool - if it is changed after its initial provisioning. The database server and database name - properties are only used during provisioning, and will not be altered as part of the - ongoing operation of the DSC resource. + Creates a managed metadata service application. The application pool property + specifies which application pool it should use, and will reset the application + back to this pool if it is changed after its initial provisioning. The + database server and database name properties are only used during + provisioning, and will not be altered as part of the ongoing operation of the .PARAMETER Name Key - string diff --git a/Modules/SharePointDsc/en-us/about_SPManagedPath.help.txt b/Modules/SharePointDsc/en-us/about_SPManagedPath.help.txt index 6db9a1286..801447909 100644 --- a/Modules/SharePointDsc/en-us/about_SPManagedPath.help.txt +++ b/Modules/SharePointDsc/en-us/about_SPManagedPath.help.txt @@ -1,15 +1,15 @@ .NAME SPManagedPath -.DESCRIPTION +# Description - This resource is responsible for creating managed paths associated with a specific web - application. The WebAppUrl parameter is used to specify the web application to create - the path against, and the RelativeUrl parameter lets you set the URL. Explicit when set - to true will create an explicit inclusion path, if set to false the path is created as - wildcard inclusion. If you are using host named site collections set HostHeader to true - and the path will be created as a host header path to be applied for host named site - collections. + This resource is responsible for creating managed paths associated with a + specific web application. The WebAppUrl parameter is used to specify the web + application to create the path against, and the RelativeUrl parameter lets you + set the URL. Explicit when set to true will create an explicit inclusion path, + if set to false the path is created as wildcard inclusion. If you are using + host named site collections set HostHeader to true and the path will be + created as a host header path to be applied for host named site collections. .PARAMETER WebAppUrl Key - string diff --git a/Modules/SharePointDsc/en-us/about_SPOfficeOnlineServerBinding.help.txt b/Modules/SharePointDsc/en-us/about_SPOfficeOnlineServerBinding.help.txt index 16f314a17..aadeb9d63 100644 --- a/Modules/SharePointDsc/en-us/about_SPOfficeOnlineServerBinding.help.txt +++ b/Modules/SharePointDsc/en-us/about_SPOfficeOnlineServerBinding.help.txt @@ -1,16 +1,16 @@ .NAME SPOfficeOnlineServerBinding -.DESCRIPTION +# Description - This resource will create a binding to an Office Online Server (formerly known as Office - Web Apps). The DnsName property can be a single server name, or a FQDN of a load balanced - end point that will direct traffic to a farm. + This resource will create a binding to an Office Online Server (formerly known + as Office Web Apps). The DnsName property can be a single server name, or a + FQDN of a load balanced end point that will direct traffic to a farm. - NOTE: This resource is designed to be used where all WOPI bindings will be targeted to the - same Office Online Server farm. If used on a clean environment, the new bindings will all - point to the one DNS Name. If used on an existing configuration that does not follow this - rule, it will match only the first DNS name it finds in the list of bindings. + NOTE: This resource is designed to be used where all WOPI bindings will be + targeted to the same Office Online Server farm. If used on a clean + environment, the new bindings will all point to the one DNS Name. If used on + an existing configuration that does not follow this rule, it will match only .PARAMETER Zone Key - string diff --git a/Modules/SharePointDsc/en-us/about_SPOutgoingEmailSettings.help.txt b/Modules/SharePointDsc/en-us/about_SPOutgoingEmailSettings.help.txt index 3fc6d85ce..5fb27d486 100644 --- a/Modules/SharePointDsc/en-us/about_SPOutgoingEmailSettings.help.txt +++ b/Modules/SharePointDsc/en-us/about_SPOutgoingEmailSettings.help.txt @@ -1,14 +1,14 @@ .NAME SPOutgoingEmailSettings -.DESCRIPTION +# Description - This resource is used to set the outgoing email settings for either a single web - application, or the whole farm. To configure the resource for a specific web app, - use the URL of the web application for the WebAppUrl property, to change the - settings for the whole farm use the URL of the central admin website instead. It is - possible to set the outgoing server, from address, reply to address and the character - set to be used for emails. + This resource is used to set the outgoing email settings for either a single + web application, or the whole farm. To configure the resource for a specific + web app, use the URL of the web application for the WebAppUrl property, to + change the settings for the whole farm use the URL of the central admin + website instead. It is possible to set the outgoing server, from address, + reply to address and the character set to be used for emails. .PARAMETER WebAppUrl key - string diff --git a/Modules/SharePointDsc/en-us/about_SPPasswordChangeSettings.help.txt b/Modules/SharePointDsc/en-us/about_SPPasswordChangeSettings.help.txt index 42f8cb895..5a4e04213 100644 --- a/Modules/SharePointDsc/en-us/about_SPPasswordChangeSettings.help.txt +++ b/Modules/SharePointDsc/en-us/about_SPPasswordChangeSettings.help.txt @@ -1,13 +1,13 @@ .NAME SPPasswordChangeSettings -.DESCRIPTION +# Description - This resource is used to control settings that relate to the automatic changing of - passwords for managed accounts (where they opt-in to be managed by SharePoint). These - settings can be manually controlled through central administration, or configured in - this resource. The settings relate to email notifications of when passwords are reset, - as well as behavior when a reset occurs such as a time out and number of retries. + This resource is used to control settings that relate to the automatic + changing of passwords for managed accounts (where they opt-in to be managed by + SharePoint). These settings can be manually controlled through central + administration, or configured in this resource. The settings relate to email + notifications of when passwords are reset, as well as behavior when a reset .PARAMETER MailAddress key - string diff --git a/Modules/SharePointDsc/en-us/about_SPPerformancePointServiceApp.help.txt b/Modules/SharePointDsc/en-us/about_SPPerformancePointServiceApp.help.txt index 84f6a6a7a..bdaa14871 100644 --- a/Modules/SharePointDsc/en-us/about_SPPerformancePointServiceApp.help.txt +++ b/Modules/SharePointDsc/en-us/about_SPPerformancePointServiceApp.help.txt @@ -1,10 +1,10 @@ .NAME SPPerformancePointServiceApp -.DESCRIPTION +# Description - This resource is responsible for creating Performance Point Service Application - instances within the local SharePoint farm. The resource will provision and + This resource is responsible for creating Performance Point Service Application + instances within the local SharePoint farm. The resource will provision and configure the Performance Point Service Application. .PARAMETER Name diff --git a/Modules/SharePointDsc/en-us/about_SPProductUpdate.help.txt b/Modules/SharePointDsc/en-us/about_SPProductUpdate.help.txt index 3c4e2dc3f..d478fe6ff 100644 --- a/Modules/SharePointDsc/en-us/about_SPProductUpdate.help.txt +++ b/Modules/SharePointDsc/en-us/about_SPProductUpdate.help.txt @@ -1,19 +1,27 @@ .NAME SPProductUpdate -.DESCRIPTION +# Description - This resource is used to perform the update step of installing SharePoint updates, like Cumulative Updates and Service Packs. - The SetupFile parameter should point to the update file. - The ShutdownServices parameter is used to indicate if some services (Timer, Search and IIS services) have to be stopped before installation of the update. This will speed up the installation. - The BinaryInstallDays and BinaryInstallTime parameters specify a window in which the update can be installed. - This module requires the Configuration Wizard resource to fully complete the installation of the update, which can be done through the use of SPConfigWizard. + This resource is used to perform the update step of installing SharePoint + updates, like Cumulative Updates and Service Packs. The SetupFile parameter + should point to the update file. The ShutdownServices parameter is used to + indicate if some services (Timer, Search and IIS services) have to be stopped + before installation of the update. This will speed up the installation. The + BinaryInstallDays and BinaryInstallTime parameters specify a window in which + the update can be installed. This module requires the Configuration Wizard + resource to fully complete the installation of the update, which can be done + through the use of SPConfigWizard. IMPORTANT: - This resource retrieves build information from the Configuration Database. Therefore it requires SharePoint to be installed and a farm created. - If you like to deploy a new farm and install updates automatically, you need to implement the following order: + This resource retrieves build information from the Configuration Database. + Therefore it requires SharePoint to be installed and a farm created. If you + like to deploy a new farm and install updates automatically, you need to + implement the following order: + 1. Install the SharePoint Binaries (SPInstall) - 2. (Optional) Install SharePoint Language Pack(s) Binaries (SPInstallLanguagePack) + 2. (Optional) Install SharePoint Language Pack(s) Binaries + (SPInstallLanguagePack) 3. Create SPFarm (SPCreateFarm) 4. Install Cumulative Updates (SPProductUpdate) 5. Run the Configuration Wizard (SPConfigWizard) diff --git a/Modules/SharePointDsc/en-us/about_SPPublishServiceApplication.help.txt b/Modules/SharePointDsc/en-us/about_SPPublishServiceApplication.help.txt index 54c2ea7f8..d8058bdae 100644 --- a/Modules/SharePointDsc/en-us/about_SPPublishServiceApplication.help.txt +++ b/Modules/SharePointDsc/en-us/about_SPPublishServiceApplication.help.txt @@ -1,21 +1,22 @@ .NAME SPPublishServiceApplication -.DESCRIPTION +# Description - This resource is used to specify if a specific service application should be published - (Ensure = "Present") or not published (Ensure = "Absent") on the current server. - The name is the display name of the service application as shown in the Central Admin website. + This resource is used to specify if a specific service application should be + published (Ensure = "Present") or not published (Ensure = "Absent") on the + current server. The name is the display name of the service application as + shown in the Central Admin website. - You can publish the following service applications in a SharePoint Server 2013/2016 farm: - * Business Data Connectivity - * Machine Translation - * Managed Metadata - * User Profile - * Search - * Secure Store + You can publish the following service applications in a SharePoint Server + 2013/2016 farm: - Source: https://technet.microsoft.com/en-us/library/ff621100(v=office.15).aspx + * Business Data Connectivity + * Machine Translation + * Managed Metadata + * User Profile + * Search + * Secure Store .PARAMETER Name Key - string diff --git a/Modules/SharePointDsc/en-us/about_SPQuotaTemplate.help.txt b/Modules/SharePointDsc/en-us/about_SPQuotaTemplate.help.txt index d371e4cfd..d4c7475b8 100644 --- a/Modules/SharePointDsc/en-us/about_SPQuotaTemplate.help.txt +++ b/Modules/SharePointDsc/en-us/about_SPQuotaTemplate.help.txt @@ -1,11 +1,11 @@ .NAME SPQuotaTemplate -.DESCRIPTION +# Description - This resource is used to configure quota templates in the farm. These settings will - be used to make sure a certain quota template exists or not. When it exists, it will - also make sure the settings are configured as specified. + This resource is used to configure quota templates in the farm. These settings + will be used to make sure a certain quota template exists or not. When it + exists, it will also make sure the settings are configured as specified. .PARAMETER Name Key - string diff --git a/Modules/SharePointDsc/en-us/about_SPRemoteFarmTrust.help.txt b/Modules/SharePointDsc/en-us/about_SPRemoteFarmTrust.help.txt index 1eeb5cb83..6f722fab2 100644 --- a/Modules/SharePointDsc/en-us/about_SPRemoteFarmTrust.help.txt +++ b/Modules/SharePointDsc/en-us/about_SPRemoteFarmTrust.help.txt @@ -1,11 +1,11 @@ .NAME SPRemoteFarmTrust -.DESCRIPTION +# Description - This resource is used to trust a remote SharePoint farm. This is used when federating - search results between two different SharePoint farms. The technique is described at - https://technet.microsoft.com/en-us/library/dn133749.aspx + This resource is used to trust a remote SharePoint farm. This is used when + federating search results between two different SharePoint farms. The + technique is described at .PARAMETER Name Key - string diff --git a/Modules/SharePointDsc/en-us/about_SPSearchContentSource.help.txt b/Modules/SharePointDsc/en-us/about_SPSearchContentSource.help.txt index d0f79b735..86807fd28 100644 --- a/Modules/SharePointDsc/en-us/about_SPSearchContentSource.help.txt +++ b/Modules/SharePointDsc/en-us/about_SPSearchContentSource.help.txt @@ -1,9 +1,10 @@ .NAME SPSearchContentSource -.DESCRIPTION +# Description - This resource will deploy and configure a content source in a specified search service application. + This resource will deploy and configure a content source in a specified search + service application. .PARAMETER Name Key - String diff --git a/Modules/SharePointDsc/en-us/about_SPSearchCrawlRule.help.txt b/Modules/SharePointDsc/en-us/about_SPSearchCrawlRule.help.txt index 3a2b96ea9..a958ee022 100644 --- a/Modules/SharePointDsc/en-us/about_SPSearchCrawlRule.help.txt +++ b/Modules/SharePointDsc/en-us/about_SPSearchCrawlRule.help.txt @@ -1,10 +1,10 @@ .NAME SPSearchCrawlRule -.DESCRIPTION +# Description - This resource is responsible for managing the search crawl rules in the search - service application. You can create new rules, change existing rules and remove + This resource is responsible for managing the search crawl rules in the search + service application. You can create new rules, change existing rules and remove existing rules. .PARAMETER Path diff --git a/Modules/SharePointDsc/en-us/about_SPSearchFileType.help.txt b/Modules/SharePointDsc/en-us/about_SPSearchFileType.help.txt new file mode 100644 index 000000000..1fe356853 --- /dev/null +++ b/Modules/SharePointDsc/en-us/about_SPSearchFileType.help.txt @@ -0,0 +1,94 @@ +.NAME + SPSearchFileType + +# Description + + This resource is responsible for managing the search file types in the search + service application. You can create new file types, change existing types and + remove existing file types. + +.PARAMETER FileType + Key - string + The name of the file type + +.PARAMETER ServiceAppName + Required - string + The name of the search service application + +.PARAMETER Description + Write - string + The description of the file type + +.PARAMETER MimeType + Write - string + The mime type of the file type + +.PARAMETER Enabled + Write - boolean + The state of the file type + +.PARAMETER Ensure + Write - string + Allowed values: Present, Absent + Present if the service app should exist, absent if it should not + +.PARAMETER InstallAccount + Write - String + POWERSHELL 4 ONLY: The account to run this resource as, use PsDscRunAsCredential if using PowerShell 5 + + +.EXAMPLE + This example shows how to apply settings to a specific file type in search, using the required parameters + + + Configuration Example + { + param( + [Parameter(Mandatory = $true)] + [PSCredential] + $SetupAccount + ) + Import-DscResource -ModuleName SharePointDsc + + node localhost { + SPSearchFileType PDF + { + FileType = "pdf" + ServiceAppName = "Search Service Application" + Description = "PDF" + MimeType = "application/pdf" + Ensure = "Present" + PsDscRunAsCredential = $SetupAccount + } + } + } + + +.EXAMPLE + This example shows how to disable a specific file type in search + + + Configuration Example + { + param( + [Parameter(Mandatory = $true)] + [PSCredential] + $SetupAccount + ) + Import-DscResource -ModuleName SharePointDsc + + node localhost { + SPSearchFileType PDF + { + FileType = "pdf" + ServiceAppName = "Search Service Application" + Description = "PDF" + MimeType = "application/pdf" + Enabled = $false + Ensure = "Present" + PsDscRunAsCredential = $SetupAccount + } + } + } + + diff --git a/Modules/SharePointDsc/en-us/about_SPSearchIndexPartition.help.txt b/Modules/SharePointDsc/en-us/about_SPSearchIndexPartition.help.txt index c7b8bf639..bfe0c8333 100644 --- a/Modules/SharePointDsc/en-us/about_SPSearchIndexPartition.help.txt +++ b/Modules/SharePointDsc/en-us/about_SPSearchIndexPartition.help.txt @@ -1,21 +1,22 @@ .NAME SPSearchIndexPartition -.DESCRIPTION +# Description - This resource is responsible for creating search indexes. It works by creating the - index topology components and updating the topology from the server that runs this - resource. For this reason this resource only needs to run from one server and not - from each server which will host the index component. The search service application - and existing search topology must be deployed before creating additional indexes. - The first index will be created through the use of the SPSearchRoles resource. - Additional search index partitions can be created through using this resource. + This resource is responsible for creating search indexes. It works by creating + the index topology components and updating the topology from the server that + runs this resource. For this reason this resource only needs to run from one + server and not from each server which will host the index component. The + search service application and existing search topology must be deployed + before creating additional indexes. The first index will be created through + the use of the SPSearchRoles resource. Additional search index partitions can + be created through using this resource. - Note that for the search topology to apply correctly, the path specified for - RootDirectory needs to exist on the server that is executing this resource. For - example, if the below example was executed on "Server1" it would also need to - ensure that it was able to create the index path at I:\. If no disk labeled I: - was available on server1, this would fail, even though it will not hold an + Note that for the search topology to apply correctly, the path specified for + RootDirectory needs to exist on the server that is executing this resource. For + example, if the below example was executed on "Server1" it would also need to + ensure that it was able to create the index path at I:\. If no disk labeled I: + was available on server1, this would fail, even though it will not hold an actual index component. .PARAMETER Index diff --git a/Modules/SharePointDsc/en-us/about_SPSearchResultSource.help.txt b/Modules/SharePointDsc/en-us/about_SPSearchResultSource.help.txt index 4a3e0ac01..ff1a64d70 100644 --- a/Modules/SharePointDsc/en-us/about_SPSearchResultSource.help.txt +++ b/Modules/SharePointDsc/en-us/about_SPSearchResultSource.help.txt @@ -1,18 +1,18 @@ .NAME SPSearchResultSource -** Description ** +# Description - This resource is used to configure search result sources in the SharePoint search - service application. Result sources can be configured to be of the following - provider types: + This resource is used to configure search result sources in the SharePoint + search service application. Result sources can be configured to be of the + following provider types: - * Exchange Search Provider - * Local People Provider - * Local SharePoint Provider - * OpenSearch Provider - * Remote People Provider - * Remote SharePoint Provider + * Exchange Search Provider + * Local People Provider + * Local SharePoint Provider + * OpenSearch Provider + * Remote People Provider + * Remote SharePoint Provider .PARAMETER Name Key - String diff --git a/Modules/SharePointDsc/en-us/about_SPSearchServiceApp.help.txt b/Modules/SharePointDsc/en-us/about_SPSearchServiceApp.help.txt index 16d2929e4..3cc2c55a8 100644 --- a/Modules/SharePointDsc/en-us/about_SPSearchServiceApp.help.txt +++ b/Modules/SharePointDsc/en-us/about_SPSearchServiceApp.help.txt @@ -1,15 +1,15 @@ .NAME SPSearchServiceApp -.DESCRIPTION +# Description - This resource is responsible for provisioning the search service application. The - current version lets you specify the database name and server, as well as the - application pool. If the application pool is changed the DSC resource will set it - back as per what is set in the resource. The database name parameter is used as the - prefix for all search databases (so you will end up with one for the admin database - which matches the name, and then "_analyticsreportingstore", "_crawlstore" and - "_linkstore" databases as well). + This resource is responsible for provisioning the search service application. + The current version lets you specify the database name and server, as well as + the application pool. If the application pool is changed the DSC resource will + set it back as per what is set in the resource. The database name parameter is + used as the prefix for all search databases (so you will end up with one for + the admin database which matches the name, and then + "_analyticsreportingstore", "_crawlstore" and "_linkstore" databases as well). .PARAMETER Name Key - string diff --git a/Modules/SharePointDsc/en-us/about_SPSearchTopology.help.txt b/Modules/SharePointDsc/en-us/about_SPSearchTopology.help.txt index a1955e4b4..7b415189f 100644 --- a/Modules/SharePointDsc/en-us/about_SPSearchTopology.help.txt +++ b/Modules/SharePointDsc/en-us/about_SPSearchTopology.help.txt @@ -1,23 +1,24 @@ .NAME SPSearchTopology -.DESCRIPTION +# Description - This resource is responsible for provisioning a search topology in to the current - farm. It allows the configuration to dictate the search topology roles that the - current server should be running. Any combination of roles can be specified and - the topology will be upaded to reflect the current servers new roles. If this is - the first server to apply topology to a farm, then at least one search index must - be provided. To this end, the FirstPartitionIndex, FirstPartitionDirectory and - FirstPartitionServers allow configuring where the first index partition will belong. - This will behave the same as the SPSearchIndexPartition resource. + This resource is responsible for provisioning a search topology in to the + current farm. It allows the configuration to dictate the search topology roles + that the current server should be running. Any combination of roles can be + specified and the topology will be upaded to reflect the current servers new + roles. If this is the first server to apply topology to a farm, then at least + one search index must be provided. To this end, the FirstPartitionIndex, + FirstPartitionDirectory and FirstPartitionServers allow configuring where the + first index partition will belong. This will behave the same as the + SPSearchIndexPartition resource. - Note that for the search topology to apply correctly, the path specified for - FirstPartitionDirectory needs to exist on the server that is executing this resource. - For example, if the below example was executed on "Server1" it would also need to - ensure that it was able to create the index path at I:\. If no disk labeled I: was - available on server1, this would fail, even though it will not hold an actual index - component. + Note that for the search topology to apply correctly, the path specified for + FirstPartitionDirectory needs to exist on the server that is executing this + resource. For example, if the below example was executed on "Server1" it would + also need to ensure that it was able to create the index path at I:\. If no + disk labeled I: was available on server1, this would fail, even though it will + not hold an actual index component. .PARAMETER ServiceAppName Key - String diff --git a/Modules/SharePointDsc/en-us/about_SPSecureStoreServiceApp.help.txt b/Modules/SharePointDsc/en-us/about_SPSecureStoreServiceApp.help.txt index 01c1d0d56..578cb763b 100644 --- a/Modules/SharePointDsc/en-us/about_SPSecureStoreServiceApp.help.txt +++ b/Modules/SharePointDsc/en-us/about_SPSecureStoreServiceApp.help.txt @@ -1,12 +1,12 @@ .NAME SPSecureStoreServiceApp -.DESCRIPTION +# Description - This resource is responsible for provisioning and configuring the secure store - service application. The parameters passed in (except those related to database - specifics) are validated and set when the resource is run, the database values - are only used in provisioning of the service application. + This resource is responsible for provisioning and configuring the secure store + service application. The parameters passed in (except those related to database + specifics) are validated and set when the resource is run, the database values + are only used in provisioning of the service application. .PARAMETER Name Key - string diff --git a/Modules/SharePointDsc/en-us/about_SPServiceAppPool.help.txt b/Modules/SharePointDsc/en-us/about_SPServiceAppPool.help.txt index e0b4b8b17..2e03efde4 100644 --- a/Modules/SharePointDsc/en-us/about_SPServiceAppPool.help.txt +++ b/Modules/SharePointDsc/en-us/about_SPServiceAppPool.help.txt @@ -1,11 +1,11 @@ .NAME SPServiceAppPool -.DESCRIPTION +# Description - This resource is used for provisioning an application pool that can be used for - service applications. The account used for the service account must already be - registered as a managed account (which can be provisioned through SPManagedAccount. + This resource is used for provisioning an application pool that can be used for + service applications. The account used for the service account must already be + registered as a managed account (which can be provisioned through .PARAMETER Name Key - string diff --git a/Modules/SharePointDsc/en-us/about_SPServiceAppProxyGroup.help.txt b/Modules/SharePointDsc/en-us/about_SPServiceAppProxyGroup.help.txt index 2b945a656..e8d98cc8a 100644 --- a/Modules/SharePointDsc/en-us/about_SPServiceAppProxyGroup.help.txt +++ b/Modules/SharePointDsc/en-us/about_SPServiceAppProxyGroup.help.txt @@ -1,23 +1,24 @@ .NAME SPServiceAppProxyGroup -.DESCRIPTION +# Description - This resource is used to manage SharePoint Service Application Proxy Groups. The "Ensure" - parameter controls whether or not the Proxy Group should exist. A proxy group cannot be - removed if a web application is using it. The "ServiceAppProxies" property will set a - specific list of Service App Proxies to be members of this Proxy Group. It will add and - remove proxies to ensure the group matches this list exactly. The - "ServiceAppProxiesToInclude" and "ServiceAppProxiesToExclude" properties will allow you - to add and remove proxies from the group, leaving other proxies that are in the group - but not in either list intact. + This resource is used to manage SharePoint Service Application Proxy Groups. + The "Ensure" parameter controls whether or not the Proxy Group should exist. A + proxy group cannot be removed if a web application is using it. The + "ServiceAppProxies" property will set a specific list of Service App Proxies + to be members of this Proxy Group. It will add and remove proxies to ensure + the group matches this list exactly. The "ServiceAppProxiesToInclude" and + "ServiceAppProxiesToExclude" properties will allow you to add and remove + proxies from the group, leaving other proxies that are in the group but not in + either list intact. Use the proxy group name "Default" to manipulate the default proxy group. Requirements: - At least one of the ServiceAppProxies, ServiceAppProxiesToInclude or ServiceAppProxiesToExclude - properties needs to be specified. Do not combine the ServiceAppProxies property with the - ServiceAppProxiesToInclude and ServiceAppProxiesToExclude properties. + At least one of the ServiceAppProxies, ServiceAppProxiesToInclude or + ServiceAppProxiesToExclude properties needs to be specified. Do not combine + the ServiceAppProxies property with the ServiceAppProxiesToInclude and .PARAMETER Name Key - String diff --git a/Modules/SharePointDsc/en-us/about_SPServiceAppSecurity.help.txt b/Modules/SharePointDsc/en-us/about_SPServiceAppSecurity.help.txt index c91b45cd4..01a0291ca 100644 --- a/Modules/SharePointDsc/en-us/about_SPServiceAppSecurity.help.txt +++ b/Modules/SharePointDsc/en-us/about_SPServiceAppSecurity.help.txt @@ -1,20 +1,20 @@ .NAME SPServiceAppSecurity -.DESCRIPTION +# Description - This resource is used to manage the sharing security settings of a specific service - application. There are a number of approaches to how this can be implemented. Firstly - you can set permissions for the app administrators, or for the sharing permission by - specifying the SecurityType attribute. These options correlate to the buttons seen in - the ribbon on the "manage service applications" page in Central Administration after - you select a specific service app. The "Members" property will set a specific list of - members for the service app, making sure that every user/group in the list is in the - group and all others that are members and who are not in this list will be removed. - The "MembersToInclude" and "MembersToExclude" properties will allow you to control a - specific set of users to add or remove, without changing any other members that are in - the group already that may not be specified here, allowing for some manual management - outside of this configuration resource. + This resource is used to manage the sharing security settings of a specific + service application. There are a number of approaches to how this can be + implemented. Firstly you can set permissions for the app administrators, or + for the sharing permission by specifying the SecurityType attribute. These + options correlate to the buttons seen in the ribbon on the "manage service + applications" page in Central Administration after you select a specific + service app. The "Members" property will set a specific list of members for + the service app, making sure that every user/group in the list is in the group + and all others that are members and who are not in this list will be removed. + The "MembersToInclude" and "MembersToExclude" properties will allow you to + control a specific set of users to add or remove, without changing any other + members that are in the group already that may not be specified here, allowing .PARAMETER ServiceAppName Key - String diff --git a/Modules/SharePointDsc/en-us/about_SPServiceInstance.help.txt b/Modules/SharePointDsc/en-us/about_SPServiceInstance.help.txt index 0e06cb8b8..d060d6587 100644 --- a/Modules/SharePointDsc/en-us/about_SPServiceInstance.help.txt +++ b/Modules/SharePointDsc/en-us/about_SPServiceInstance.help.txt @@ -1,11 +1,11 @@ .NAME SPServiceInstance -.DESCRIPTION +# Description - This resource is used to specify if a specific service should be running - (Ensure = "Present") or not running (Ensure = "Absent") on the current server. - The name is the display name of the service as shown in the Central Admin website. + This resource is used to specify if a specific service should be running + (Ensure = "Present") or not running (Ensure = "Absent") on the current server. + The name is the display name of the service as shown in the Central Admin .PARAMETER Name Key - string diff --git a/Modules/SharePointDsc/en-us/about_SPSessionStateService.help.txt b/Modules/SharePointDsc/en-us/about_SPSessionStateService.help.txt index ba36aa2bf..3a4475ba3 100644 --- a/Modules/SharePointDsc/en-us/about_SPSessionStateService.help.txt +++ b/Modules/SharePointDsc/en-us/about_SPSessionStateService.help.txt @@ -1,11 +1,11 @@ .NAME SPSessionStateService -.DESCRIPTION +# Description - This resource will provision a state service app to the local farm. Specify the name of - the database server and database name to provision the app with, and optionally include - the session timeout value. If session timeout is not provided it will default to 60. + This resource will provision a state service app to the local farm. Specify + the name of the database server and database name to provision the app with, + and optionally include the session timeout value. If session timeout is not .PARAMETER DatabaseName Key - string diff --git a/Modules/SharePointDsc/en-us/about_SPShellAdmins.help.txt b/Modules/SharePointDsc/en-us/about_SPShellAdmins.help.txt index d148c9deb..71eb6b65e 100644 --- a/Modules/SharePointDsc/en-us/about_SPShellAdmins.help.txt +++ b/Modules/SharePointDsc/en-us/about_SPShellAdmins.help.txt @@ -1,31 +1,34 @@ .NAME SPShellAdmins -.DESCRIPTION +# Description - This resource is used to manage the users with Shell Admin permissions. There are a - number of approaches to how this can be implemented. The "Members" property will set - a specific list of members for the group, making sure that every user/group in the - list is in the group and all others that are members and who are not in this list will - be removed. The "MembersToInclude" and "MembersToExclude" properties will allow you to - control a specific set of users to add or remove, without changing any other members - that are in the group already that may not be specified here, allowing for some manual - management outside of this configuration resource. The "ContentDatabases" and - "AllContentDatabases" properties will allow you to control the permissions on Content - Databases. + This resource is used to manage the users with Shell Admin permissions. There + are a number of approaches to how this can be implemented. The "Members" + property will set a specific list of members for the group, making sure that + every user/group in the list is in the group and all others that are members + and who are not in this list will be removed. The "MembersToInclude" and + "MembersToExclude" properties will allow you to control a specific set of + users to add or remove, without changing any other members that are in the + group already that may not be specified here, allowing for some manual + management outside of this configuration resource. The "ContentDatabases" and + "AllContentDatabases" properties will allow you to control the permissions on + Content Databases. Requirements: - * At least one of the Members, MemberToInclude or MembersToExclude properties needs to - be specified. - * Do not combine the Members property with the MemberToInclude and MembersToExclude - properties. - * Do not combine the ContentDatabase property with the AllContentDatabases property. + + * At least one of the Members, MemberToInclude or MembersToExclude properties + needs to be specified. + * Do not combine the Members property with the MemberToInclude and + MembersToExclude properties. + * Do not combine the ContentDatabase property with the AllContentDatabases + property. Notes: - 1.) If a content database is created using the Central Admin, the farm account is the - owner of that content database in SQL Server. When this is true, you cannot add it to - the Shell Admins (common for AllContentDatabases parameter) and the resource will throw - an error. Workaround: Change database owner in SQL Server. + 1.) If a content database is created using the Central Admin, the farm account + is the owner of that content database in SQL Server. When this is true, you + cannot add it to the Shell Admins (common for AllContentDatabases parameter) + and the resource will throw an error. Workaround: Change database owner in SQL .PARAMETER Name Key - String diff --git a/Modules/SharePointDsc/en-us/about_SPSite.help.txt b/Modules/SharePointDsc/en-us/about_SPSite.help.txt index 04e4e9dc3..5200bcc96 100644 --- a/Modules/SharePointDsc/en-us/about_SPSite.help.txt +++ b/Modules/SharePointDsc/en-us/about_SPSite.help.txt @@ -1,14 +1,14 @@ .NAME SPSite -.DESCRIPTION +# Description - This resource will provision a site collection to the current farm, based on - the settings that are passed through. These settings map to the New-SPSite - cmdlet and accept the same values and types. + This resource will provision a site collection to the current farm, based on + the settings that are passed through. These settings map to the New-SPSite + cmdlet and accept the same values and types. - The current version of SharePointDsc is only able to check for the existence - of a site collection, the additional parameters are not checked for yet, but + The current version of SharePointDsc is only able to check for the existence + of a site collection, the additional parameters are not checked for yet, but will be in a later release .PARAMETER Url diff --git a/Modules/SharePointDsc/en-us/about_SPStateServiceApp.help.txt b/Modules/SharePointDsc/en-us/about_SPStateServiceApp.help.txt index 0dd042cac..353665277 100644 --- a/Modules/SharePointDsc/en-us/about_SPStateServiceApp.help.txt +++ b/Modules/SharePointDsc/en-us/about_SPStateServiceApp.help.txt @@ -1,10 +1,10 @@ .NAME SPStateServiceApp -.DESCRIPTION +# Description - This resource provisions an instance of the state service in to the local farm. - The database specific parameters are only used during initial provisioning of + This resource provisions an instance of the state service in to the local farm. + The database specific parameters are only used during initial provisioning of the app, and will not change database settings beyond the initial deployment. .PARAMETER Name diff --git a/Modules/SharePointDsc/en-us/about_SPSubscriptionSettingsServiceApp.help.txt b/Modules/SharePointDsc/en-us/about_SPSubscriptionSettingsServiceApp.help.txt index 6e0215242..8928a38f9 100644 --- a/Modules/SharePointDsc/en-us/about_SPSubscriptionSettingsServiceApp.help.txt +++ b/Modules/SharePointDsc/en-us/about_SPSubscriptionSettingsServiceApp.help.txt @@ -1,16 +1,16 @@ .NAME SPSubscriptionSettingsServiceApp -.DESCRIPTION +# Description - This resource is used to provision and manage an instance of the App Management - Services Service Application. It will identify an instance of the subscription - settings service app through the application display name. Currently the resource - will provision the app if it does not yet exist, and will change the service - account associated to the app if it does not match the configuration. Database - names or server name will not be changed if the configuration does not match, - these parameters are only used for the initial provisioning of the service - application. + This resource is used to provision and manage an instance of the App Management + Services Service Application. It will identify an instance of the subscription + settings service app through the application display name. Currently the + resource will provision the app if it does not yet exist, and will change the + service account associated to the app if it does not match the configuration. + Database names or server name will not be changed if the configuration does + not match, these parameters are only used for the initial provisioning of the + service application. .PARAMETER Name Key - string diff --git a/Modules/SharePointDsc/en-us/about_SPTimerJobState.help.txt b/Modules/SharePointDsc/en-us/about_SPTimerJobState.help.txt index 521ddd0ec..ea2f5011a 100644 --- a/Modules/SharePointDsc/en-us/about_SPTimerJobState.help.txt +++ b/Modules/SharePointDsc/en-us/about_SPTimerJobState.help.txt @@ -1,24 +1,26 @@ .NAME SPTimerJobState -.DESCRIPTION +# Description - This resource is used to configure a timer job and make sure it is in a specific - state. The resource can be used to enable or disabled the job and configure the - schedule of the job. + This resource is used to configure a timer job and make sure it is in a + specific state. The resource can be used to enable or disabled the job and + configure the schedule of the job. - The schedule parameter has to be written in the SPSchedule format + The schedule parameter has to be written in the SPSchedule format (https://technet.microsoft.com/en-us/library/ff607916.aspx). + Examples are: - - Every 5 minutes between 0 and 59 - - Hourly between 0 and 59 - - Daily at 15:00:00 - - Weekly between Fri 22:00:00 and Sun 06:00:00 - - Monthly at 15 15:00:00 - - Yearly at Jan 1 15:00:00 - NOTE: Make sure you use the internal timer job name, not the display name! Use - "Get-SPTimerJob -WebApplication "http://servername" | select Name, DisplayName" + - Every 5 minutes between 0 and 59 + - Hourly between 0 and 59 + - Daily at 15:00:00 + - Weekly between Fri 22:00:00 and Sun 06:00:00 + - Monthly at 15 15:00:00 + - Yearly at Jan 1 15:00:00 + + NOTE: Make sure you use the internal timer job name, not the display name! Use + "Get-SPTimerJob -WebApplication "http://servername" | select Name, DisplayName" to find the internal name for each Timer Job. .PARAMETER Name diff --git a/Modules/SharePointDsc/en-us/about_SPTrustedIdentityTokenIssuer.help.txt b/Modules/SharePointDsc/en-us/about_SPTrustedIdentityTokenIssuer.help.txt index 171d147a3..0b0259d25 100644 --- a/Modules/SharePointDsc/en-us/about_SPTrustedIdentityTokenIssuer.help.txt +++ b/Modules/SharePointDsc/en-us/about_SPTrustedIdentityTokenIssuer.help.txt @@ -1,26 +1,29 @@ .NAME SPTrustedIdentityTokenIssuer -.DESCRIPTION +# Description - This resource is used to create or remove SPTrustedIdentityTokenIssuer in a SharePoint - farm. + This resource is used to create or remove SPTrustedIdentityTokenIssuer in a + SharePoint farm. - The SigningCertificateThumbPrint must match the thumbprint of a certificate in the - store LocalMachine\My of the server that will run this resource. - Note that the private key of the certificate must not be available in the certiificate - store because SharePoint does not accept it. - Once the SPTrustedIdentityTokenIssuer is successfully created, the certificate can be - safely deleted from the certificate store as it won't be needed by SharePoint. + The SigningCertificateThumbPrint must match the thumbprint of a certificate in + the store LocalMachine\My of the server that will run this resource. + Note that the private key of the certificate must not be available in the + certiificate store because SharePoint does not accept it. + Once the SPTrustedIdentityTokenIssuer is successfully created, the certificate + can be safely deleted from the certificate store as it won't be needed by + SharePoint. - ClaimsMappings is an array of MSFT_SPClaimTypeMapping to use with cmdlet New-SPClaimTypeMapping. - Each MSFT_SPClaimTypeMapping requires properties Name and IncomingClaimType. - Property LocalClaimType is not required if its value is identical to IncomingClaimType. + ClaimsMappings is an array of MSFT_SPClaimTypeMapping to use with cmdlet + New-SPClaimTypeMapping. Each MSFT_SPClaimTypeMapping requires properties Name + and IncomingClaimType. Property LocalClaimType is not required if its value is + identical to IncomingClaimType. - The IdentifierClaim property must match an IncomingClaimType element in ClaimsMappings array. + The IdentifierClaim property must match an IncomingClaimType element in + ClaimsMappings array. - The ClaimProviderName property can be set to specify a custom claims provider. It must be - already installed in the SharePoint farm and returned by cmdlet Get-SPClaimProvider. + The ClaimProviderName property can be set to specify a custom claims provider. + It must be already installed in the SharePoint farm and returned by cmdlet .PARAMETER Name Key - String diff --git a/Modules/SharePointDsc/en-us/about_SPUsageApplication.help.txt b/Modules/SharePointDsc/en-us/about_SPUsageApplication.help.txt index 07cfe2288..792833626 100644 --- a/Modules/SharePointDsc/en-us/about_SPUsageApplication.help.txt +++ b/Modules/SharePointDsc/en-us/about_SPUsageApplication.help.txt @@ -1,11 +1,11 @@ .NAME SPUsageApplication -.DESCRIPTION +# Description - This resource provisions an instance of the usage and health monitoring service - application. The database settings are only used for initial provisioning, but - the usage settings can be changed and will be enforced as the resource is executed. + This resource provisions an instance of the usage and health monitoring service + application. The database settings are only used for initial provisioning, but + the usage settings can be changed and will be enforced as the resource is .PARAMETER Name Key - string diff --git a/Modules/SharePointDsc/en-us/about_SPUserProfileProperty.help.txt b/Modules/SharePointDsc/en-us/about_SPUserProfileProperty.help.txt index 97fee52a0..5cbadf212 100644 --- a/Modules/SharePointDsc/en-us/about_SPUserProfileProperty.help.txt +++ b/Modules/SharePointDsc/en-us/about_SPUserProfileProperty.help.txt @@ -1,20 +1,20 @@ .NAME SPUserProfileProperty -.DESCRIPTION +# Description - This resource will create a property in a user profile service application. It - creates, update or delete a property using the parameters that are passed in to + This resource will create a property in a user profile service application. It + creates, update or delete a property using the parameters that are passed in to it. - The parameter DisplayOrder is absolute. ie.: If you want it to be placed as the - 5th field of section Bla, which has propertyName value of 5000 then your DisplayOrder - needs to be 5005. If no DisplayOrder is added then SharePoint adds it as the last - property of section X. + The parameter DisplayOrder is absolute. ie.: If you want it to be placed as the + 5th field of section Bla, which has propertyName value of 5000 then your + DisplayOrder needs to be 5005. If no DisplayOrder is added then SharePoint + adds it as the last property of section X. Length is only relevant if Field type is "String". - This Resource doesn't currently support removing existing user profile properties. + This Resource doesn't currently support removing existing user profile .PARAMETER Name Key - string diff --git a/Modules/SharePointDsc/en-us/about_SPUserProfileSection.help.txt b/Modules/SharePointDsc/en-us/about_SPUserProfileSection.help.txt index 58cd1d240..c0c703eb9 100644 --- a/Modules/SharePointDsc/en-us/about_SPUserProfileSection.help.txt +++ b/Modules/SharePointDsc/en-us/about_SPUserProfileSection.help.txt @@ -1,12 +1,13 @@ .NAME SPUserProfileSection -.DESCRIPTION +# Description - This resource will create a section in a user profile service application. It - creates, update or delete a section using the parameters that are passed in to it. + This resource will create a section in a user profile service application. It + creates, update or delete a section using the parameters that are passed in to + it. - If no DisplayOrder is added then SharePoint will automatically assigned an ID to it. + If no DisplayOrder is added then SharePoint will automatically assigned an ID .PARAMETER Name Key - string diff --git a/Modules/SharePointDsc/en-us/about_SPUserProfileServiceApp.help.txt b/Modules/SharePointDsc/en-us/about_SPUserProfileServiceApp.help.txt index c1e84d353..c480c99db 100644 --- a/Modules/SharePointDsc/en-us/about_SPUserProfileServiceApp.help.txt +++ b/Modules/SharePointDsc/en-us/about_SPUserProfileServiceApp.help.txt @@ -1,15 +1,15 @@ .NAME SPUserProfileServiceApp -.DESCRIPTION +# Description - This resource will provision an instance of the user profile service to the farm. It - creates the required databases using the parameters that are passed in to it (although - these are only used during the initial provisioning). The farm account is used during - the provisioning of the service only (in the set method), and the install account is - used in the get and test methods. This is done to ensure that the databases are created - with the correct schema owners and allow the user profile sync service to operate - correctly. + This resource will provision an instance of the user profile service to the + farm. It creates the required databases using the parameters that are passed + in to it (although these are only used during the initial provisioning). The + farm account is used during the provisioning of the service only (in the set + method), and the install account is used in the get and test methods. This is + done to ensure that the databases are created with the correct schema owners + and allow the user profile sync service to operate correctly. .PARAMETER Name Key - string diff --git a/Modules/SharePointDsc/en-us/about_SPUserProfileServiceAppPermissions.help.txt b/Modules/SharePointDsc/en-us/about_SPUserProfileServiceAppPermissions.help.txt index 8bfd9d7ba..7730af844 100644 --- a/Modules/SharePointDsc/en-us/about_SPUserProfileServiceAppPermissions.help.txt +++ b/Modules/SharePointDsc/en-us/about_SPUserProfileServiceAppPermissions.help.txt @@ -1,12 +1,12 @@ .NAME SPUserProfileServiceAppPermissions -.DESCRIPTION +# Description - This resource will apply permissions to a user profile service application. - These can control access to create my sites, use social features, and use - tagging. If you want to allow all users the ability to use a specific - permisisons include "Everyone" as a user in the corresponding property. To + This resource will apply permissions to a user profile service application. + These can control access to create my sites, use social features, and use + tagging. If you want to allow all users the ability to use a specific + permisisons include "Everyone" as a user in the corresponding property. To specify that there should be no permissions on a type, use "none" .PARAMETER ProxyName diff --git a/Modules/SharePointDsc/en-us/about_SPUserProfileSyncConnection.help.txt b/Modules/SharePointDsc/en-us/about_SPUserProfileSyncConnection.help.txt index d1dea426c..277f902fd 100644 --- a/Modules/SharePointDsc/en-us/about_SPUserProfileSyncConnection.help.txt +++ b/Modules/SharePointDsc/en-us/about_SPUserProfileSyncConnection.help.txt @@ -1,12 +1,13 @@ .NAME SPUserProfileSyncConnection -.DESCRIPTION +# Description - This resource will ensure a specifc user profile sync connection is in place and - that it is configured accordingly to its definition + This resource will ensure a specifc user profile sync connection is in place + and that it is configured accordingly to its definition This resource currently supports AD only. + .PARAMETER Name Key - string The name of the connection diff --git a/Modules/SharePointDsc/en-us/about_SPUserProfileSyncService.help.txt b/Modules/SharePointDsc/en-us/about_SPUserProfileSyncService.help.txt index c01b68f8e..ece5ed05f 100644 --- a/Modules/SharePointDsc/en-us/about_SPUserProfileSyncService.help.txt +++ b/Modules/SharePointDsc/en-us/about_SPUserProfileSyncService.help.txt @@ -1,18 +1,18 @@ .NAME SPUserProfileSyncService -.DESCRIPTION +# Description - This resource is responsible for ensuring that the user profile sync service has - been provisioned (Ensure = "Present") or is not running (Ensure = "Absent") on the - current server. This resource uses the InstallAccount to validate the current state - only, the set method which will do the provisioning uses the FarmAccount to do the - actual work - this means that CredSSP authentication will need to be permitted to - allow a connection to the local server. To allow successful provisioning the farm - account must be in the local administrators group, however it is not best practice - to leave this account in the Administrators group. Therefore this resource will add - the FarmAccount credential to the local administrators group at the beginning of the - set method, and then remove it once it has completed its work. + This resource is responsible for ensuring that the user profile sync service + has been provisioned (Ensure = "Present") or is not running (Ensure = + "Absent") on the current server. This resource uses the InstallAccount to + validate the current state only, the set method which will do the provisioning + uses the FarmAccount to do the actual work - this means that CredSSP + authentication will need to be permitted to allow a connection to the local + server. To allow successful provisioning the farm account must be in the local + administrators group, however it is not best practice to leave this account in + the Administrators group. Therefore this resource will add the FarmAccount + credential to the local administrators group at the beginning of the set .PARAMETER UserProfileServiceAppName Key - string diff --git a/Modules/SharePointDsc/en-us/about_SPVisioServiceApp.help.txt b/Modules/SharePointDsc/en-us/about_SPVisioServiceApp.help.txt index ca3ba5b38..056f4a873 100644 --- a/Modules/SharePointDsc/en-us/about_SPVisioServiceApp.help.txt +++ b/Modules/SharePointDsc/en-us/about_SPVisioServiceApp.help.txt @@ -1,11 +1,11 @@ .NAME SPVisioServiceApp -.DESCRIPTION +# Description - This resource is responsible for creating Visio Graphics Service Application instances - within the local SharePoint farm. The resource will provision and configure the Visio - Graphics Service Application. + This resource is responsible for creating Visio Graphics Service Application + instances within the local SharePoint farm. The resource will provision and + configure the Visio Graphics Service Application. .PARAMETER Name Key - string diff --git a/Modules/SharePointDsc/en-us/about_SPWeb.help.txt b/Modules/SharePointDsc/en-us/about_SPWeb.help.txt index 689fe8b5d..22e37e5ee 100644 --- a/Modules/SharePointDsc/en-us/about_SPWeb.help.txt +++ b/Modules/SharePointDsc/en-us/about_SPWeb.help.txt @@ -1,10 +1,10 @@ .NAME SPWeb -.DESCRIPTION +# Description - This resource will provision a SPWeb based on the settings that are passed through. - These settings map to the New-SPWeb cmdlet and accept the same values and types. + This resource will provision a SPWeb based on the settings that are passed + through. These settings map to the New-SPWeb cmdlet and accept the same values .PARAMETER Url Key - string diff --git a/Modules/SharePointDsc/en-us/about_SPWebAppBlockedFileTypes.help.txt b/Modules/SharePointDsc/en-us/about_SPWebAppBlockedFileTypes.help.txt index cdf57f442..bbc65b7eb 100644 --- a/Modules/SharePointDsc/en-us/about_SPWebAppBlockedFileTypes.help.txt +++ b/Modules/SharePointDsc/en-us/about_SPWebAppBlockedFileTypes.help.txt @@ -1,19 +1,19 @@ .NAME SPWebAppBlockedFileTypes -.DESCRIPTION +# Description - This resource is responsible for controlling the blocked file type setting on a - specific web application. It has two modes of operation, the first is to use the - "blocked" property, where you are able to define a specific list of file types that - will be blocked. In this mode when it is detected that the list does not match the - local farm, it is set to match this list exactly. The second mode is to use the - "EnsureBlocked" and "EnsureAllowed" properties. EnsureBlocked will check to make - sure that the specified file types are on the list, and if not they will be added. - EnsureAllowed checks to make sure that a file type is not on the list, and if it is - it will be removed. Both of these properties will only make changes to the file types - in their list and will leave the full list as it is otherwise, whereas the blocked - property resets the list in full. + This resource is responsible for controlling the blocked file type setting on a + specific web application. It has two modes of operation, the first is to use + the "blocked" property, where you are able to define a specific list of file + types that will be blocked. In this mode when it is detected that the list + does not match the local farm, it is set to match this list exactly. The + second mode is to use the "EnsureBlocked" and "EnsureAllowed" properties. + EnsureBlocked will check to make sure that the specified file types are on the + list, and if not they will be added. EnsureAllowed checks to make sure that a + file type is not on the list, and if it is it will be removed. Both of these + properties will only make changes to the file types in their list and will + leave the full list as it is otherwise, whereas the blocked property resets .PARAMETER Url Key - string diff --git a/Modules/SharePointDsc/en-us/about_SPWebAppGeneralSettings.help.txt b/Modules/SharePointDsc/en-us/about_SPWebAppGeneralSettings.help.txt index 301c4a45f..68659ed15 100644 --- a/Modules/SharePointDsc/en-us/about_SPWebAppGeneralSettings.help.txt +++ b/Modules/SharePointDsc/en-us/about_SPWebAppGeneralSettings.help.txt @@ -1,13 +1,13 @@ .NAME SPWebAppGeneralSettings -.DESCRIPTION +# Description - This resource is responsible for setting web application settings that are found - under the "general settings" screen in central admin. The web application is - specified through the URL property, and then any combination of settings can be - applied. Any settings not included will be left as the default (or whatever they - have been manually changed to within SharePoint). + This resource is responsible for setting web application settings that are + found under the "general settings" screen in central admin. The web + application is specified through the URL property, and then any combination of + settings can be applied. Any settings not included will be left as the default + (or whatever they have been manually changed to within SharePoint). .PARAMETER Url Key - string diff --git a/Modules/SharePointDsc/en-us/about_SPWebAppPermissions.help.txt b/Modules/SharePointDsc/en-us/about_SPWebAppPermissions.help.txt index 8e577b099..376f4e1be 100644 --- a/Modules/SharePointDsc/en-us/about_SPWebAppPermissions.help.txt +++ b/Modules/SharePointDsc/en-us/about_SPWebAppPermissions.help.txt @@ -1,13 +1,13 @@ .NAME SPWebAppPermissions -.DESCRIPTION +# Description - This resource is responsible for managing the user permissions for a web application. - You can either specify to set all permissions or specify individual permissions per - category. + This resource is responsible for managing the user permissions for a web + application. You can either specify to set all permissions or specify + individual permissions per category. - More info about the permission levels: https://technet.microsoft.com/en-us/library/cc721640.aspx + More info about the permission levels: .PARAMETER WebAppUrl Key - string diff --git a/Modules/SharePointDsc/en-us/about_SPWebAppPolicy.help.txt b/Modules/SharePointDsc/en-us/about_SPWebAppPolicy.help.txt index ff529de9b..404dc14ba 100644 --- a/Modules/SharePointDsc/en-us/about_SPWebAppPolicy.help.txt +++ b/Modules/SharePointDsc/en-us/about_SPWebAppPolicy.help.txt @@ -1,23 +1,24 @@ .NAME SPWebAppPolicy -.DESCRIPTION +# Description - This resource is used to set the User Policies for web applications. The usernames - can be either specified in Classic or Claims format, both will be accepted. There - are a number of approaches to how this can be implemented. The "Members" property - will set a specific list of members for the group, making sure that every user/group - in the list is in the group and all others that are members and who are not in this - list will be removed. The "MembersToInclude" and "MembersToExclude" properties will - allow you to control a specific set of users to add or remove, without changing any - other members that are in the group already that may not be specified here, allowing - for some manual management outside of this configuration resource. + This resource is used to set the User Policies for web applications. The + usernames can be either specified in Classic or Claims format, both will be + accepted. There are a number of approaches to how this can be implemented. The + "Members" property will set a specific list of members for the group, making + sure that every user/group in the list is in the group and all others that are + members and who are not in this list will be removed. The "MembersToInclude" + and "MembersToExclude" properties will allow you to control a specific set of + users to add or remove, without changing any other members that are in the + group already that may not be specified here, allowing for some manual + management outside of this configuration resource. Requirements: - At least one of the Members, MemberToInclude or MembersToExclude properties needs to be - specified. Do not combine the Members property with the MemberToInclude and - MembersToExclude properties. Do not set the ActAsSystemAccount property to $true without - setting the permission level to Full Control. + At least one of the Members, MemberToInclude or MembersToExclude properties + needs to be specified. Do not combine the Members property with the + MemberToInclude and MembersToExclude properties. Do not set the + ActAsSystemAccount property to $true without setting the permission level to .PARAMETER WebAppUrl Key - string diff --git a/Modules/SharePointDsc/en-us/about_SPWebAppProxyGroup.help.txt b/Modules/SharePointDsc/en-us/about_SPWebAppProxyGroup.help.txt index 3a214faf9..aa99691ff 100644 --- a/Modules/SharePointDsc/en-us/about_SPWebAppProxyGroup.help.txt +++ b/Modules/SharePointDsc/en-us/about_SPWebAppProxyGroup.help.txt @@ -1,16 +1,17 @@ .NAME SPWebAppProxyGroup -.DESCRIPTION +# Description - This resource is used to associate a web application to a service application proxy group. - Use the proxy group name "Default" to associate the web application to the default proxy - group. A web applicaiton can only connect to a single service application proxy group. This - resource will overright the existing service application proxy group association. + This resource is used to associate a web application to a service application + proxy group. Use the proxy group name "Default" to associate the web + application to the default proxy group. A web applicaiton can only connect to + a single service application proxy group. This resource will overright the + existing service application proxy group association. - This resource is used in conjunction with the SPServiceAppProxyGroup resource, which creates - the proxy groups and associates the desired service application proxies with it. Within your - configuration, that resource should be a dependancy for the SPWebAppProxyGroup resource. + This resource is used in conjunction with the SPServiceAppProxyGroup resource, + which creates the proxy groups and associates the desired service application + proxies with it. Within your configuration, that resource should be a .PARAMETER WebAppUrl Key - String diff --git a/Modules/SharePointDsc/en-us/about_SPWebAppSiteUseAndDeletion.help.txt b/Modules/SharePointDsc/en-us/about_SPWebAppSiteUseAndDeletion.help.txt index db414ea67..2ef086db4 100644 --- a/Modules/SharePointDsc/en-us/about_SPWebAppSiteUseAndDeletion.help.txt +++ b/Modules/SharePointDsc/en-us/about_SPWebAppSiteUseAndDeletion.help.txt @@ -1,12 +1,12 @@ .NAME SPWebAppSiteUseAndDeletion -.DESCRIPTION +# Description - This resource is responsible for controlling the Site Use and Deletion settings on a - specific web application. You can enable or disable the Site Use and Deletion feature, - specify the amount of days after which the alerts are being send, if sites have to be - deleted automatically and if so after how many days this has to be done. + This resource is responsible for controlling the Site Use and Deletion + settings on a specific web application. You can enable or disable the Site Use + and Deletion feature, specify the amount of days after which the alerts are + being send, if sites have to be deleted automatically and if so after how many .PARAMETER Url Key - string diff --git a/Modules/SharePointDsc/en-us/about_SPWebAppThrottlingSettings.help.txt b/Modules/SharePointDsc/en-us/about_SPWebAppThrottlingSettings.help.txt index 021a472d6..c82635b35 100644 --- a/Modules/SharePointDsc/en-us/about_SPWebAppThrottlingSettings.help.txt +++ b/Modules/SharePointDsc/en-us/about_SPWebAppThrottlingSettings.help.txt @@ -1,15 +1,15 @@ .NAME SPWebAppThrottlingSettings -.DESCRIPTION +# Description - This resource is responsible for setting web application settings that are found under the - "resource throttling" screen in central admin. The web application is specified through the - URL property, and then any combination of settings can be applied. Any settings not included - will be left as the default (or whatever they have been manually changed to within - SharePoint). Happy hour is the setting used to control the window where threshold do not - apply throughout the day. You can specify the start time of this window as well as how many - hours it will last. + This resource is responsible for setting web application settings that are + found under the "resource throttling" screen in central admin. The web + application is specified through the URL property, and then any combination of + settings can be applied. Any settings not included will be left as the default + (or whatever they have been manually changed to within SharePoint). Happy hour + is the setting used to control the window where threshold do not apply + throughout the day. You can specify the start time of this window as well as .PARAMETER Url Key - string diff --git a/Modules/SharePointDsc/en-us/about_SPWebAppWorkflowSettings.help.txt b/Modules/SharePointDsc/en-us/about_SPWebAppWorkflowSettings.help.txt index 2522cb3b3..b0a3353dc 100644 --- a/Modules/SharePointDsc/en-us/about_SPWebAppWorkflowSettings.help.txt +++ b/Modules/SharePointDsc/en-us/about_SPWebAppWorkflowSettings.help.txt @@ -1,13 +1,13 @@ .NAME SPWebAppWorkflowSettings -.DESCRIPTION +# Description - This resource is responsible for setting web application settings that are found under the - "workflow settings" screen in central admin. The web application is specified through the - URL property, and then any combination of settings can be applied. Any settings not - included will be left as the default (or whatever they have been manually changed to within - SharePoint). + This resource is responsible for setting web application settings that are + found under the "workflow settings" screen in central admin. The web + application is specified through the URL property, and then any combination of + settings can be applied. Any settings not included will be left as the default + (or whatever they have been manually changed to within SharePoint). .PARAMETER Url Key - string diff --git a/Modules/SharePointDsc/en-us/about_SPWebApplication.help.txt b/Modules/SharePointDsc/en-us/about_SPWebApplication.help.txt index 4a116b94f..ff3e67b1d 100644 --- a/Modules/SharePointDsc/en-us/about_SPWebApplication.help.txt +++ b/Modules/SharePointDsc/en-us/about_SPWebApplication.help.txt @@ -1,12 +1,12 @@ .NAME SPWebApplication -.DESCRIPTION +# Description - This resource is responsible for creating a web application within the local SharePoint - farm. The resource will provision the web application with all of the current settings, - and then ensure that it stays part of the correct application pool beyond that (additional - checking and setting of properties will be added in future releases). + This resource is responsible for creating a web application within the local + SharePoint farm. The resource will provision the web application with all of + the current settings, and then ensure that it stays part of the correct + application pool beyond that (additional checking and setting of properties .PARAMETER Name Key - string diff --git a/Modules/SharePointDsc/en-us/about_SPWebApplicationAppDomain.help.txt b/Modules/SharePointDsc/en-us/about_SPWebApplicationAppDomain.help.txt index 1723fa314..80c0a694b 100644 --- a/Modules/SharePointDsc/en-us/about_SPWebApplicationAppDomain.help.txt +++ b/Modules/SharePointDsc/en-us/about_SPWebApplicationAppDomain.help.txt @@ -1,13 +1,13 @@ .NAME SPWebApplicationAppDomain -.DESCRIPTION +# Description - This resource will configure the App Domain at a specific zone for the given Web - Application. The configuration is done per zone on the specified web application, - allowing for the setting of unique app domains for each extension of a web - application. The app prefix should still be set using the SPAppDomain resource - before this is applied to customise a specific zone. + This resource will configure the App Domain at a specific zone for the given + Web Application. The configuration is done per zone on the specified web + application, allowing for the setting of unique app domains for each extension + of a web application. The app prefix should still be set using the SPAppDomain + resource before this is applied to customise a specific zone. .PARAMETER WebApplication Key - string diff --git a/Modules/SharePointDsc/en-us/about_SPWordAutomationServiceApp.help.txt b/Modules/SharePointDsc/en-us/about_SPWordAutomationServiceApp.help.txt index 68dd5fbe6..d45fe3fc8 100644 --- a/Modules/SharePointDsc/en-us/about_SPWordAutomationServiceApp.help.txt +++ b/Modules/SharePointDsc/en-us/about_SPWordAutomationServiceApp.help.txt @@ -1,16 +1,17 @@ .NAME SPWordAutomationServiceApp -.DESCRIPTION +# Description - The resource is able to provision, unprovision and configure the Word Automation Service - Application. All settings that you can configure on the Service Application administration - page are configurable using this resource. + The resource is able to provision, unprovision and configure the Word + Automation Service Application. All settings that you can configure on the + Service Application administration page are configurable using this resource. Important: - When you specify Ensure=Present, the Application Pool and DatabaseName parameters are - required. When you specify Ensure=Absent, no other parameters are allowed (with the exception - of Name, InstallAccount or PsDscRunAsCredential). + When you specify Ensure=Present, the Application Pool and DatabaseName + parameters are required. When you specify Ensure=Absent, no other parameters + are allowed (with the exception of Name, InstallAccount or + PsDscRunAsCredential). .PARAMETER Name Key - string diff --git a/Modules/SharePointDsc/en-us/about_SPWorkManagementServiceApp.help.txt b/Modules/SharePointDsc/en-us/about_SPWorkManagementServiceApp.help.txt index 7e30c2d5f..4232f7cb6 100644 --- a/Modules/SharePointDsc/en-us/about_SPWorkManagementServiceApp.help.txt +++ b/Modules/SharePointDsc/en-us/about_SPWorkManagementServiceApp.help.txt @@ -1,18 +1,20 @@ .NAME SPWorkManagementServiceApp -.DESCRIPTION - - This resource is used to provision and manage an instance of the Work Management Services - Service Application. It will identify an instance of the work management service - application through the application display name. Currently the resource will provision the - app if it does not yet exist, and will change the application pool associated to the app if - it does not match the configuration. +# Description + This resource is used to provision and manage an instance of the Work + Management Services Service Application. It will identify an instance of the + work management service application through the application display name. + Currently the resource will provision the app if it does not yet exist, and + will change the application pool associated to the app if it does not match + the configuration. Remarks - - Parameters MinimumTimeBetweenEwsSyncSubscriptionSearches, MinimumTimeBetweenProviderRefreshes, - MinimumTimeBetweenSearchQueries are in Minutes + + - Parameters MinimumTimeBetweenEwsSyncSubscriptionSearches, + MinimumTimeBetweenProviderRefreshes, MinimumTimeBetweenSearchQueries are in + minutes. .PARAMETER Name Key - string