diff --git a/.gitignore b/.gitignore index f230d84b7..e032e3d9e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ *.suo -*.user \ No newline at end of file +*.user +*.coverage \ No newline at end of file diff --git a/Modules/xSharePoint/DSCResources/MSFT_xSPBCSServiceApp/MSFT_xSPBCSServiceApp.psm1 b/Modules/xSharePoint/DSCResources/MSFT_xSPBCSServiceApp/MSFT_xSPBCSServiceApp.psm1 index 9e1190fbe..bbd3967e7 100644 --- a/Modules/xSharePoint/DSCResources/MSFT_xSPBCSServiceApp/MSFT_xSPBCSServiceApp.psm1 +++ b/Modules/xSharePoint/DSCResources/MSFT_xSPBCSServiceApp/MSFT_xSPBCSServiceApp.psm1 @@ -4,40 +4,37 @@ function Get-TargetResource [OutputType([System.Collections.Hashtable])] param ( - [parameter(Mandatory = $true)] - [System.String] - $Name, - - [parameter(Mandatory = $true)] - [System.String] - $ApplicationPool, - - [parameter(Mandatory = $true)] - [System.Management.Automation.PSCredential] - $InstallAccount + [parameter(Mandatory = $true)] [System.String] $Name, + [parameter(Mandatory = $true)] [System.String] $ApplicationPool, + [parameter(Mandatory = $false)] [System.String] $DatabaseName, + [parameter(Mandatory = $false)] [System.String] $DatabaseServer, + [parameter(Mandatory = $false)] [System.Management.Automation.PSCredential] $InstallAccount ) - Write-Verbose -Message "Getting BCS service app '$Name'" - $session = Get-xSharePointAuthenticatedPSSession -Credential $InstallAccount - - $result = Invoke-Command -Session $session -ArgumentList $PSBoundParameters -ScriptBlock { + $result = Invoke-xSharePointCommand -Credential $InstallAccount -Arguments $PSBoundParameters -ScriptBlock { $params = $args[0] - $serviceApp = Get-SPServiceApplication -Name $params.Name -ErrorAction SilentlyContinue | - Where-Object { $_.TypeName -eq "Business Data Connectivity Service Application" } - If ($null -eq $serviceApp) - { - return @{} + + $serviceApps = Get-SPServiceApplication -Name $params.Name -ErrorAction SilentlyContinue + if ($null -eq $serviceApps) { + return $null } - else - { - return @{ + $serviceApp = $serviceApps | Where-Object { $_.TypeName -eq "Business Data Connectivity Service Application" } + + If ($null -eq $serviceApp) { + return $null + } else { + $returnVal = @{ Name = $serviceApp.DisplayName ApplicationPool = $serviceApp.ApplicationPool.Name + DatabaseName = $serviceApp.Database.Name + DatabaseServer = $serviceApp.Database.Server.Name + InstallAccount = $params.InstallAccount } + return $returnVal } } - $result + return $result } @@ -46,45 +43,39 @@ function Set-TargetResource [CmdletBinding()] param ( - [parameter(Mandatory = $true)] - [System.String] - $Name, - - [parameter(Mandatory = $true)] - [System.String] - $ApplicationPool, - - [parameter(Mandatory = $true)] - [System.String] - $DatabaseName, - - [parameter(Mandatory = $true)] - [System.String] - $DatabaseServer, - - [parameter(Mandatory = $true)] - [System.Management.Automation.PSCredential] - $InstallAccount + [parameter(Mandatory = $true)] [System.String] $Name, + [parameter(Mandatory = $true)] [System.String] $ApplicationPool, + [parameter(Mandatory = $false)] [System.String] $DatabaseName, + [parameter(Mandatory = $false)] [System.String] $DatabaseServer, + [parameter(Mandatory = $false)] [System.Management.Automation.PSCredential] $InstallAccount ) - $result = Get-TargetResource -Name $Name -ApplicationPool $ApplicationPool -InstallAccount $InstallAccount - $session = Get-xSharePointAuthenticatedPSSession -Credential $InstallAccount + $result = Get-TargetResource @PSBoundParameters + if ($result.Count -eq 0) { Write-Verbose -Message "Creating BCS Service Application $Name" - Invoke-Command -Session $session -ArgumentList $PSBoundParameters -ScriptBlock { + Invoke-xSharePointCommand -Credential $InstallAccount -Arguments $PSBoundParameters -ScriptBlock { $params = $args[0] - $params.Remove("InstallAccount") | Out-Null - New-SPBusinessDataCatalogServiceApplication @params | Out-Null + + + New-SPBusinessDataCatalogServiceApplication -Name $params.Name ` + -ApplicationPool $params.ApplicationPool ` + -DatabaseName $params.DatabaseName ` + -DatabaseServer $params.DatabaseServer } } else { if ($ApplicationPool -ne $result.ApplicationPool) { Write-Verbose -Message "Updating BCS Service Application $Name" - Invoke-Command -Session $session -ArgumentList $PSBoundParameters -ScriptBlock { + Invoke-xSharePointCommand -Credential $InstallAccount -Arguments $PSBoundParameters -ScriptBlock { $params = $args[0] - $serviceApp = Get-SPServiceApplication -Name $params.Name -ErrorAction SilentlyContinue | - Where-Object { $_.TypeName -eq "Business Data Connectivity Service Application" } - $serviceApp | Set-SPBusinessDataCatalogServiceApplication -ApplicationPool (Get-SPServiceApplicationPool $params.ApplicationPool) + + + $appPool = Get-SPServiceApplicationPool -Identity $params.ApplicationPool + + Get-SPServiceApplication -Name $params.Name ` + | Where-Object { $_.TypeName -eq "Business Data Connectivity Service Application" } ` + | Set-SPBusinessDataCatalogServiceApplication -ApplicationPool $appPool } } } @@ -96,34 +87,18 @@ function Test-TargetResource [OutputType([System.Boolean])] param ( - [parameter(Mandatory = $true)] - [System.String] - $Name, - - [parameter(Mandatory = $true)] - [System.String] - $ApplicationPool, - - [parameter(Mandatory = $true)] - [System.String] - $DatabaseName, - - [parameter(Mandatory = $true)] - [System.String] - $DatabaseServer, - - [parameter(Mandatory = $true)] - [System.Management.Automation.PSCredential] - $InstallAccount + [parameter(Mandatory = $true)] [System.String] $Name, + [parameter(Mandatory = $true)] [System.String] $ApplicationPool, + [parameter(Mandatory = $false)] [System.String] $DatabaseName, + [parameter(Mandatory = $false)] [System.String] $DatabaseServer, + [parameter(Mandatory = $false)] [System.Management.Automation.PSCredential] $InstallAccount ) - $result = Get-TargetResource -Name $Name -ApplicationPool $ApplicationPool -InstallAccount $InstallAccount Write-Verbose -Message "Testing for BCS Service Application '$Name'" - if ($result.Count -eq 0) { return $false } - else { - if ($ApplicationPool -ne $result.ApplicationPool) { return $false } - } - return $true + $CurrentValues = Get-TargetResource @PSBoundParameters + + if ($null -eq $CurrentValues) { return $false } + return Test-xSharePointSpecificParameters -CurrentValues $CurrentValues -DesiredValues $PSBoundParameters -ValuesToCheck @("ApplicationPool") } Export-ModuleMember -Function *-TargetResource diff --git a/Modules/xSharePoint/DSCResources/MSFT_xSPBCSServiceApp/MSFT_xSPBCSServiceApp.schema.mof b/Modules/xSharePoint/DSCResources/MSFT_xSPBCSServiceApp/MSFT_xSPBCSServiceApp.schema.mof index 0aa52a420..08020d3ab 100644 --- a/Modules/xSharePoint/DSCResources/MSFT_xSPBCSServiceApp/MSFT_xSPBCSServiceApp.schema.mof +++ b/Modules/xSharePoint/DSCResources/MSFT_xSPBCSServiceApp/MSFT_xSPBCSServiceApp.schema.mof @@ -6,6 +6,6 @@ class MSFT_xSPBCSServiceApp : OMI_BaseResource [Required] String ApplicationPool; [Write] string DatabaseName; [Write] String DatabaseServer; - [Required, EmbeddedInstance("MSFT_Credential")] String InstallAccount; + [Write, EmbeddedInstance("MSFT_Credential")] String InstallAccount; }; diff --git a/Modules/xSharePoint/DSCResources/MSFT_xSPCacheAccounts/MSFT_xSPCacheAccounts.psm1 b/Modules/xSharePoint/DSCResources/MSFT_xSPCacheAccounts/MSFT_xSPCacheAccounts.psm1 index 60a1fd945..b96cd2072 100644 --- a/Modules/xSharePoint/DSCResources/MSFT_xSPCacheAccounts/MSFT_xSPCacheAccounts.psm1 +++ b/Modules/xSharePoint/DSCResources/MSFT_xSPCacheAccounts/MSFT_xSPCacheAccounts.psm1 @@ -4,49 +4,38 @@ function Get-TargetResource [OutputType([System.Collections.Hashtable])] param ( - [parameter(Mandatory = $true)] - [System.String] - $WebAppUrl, - - [parameter(Mandatory = $true)] - [System.String] - $SuperUserAlias, - - [parameter(Mandatory = $true)] - [System.String] - $SuperReaderAlias, - - [parameter(Mandatory = $true)] - [System.Management.Automation.PSCredential] - $InstallAccount + [parameter(Mandatory = $true)] [System.String] $WebAppUrl, + [parameter(Mandatory = $true)] [System.String] $SuperUserAlias, + [parameter(Mandatory = $true)] [System.String] $SuperReaderAlias, + [parameter(Mandatory = $false)] [System.Management.Automation.PSCredential] $InstallAccount ) Write-Verbose -Message "Getting cache accounts for $WebAppUrl" - $session = Get-xSharePointAuthenticatedPSSession -Credential $InstallAccount - - $result = Invoke-Command -Session $session -ArgumentList $PSBoundParameters -ScriptBlock { + $result = Invoke-xSharePointCommand -Credential $InstallAccount -Arguments $PSBoundParameters -ScriptBlock { $params = $args[0] - $wa = Get-SPWebApplication $params.WebAppUrl -ErrorAction SilentlyContinue + + + $wa = Get-SPWebApplication -Identity $params.WebAppUrl -ErrorAction SilentlyContinue - if ($null -eq $wa) { return @{} } + if ($null -eq $wa) { return $null } $returnVal = @{} $returnVal.Add("WebAppUrl", $params.WebAppUrl) if ($wa.Properties.ContainsKey("portalsuperuseraccount")) { - $returnVal.Add("portalsuperuseraccount", $wa.Properties["portalsuperuseraccount"]) + $returnVal.Add("SuperUserAlias", $wa.Properties["portalsuperuseraccount"]) } else { - $returnVal.Add("portalsuperuseraccount", "") + $returnVal.Add("SuperUserAlias", "") } if ($wa.Properties.ContainsKey("portalsuperreaderaccount")) { - $returnVal.Add("portalsuperreaderaccount", $wa.Properties["portalsuperreaderaccount"]) + $returnVal.Add("SuperReaderAlias", $wa.Properties["portalsuperreaderaccount"]) } else { - $returnVal.Add("portalsuperreaderaccount", "") + $returnVal.Add("SuperReaderAlias", "") } - + $returnVal.Add("InstallAccount", $params.InstallAccount) return $returnVal } - $result + return $result } @@ -55,32 +44,21 @@ function Set-TargetResource [CmdletBinding()] param ( - [parameter(Mandatory = $true)] - [System.String] - $WebAppUrl, - - [parameter(Mandatory = $true)] - [System.String] - $SuperUserAlias, - - [parameter(Mandatory = $true)] - [System.String] - $SuperReaderAlias, - - [parameter(Mandatory = $true)] - [System.Management.Automation.PSCredential] - $InstallAccount + [parameter(Mandatory = $true)] [System.String] $WebAppUrl, + [parameter(Mandatory = $true)] [System.String] $SuperUserAlias, + [parameter(Mandatory = $true)] [System.String] $SuperReaderAlias, + [parameter(Mandatory = $false)] [System.Management.Automation.PSCredential] $InstallAccount ) Write-Verbose -Message "Setting cache accounts for $WebAppUrl" - $session = Get-xSharePointAuthenticatedPSSession -Credential $InstallAccount - - $result = Invoke-Command -Session $session -ArgumentList $PSBoundParameters -ScriptBlock { - + $result = Invoke-xSharePointCommand -Credential $InstallAccount -Arguments $PSBoundParameters -ScriptBlock { $params = $args[0] - $wa = Get-SPWebApplication $params.WebAppUrl + $wa = Get-SPWebApplication -Identity $params.WebAppUrl -ErrorAction SilentlyContinue + if ($null -eq $wa) { + throw [Exception] "The web applications $($params.WebAppUrl) can not be found to set cache accounts" + } if ($wa.Properties.ContainsKey("portalsuperuseraccount")) { $wa.Properties["portalsuperuseraccount"] = $params.SuperUserAlias @@ -92,6 +70,15 @@ function Set-TargetResource } else { $wa.Properties.Add("portalsuperreaderaccount", $params.SuperReaderAlias) } + + $readPolicy = $wa.Policies.Add($params.SuperReaderAlias, $params.SuperReaderAlias) + $readPolicyRole = $wa.PolicyRoles.GetSpecialRole([Microsoft.SharePoint.Administration.SPPolicyRoleType]::FullRead) + $readPolicy.PolicyRoleBindings.Add($readPolicyRole) + + $policy = $wa.Policies.Add($params.SuperUserAlias, $params.SuperUserAlias) + $policyRole = $wa.PolicyRoles.GetSpecialRole([Microsoft.SharePoint.Administration.SPPolicyRoleType]::FullControl) + $policy.PolicyRoleBindings.Add($policyRole) + $wa.Update() } } @@ -103,32 +90,16 @@ function Test-TargetResource [OutputType([System.Boolean])] param ( - [parameter(Mandatory = $true)] - [System.String] - $WebAppUrl, - - [parameter(Mandatory = $true)] - [System.String] - $SuperUserAlias, - - [parameter(Mandatory = $true)] - [System.String] - $SuperReaderAlias, - - [parameter(Mandatory = $true)] - [System.Management.Automation.PSCredential] - $InstallAccount + [parameter(Mandatory = $true)] [System.String] $WebAppUrl, + [parameter(Mandatory = $true)] [System.String] $SuperUserAlias, + [parameter(Mandatory = $true)] [System.String] $SuperReaderAlias, + [parameter(Mandatory = $false)] [System.Management.Automation.PSCredential] $InstallAccount ) - $result = Get-TargetResource -WebAppUrl $WebAppUrl -SuperUserAlias $SuperUserAlias -SuperReaderAlias $SuperReaderAlias -InstallAccount $InstallAccount + $CurrentValues = Get-TargetResource @PSBoundParameters Write-Verbose -Message "Testing cache accounts for $WebAppUrl" - - if ($result.Count -eq 0) { return $false } - else { - if ($SuperUserAlias -ne $result.portalsuperuseraccount) { return $false } - if ($SuperReaderAlias -ne $result.portalsuperreaderaccount) { return $false } - } - return $true + if ($null -eq $CurrentValues) {return $false } + return Test-xSharePointSpecificParameters -CurrentValues $CurrentValues -DesiredValues $PSBoundParameters -ValuesToCheck @("SuperUserAlias", "SuperReaderAlias") } Export-ModuleMember -Function *-TargetResource diff --git a/Modules/xSharePoint/DSCResources/MSFT_xSPCacheAccounts/MSFT_xSPCacheAccounts.schema.mof b/Modules/xSharePoint/DSCResources/MSFT_xSPCacheAccounts/MSFT_xSPCacheAccounts.schema.mof index 0a905d9e0..9ebdce416 100644 --- a/Modules/xSharePoint/DSCResources/MSFT_xSPCacheAccounts/MSFT_xSPCacheAccounts.schema.mof +++ b/Modules/xSharePoint/DSCResources/MSFT_xSPCacheAccounts/MSFT_xSPCacheAccounts.schema.mof @@ -5,6 +5,6 @@ class MSFT_xSPCacheAccounts : OMI_BaseResource [Key] string WebAppUrl; [Required] string SuperUserAlias; [Required] string SuperReaderAlias; - [Required, EmbeddedInstance("MSFT_Credential")] String InstallAccount; + [Write, EmbeddedInstance("MSFT_Credential")] String InstallAccount; }; diff --git a/Modules/xSharePoint/DSCResources/MSFT_xSPClearRemoteSessions/MSFT_xSPClearRemoteSessions.psm1 b/Modules/xSharePoint/DSCResources/MSFT_xSPClearRemoteSessions/MSFT_xSPClearRemoteSessions.psm1 deleted file mode 100644 index 8e359b001..000000000 --- a/Modules/xSharePoint/DSCResources/MSFT_xSPClearRemoteSessions/MSFT_xSPClearRemoteSessions.psm1 +++ /dev/null @@ -1,45 +0,0 @@ -function Get-TargetResource -{ - [CmdletBinding()] - [OutputType([System.Collections.Hashtable])] - param - ( - [parameter(Mandatory = $true)] - [System.Boolean] - $ClearRemoteSessions - ) - - return Get-PSSession -ComputerName "localhost" -} - - -function Set-TargetResource -{ - [CmdletBinding()] - param - ( - [parameter(Mandatory = $true)] - [System.Boolean] - $ClearRemoteSessions - ) - - Get-PSSession -ComputerName "localhost" | Remove-PSSession -} - - -function Test-TargetResource -{ - [CmdletBinding()] - [OutputType([System.Boolean])] - param - ( - [parameter(Mandatory = $true)] - [System.Boolean] - $ClearRemoteSessions - ) - return !$ClearRemoteSessions -} - - -Export-ModuleMember -Function *-TargetResource - diff --git a/Modules/xSharePoint/DSCResources/MSFT_xSPClearRemoteSessions/MSFT_xSPClearRemoteSessions.schema.mof b/Modules/xSharePoint/DSCResources/MSFT_xSPClearRemoteSessions/MSFT_xSPClearRemoteSessions.schema.mof deleted file mode 100644 index 0065a1181..000000000 --- a/Modules/xSharePoint/DSCResources/MSFT_xSPClearRemoteSessions/MSFT_xSPClearRemoteSessions.schema.mof +++ /dev/null @@ -1,7 +0,0 @@ - -[ClassVersion("1.0.0.0"), FriendlyName("xSPClearRemoteSessions")] -class MSFT_xSPClearRemoteSessions : OMI_BaseResource -{ - [Key] Boolean ClearRemoteSessions; -}; - diff --git a/Modules/xSharePoint/DSCResources/MSFT_xSPCreateFarm/MSFT_xSPCreateFarm.psm1 b/Modules/xSharePoint/DSCResources/MSFT_xSPCreateFarm/MSFT_xSPCreateFarm.psm1 index 07133f3d7..af9b56d41 100644 --- a/Modules/xSharePoint/DSCResources/MSFT_xSPCreateFarm/MSFT_xSPCreateFarm.psm1 +++ b/Modules/xSharePoint/DSCResources/MSFT_xSPCreateFarm/MSFT_xSPCreateFarm.psm1 @@ -4,165 +4,141 @@ function Get-TargetResource [OutputType([System.Collections.Hashtable])] param ( - [parameter(Mandatory = $true)] - [System.String] - $FarmConfigDatabaseName, - - [parameter(Mandatory = $true)] - [System.String] - $DatabaseServer, - - [parameter(Mandatory = $true)] - [System.Management.Automation.PSCredential] - $FarmAccount, - - [parameter(Mandatory = $true)] - [System.Management.Automation.PSCredential] - $InstallAccount, - - [parameter(Mandatory = $true)] - [System.String] - $Passphrase, - - [parameter(Mandatory = $true)] - [System.String] - $AdminContentDatabaseName, - - [System.UInt32] - $CentralAdministrationPort + [parameter(Mandatory = $true)] [System.String] $FarmConfigDatabaseName, + [parameter(Mandatory = $true)] [System.String] $DatabaseServer, + [parameter(Mandatory = $true)] [System.Management.Automation.PSCredential] $FarmAccount, + [parameter(Mandatory = $false)] [System.Management.Automation.PSCredential] $InstallAccount, + [parameter(Mandatory = $true)] [System.String] $Passphrase, + [parameter(Mandatory = $true)] [System.String] $AdminContentDatabaseName, + [parameter(Mandatory = $false)] [System.UInt32] $CentralAdministrationPort, + [parameter(Mandatory = $false)] [ValidateSet("Application","Custom","DistributedCache","Search","SingleServer","SingleServerFarm","SpecialLoad","WebFrontEnd")] $ServerRole ) Write-Verbose -Message "Checking for local SP Farm" - $session = Get-xSharePointAuthenticatedPSSession -Credential $InstallAccount + if ($null -ne $ServerRole -and (Get-xSharePointInstalledProductVersion).FileMajorPart -ne 16) { + throw [Exception] "Server role is only supported in SharePoint 2016." + } + + $result = Invoke-xSharePointCommand -Credential $InstallAccount -Arguments $PSBoundParameters -ScriptBlock { + $params = $args[0] - $result = Invoke-Command -Session $session -ScriptBlock { try { - $spFarm = Get-SPFarm -ErrorAction SilentlyContinue + $spFarm = Get-SPFarm } catch { Write-Verbose -Message "Unable to detect local farm." } - if ($null -eq $spFarm) {return @{ }} + if ($null -eq $spFarm) { return $null } + + $configDb = Get-SPDatabase | Where-Object { $_.Name -eq $spFarm.Name -and $_.Type -eq "Configuration Database" } + $centralAdminSite = Get-SPWebApplication -IncludeCentralAdministration | Where-Object { $_.IsAdministrationWebApplication -eq $true } + + if ($params.FarmAccount.UserName -eq $spFarm.DefaultServiceAccount.Name) { + $farmAccount = $params.FarmAccount + } else { + $farmAccount = $spFarm.DefaultServiceAccount.Name + } $returnValue = @{ - FarmName = $spFarm.Name + FarmConfigDatabaseName = $spFarm.Name + DatabaseServer = $configDb.Server.Name + FarmAccount = $farmAccount + InstallAccount = $params.InstallAccount + Passphrase = $params.Passphrase + AdminContentDatabaseName = $centralAdminSite.ContentDatabases[0].Name + CentralAdministrationPort = (New-Object System.Uri $centralAdminSite.Url).Port } return $returnValue } - $result + return $result } - function Set-TargetResource { [CmdletBinding()] param ( - [parameter(Mandatory = $true)] - [System.String] - $FarmConfigDatabaseName, - - [parameter(Mandatory = $true)] - [System.String] - $DatabaseServer, - - [parameter(Mandatory = $true)] - [System.Management.Automation.PSCredential] - $FarmAccount, - - [parameter(Mandatory = $true)] - [System.Management.Automation.PSCredential] - $InstallAccount, - - [parameter(Mandatory = $true)] - [System.String] - $Passphrase, - - [parameter(Mandatory = $true)] - [System.String] - $AdminContentDatabaseName, - - [System.UInt32] - $CentralAdministrationPort = 9999 + [parameter(Mandatory = $true)] [System.String] $FarmConfigDatabaseName, + [parameter(Mandatory = $true)] [System.String] $DatabaseServer, + [parameter(Mandatory = $true)] [System.Management.Automation.PSCredential] $FarmAccount, + [parameter(Mandatory = $false)] [System.Management.Automation.PSCredential] $InstallAccount, + [parameter(Mandatory = $true)] [System.String] $Passphrase, + [parameter(Mandatory = $true)] [System.String] $AdminContentDatabaseName, + [parameter(Mandatory = $false)] [System.UInt32] $CentralAdministrationPort, + [parameter(Mandatory = $false)] [ValidateSet("Application","Custom","DistributedCache","Search","SingleServer","SingleServerFarm","SpecialLoad","WebFrontEnd")] $ServerRole ) + + if ($null -ne $ServerRole -and (Get-xSharePointInstalledProductVersion).FileMajorPart -ne 16) { + throw [Exception] "Server role is only supported in SharePoint 2016." + } - $session = Get-xSharePointAuthenticatedPSSession -Credential $InstallAccount -ForceNewSession $true + if (-not $PSBoundParameters.ContainsKey("CentralAdministrationPort")) { $PSBoundParameters.Add("CentralAdministrationPort", 9999) } - Write-Verbose -Message "Setting up farm" - Invoke-Command -Session $session -ArgumentList $PSBoundParameters -ScriptBlock { + $result = Invoke-xSharePointCommand -Credential $InstallAccount -Arguments $PSBoundParameters -ScriptBlock { $params = $args[0] - if (Test-Path -Path "C:\Program Files\Common Files\microsoft shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.dll") { - Write-Verbose -Message "Version: SharePoint 2016" - - New-SPConfigurationDatabase -DatabaseName $params.FarmConfigDatabaseName ` - -DatabaseServer $params.DatabaseServer ` - -Passphrase (ConvertTo-SecureString -String $params.Passphrase -AsPlainText -force) ` - -FarmCredentials $params.FarmAccount ` - -SkipRegisterAsDistributedCacheHost:$true ` - -LocalServerRole Custom ` - -AdministrationContentDatabaseName $params.AdminContentDatabaseName - } else { - Write-Verbose -Message "Version: SharePoint 2013" - - New-SPConfigurationDatabase -DatabaseName $params.FarmConfigDatabaseName ` - -DatabaseServer $params.DatabaseServer ` - -Passphrase (ConvertTo-SecureString -String $params.Passphrase -AsPlainText -force) ` - -FarmCredentials $params.FarmAccount ` - -SkipRegisterAsDistributedCacheHost:$true ` - -AdministrationContentDatabaseName $params.AdminContentDatabaseName + $newFarmArgs = @{ + DatabaseServer = $params.DatabaseServer + DatabaseName = $params.FarmConfigDatabaseName + FarmCredentials = $params.FarmAccount + AdministrationContentDatabaseName = $params.AdminContentDatabaseName + Passphrase = (ConvertTo-SecureString -String $params.Passphrase -AsPlainText -force) + SkipRegisterAsDistributedCacheHost = $true + } + + switch((Get-xSharePointInstalledProductVersion).FileMajorPart) { + 15 { + Write-Verbose -Message "Detected Version: SharePoint 2013" + } + 16 { + if ($params.ContainsKey("ServerRole") -eq $true) { + Write-Verbose -Message "Detected Version: SharePoint 2016 - configuring server as $($params.ServerRole)" + $newFarmArgs.Add("LocalServerRole", $params.ServerRole) + } else { + Write-Verbose -Message "Detected Version: SharePoint 2016 - no server role provided, configuring server without a specific role" + $newFarmArgs.Add("ServerRoleOptional", $true) + } + } + Default { + throw [Exception] "An unknown version of SharePoint (Major version $_) was detected. Only versions 15 (SharePoint 2013) or 16 (SharePoint 2016) are supported." + } } + New-SPConfigurationDatabase @newFarmArgs Install-SPHelpCollection -All Initialize-SPResourceSecurity Install-SPService - Install-SPFeature -AllExistingFeatures -Force - New-SPCentralAdministration -Port 9999 -WindowsAuthProvider NTLM + Install-SPFeature -AllExistingFeatures -Force + New-SPCentralAdministration -Port $params.CentralAdministrationPort -WindowsAuthProvider "NTLM" Install-SPApplicationContent } } - function Test-TargetResource { [CmdletBinding()] [OutputType([System.Boolean])] param ( - [parameter(Mandatory = $true)] - [System.String] - $FarmConfigDatabaseName, - - [parameter(Mandatory = $true)] - [System.String] - $DatabaseServer, - - [parameter(Mandatory = $true)] - [System.Management.Automation.PSCredential] - $FarmAccount, - - [parameter(Mandatory = $true)] - [System.Management.Automation.PSCredential] - $InstallAccount, - - [parameter(Mandatory = $true)] - [System.String] - $Passphrase, - - [parameter(Mandatory = $true)] - [System.String] - $AdminContentDatabaseName, - - [System.UInt32] - $CentralAdministrationPort = 9999 + [parameter(Mandatory = $true)] [System.String] $FarmConfigDatabaseName, + [parameter(Mandatory = $true)] [System.String] $DatabaseServer, + [parameter(Mandatory = $true)] [System.Management.Automation.PSCredential] $FarmAccount, + [parameter(Mandatory = $false)] [System.Management.Automation.PSCredential] $InstallAccount, + [parameter(Mandatory = $true)] [System.String] $Passphrase, + [parameter(Mandatory = $true)] [System.String] $AdminContentDatabaseName, + [parameter(Mandatory = $false)] [System.UInt32] $CentralAdministrationPort, + [parameter(Mandatory = $false)] [ValidateSet("Application","Custom","DistributedCache","Search","SingleServer","SingleServerFarm","SpecialLoad","WebFrontEnd")] $ServerRole ) - $result = Get-TargetResource -FarmConfigDatabaseName $FarmConfigDatabaseName -DatabaseServer $DatabaseServer -FarmAccount $FarmAccount -InstallAccount $InstallAccount -Passphrase $Passphrase -AdminContentDatabaseName $AdminContentDatabaseName -CentralAdministrationPort $CentralAdministrationPort + if ($null -ne $ServerRole -and (Get-xSharePointInstalledProductVersion).FileMajorPart -ne 16) { + throw [Exception] "Server role is only supported in SharePoint 2016." + } - if ($result.Count -eq 0) { return $false } - return $true + $CurrentValues = Get-TargetResource @PSBoundParameters + Write-Verbose "Checking for local farm presence" + if ($null -eq $CurrentValues) { return $false } + return Test-xSharePointSpecificParameters -CurrentValues $CurrentValues -DesiredValues $PSBoundParameters -ValuesToCheck @("FarmConfigDatabaseName") } - Export-ModuleMember -Function *-TargetResource diff --git a/Modules/xSharePoint/DSCResources/MSFT_xSPCreateFarm/MSFT_xSPCreateFarm.schema.mof b/Modules/xSharePoint/DSCResources/MSFT_xSPCreateFarm/MSFT_xSPCreateFarm.schema.mof index 0d04007d6..3c51d885e 100644 --- a/Modules/xSharePoint/DSCResources/MSFT_xSPCreateFarm/MSFT_xSPCreateFarm.schema.mof +++ b/Modules/xSharePoint/DSCResources/MSFT_xSPCreateFarm/MSFT_xSPCreateFarm.schema.mof @@ -5,8 +5,9 @@ class MSFT_xSPCreateFarm : OMI_BaseResource [Key] String FarmConfigDatabaseName; [Key] String DatabaseServer; [Required, EmbeddedInstance("MSFT_Credential")] String FarmAccount; - [Required, EmbeddedInstance("MSFT_Credential")] String InstallAccount; + [Write, EmbeddedInstance("MSFT_Credential")] String InstallAccount; [Required] String Passphrase; [Required] String AdminContentDatabaseName; [Write] uint32 CentralAdministrationPort; + [Write, ValueMap{"Application","Custom","DistributedCache","Search","SingleServer","SingleServerFarm","SpecialLoad","WebFrontEnd"}, Values{"Application","Custom","DistributedCache","Search","SingleServer","SingleServerFarm","SpecialLoad","WebFrontEnd"}] string ServerRole; }; diff --git a/Modules/xSharePoint/DSCResources/MSFT_xSPDiagnosticLoggingSettings/MSFT_xSPDiagnosticLoggingSettings.psm1 b/Modules/xSharePoint/DSCResources/MSFT_xSPDiagnosticLoggingSettings/MSFT_xSPDiagnosticLoggingSettings.psm1 index e7f14f201..a9eac3b62 100644 --- a/Modules/xSharePoint/DSCResources/MSFT_xSPDiagnosticLoggingSettings/MSFT_xSPDiagnosticLoggingSettings.psm1 +++ b/Modules/xSharePoint/DSCResources/MSFT_xSPDiagnosticLoggingSettings/MSFT_xSPDiagnosticLoggingSettings.psm1 @@ -4,28 +4,37 @@ function Get-TargetResource [OutputType([System.Collections.Hashtable])] param ( - [parameter(Mandatory = $true)] - [System.String] - $LogPath, - - [parameter(Mandatory = $true)] - [System.UInt32] - $LogSpaceInGB, - - [parameter(Mandatory = $true)] - [System.Management.Automation.PSCredential] - $InstallAccount + [parameter(Mandatory = $true)] [System.String] $LogPath, + [parameter(Mandatory = $true)] [System.UInt32] $LogSpaceInGB, + [parameter(Mandatory = $false)] [System.Boolean] $AppAnalyticsAutomaticUploadEnabled, + [parameter(Mandatory = $false)] [System.Boolean] $CustomerExperienceImprovementProgramEnabled, + [parameter(Mandatory = $false)] [System.UInt32] $DaysToKeepLogs, + [parameter(Mandatory = $false)] [System.Boolean] $DownloadErrorReportingUpdatesEnabled, + [parameter(Mandatory = $false)] [System.Boolean] $ErrorReportingAutomaticUploadEnabled, + [parameter(Mandatory = $false)] [System.Boolean] $ErrorReportingEnabled, + [parameter(Mandatory = $false)] [System.Boolean] $EventLogFloodProtectionEnabled, + [parameter(Mandatory = $false)] [System.UInt32] $EventLogFloodProtectionNotifyInterval, + [parameter(Mandatory = $false)] [System.UInt32] $EventLogFloodProtectionQuietPeriod, + [parameter(Mandatory = $false)] [System.UInt32] $EventLogFloodProtectionThreshold, + [parameter(Mandatory = $false)] [System.UInt32] $EventLogFloodProtectionTriggerPeriod, + [parameter(Mandatory = $false)] [System.UInt32] $LogCutInterval, + [parameter(Mandatory = $false)] [System.Boolean] $LogMaxDiskSpaceUsageEnabled, + [parameter(Mandatory = $false)] [System.UInt32] $ScriptErrorReportingDelay, + [parameter(Mandatory = $false)] [System.Boolean] $ScriptErrorReportingEnabled, + [parameter(Mandatory = $false)] [System.Boolean] $ScriptErrorReportingRequireAuth, + [parameter(Mandatory = $false)] [System.Management.Automation.PSCredential] $InstallAccount ) Write-Verbose -Message "Getting diagnostic configuration settings" - $session = Get-xSharePointAuthenticatedPSSession -Credential $InstallAccount - $result = Invoke-Command -Session $session -ScriptBlock { + $result = Invoke-xSharePointCommand -Credential $InstallAccount -Arguments $PSBoundParameters -ScriptBlock { + $params = $args[0] + + $dc = Get-SPDiagnosticConfig -ErrorAction SilentlyContinue - if ($null -eq $dc) { return @{} } + if ($null -eq $dc) { return $null } return @{ - AllowLegacyTraceProviders = $dc.AllowLegacyTraceProviders AppAnalyticsAutomaticUploadEnabled = $dc.AppAnalyticsAutomaticUploadEnabled CustomerExperienceImprovementProgramEnabled = $dc.CustomerExperienceImprovementProgramEnabled ErrorReportingEnabled = $dc.ErrorReportingEnabled @@ -33,8 +42,8 @@ function Get-TargetResource DownloadErrorReportingUpdatesEnabled = $dc.DownloadErrorReportingUpdatesEnabled DaysToKeepLogs = $dc.DaysToKeepLogs LogMaxDiskSpaceUsageEnabled = $dc.LogMaxDiskSpaceUsageEnabled - LogDiskSpaceUsageGB = $dc.LogDiskSpaceUsageGB - LogLocation = $dc.LogLocation + LogSpaceInGB = $dc.LogDiskSpaceUsageGB + LogPath = $dc.LogLocation LogCutInterval = $dc.LogCutInterval EventLogFloodProtectionEnabled = $dc.EventLogFloodProtectionEnabled EventLogFloodProtectionThreshold = $dc.EventLogFloodProtectionThreshold @@ -44,9 +53,10 @@ function Get-TargetResource ScriptErrorReportingEnabled = $dc.ScriptErrorReportingEnabled ScriptErrorReportingRequireAuth = $dc.ScriptErrorReportingRequireAuth ScriptErrorReportingDelay = $dc.ScriptErrorReportingDelay + InstallAccount = $params.InstallAccount } } - $result + return $result } @@ -55,77 +65,36 @@ function Set-TargetResource [CmdletBinding()] param ( - [parameter(Mandatory = $true)] - [System.String] - $LogPath, - - [parameter(Mandatory = $true)] - [System.UInt32] - $LogSpaceInGB, - - [System.Boolean] - $AppAnalyticsAutomaticUploadEnabled = $true, - - [System.Boolean] - $CustomerExperienceImprovementProgramEnabled = $true, - - [System.UInt32] - $DaysToKeepLogs = 14, - - [System.Boolean] - $DownloadErrorReportingUpdatesEnabled = $true, - - [System.Boolean] - $ErrorReportingAutomaticUploadEnabled = $true, - - [System.Boolean] - $ErrorReportingEnabled = $true, - - [System.Boolean] - $EventLogFloodProtectionEnabled = $true, - - [System.UInt32] - $EventLogFloodProtectionNotifyInterval = 5, - - [System.UInt32] - $EventLogFloodProtectionQuietPeriod = 2, - - [System.UInt32] - $EventLogFloodProtectionThreshold = 5, - - [System.UInt32] - $EventLogFloodProtectionTriggerPeriod = 2, - - [System.UInt32] - $LogCutInterval = 30, - - [System.Boolean] - $LogMaxDiskSpaceUsageEnabled = $true, - - [System.UInt32] - $ScriptErrorReportingDelay = 30, - - [System.Boolean] - $ScriptErrorReportingEnabled = $true, - - [System.Boolean] - $ScriptErrorReportingRequireAuth = $true, - - [parameter(Mandatory = $true)] - [System.Management.Automation.PSCredential] - $InstallAccount + [parameter(Mandatory = $true)] [System.String] $LogPath, + [parameter(Mandatory = $true)] [System.UInt32] $LogSpaceInGB, + [parameter(Mandatory = $false)] [System.Boolean] $AppAnalyticsAutomaticUploadEnabled, + [parameter(Mandatory = $false)] [System.Boolean] $CustomerExperienceImprovementProgramEnabled, + [parameter(Mandatory = $false)] [System.UInt32] $DaysToKeepLogs, + [parameter(Mandatory = $false)] [System.Boolean] $DownloadErrorReportingUpdatesEnabled, + [parameter(Mandatory = $false)] [System.Boolean] $ErrorReportingAutomaticUploadEnabled, + [parameter(Mandatory = $false)] [System.Boolean] $ErrorReportingEnabled, + [parameter(Mandatory = $false)] [System.Boolean] $EventLogFloodProtectionEnabled, + [parameter(Mandatory = $false)] [System.UInt32] $EventLogFloodProtectionNotifyInterval, + [parameter(Mandatory = $false)] [System.UInt32] $EventLogFloodProtectionQuietPeriod, + [parameter(Mandatory = $false)] [System.UInt32] $EventLogFloodProtectionThreshold, + [parameter(Mandatory = $false)] [System.UInt32] $EventLogFloodProtectionTriggerPeriod, + [parameter(Mandatory = $false)] [System.UInt32] $LogCutInterval, + [parameter(Mandatory = $false)] [System.Boolean] $LogMaxDiskSpaceUsageEnabled, + [parameter(Mandatory = $false)] [System.UInt32] $ScriptErrorReportingDelay, + [parameter(Mandatory = $false)] [System.Boolean] $ScriptErrorReportingEnabled, + [parameter(Mandatory = $false)] [System.Boolean] $ScriptErrorReportingRequireAuth, + [parameter(Mandatory = $false)] [System.Management.Automation.PSCredential] $InstallAccount ) Write-Verbose -Message "Setting diagnostic configuration settings" - $session = Get-xSharePointAuthenticatedPSSession -Credential $InstallAccount - - $result = Invoke-Command -Session $session -ArgumentList $PSBoundParameters -ScriptBlock { + Invoke-xSharePointCommand -Credential $InstallAccount -Arguments $PSBoundParameters -ScriptBlock { $params = $args[0] + - $params.Remove("InstallAccount") | Out-Null - $params = Rename-xSharePointParamValue -params $params -oldName "LogPath" -newName "LogLocation" - $params = Rename-xSharePointParamValue -params $params -oldName "LogSpaceInGB" -newName "LogDiskSpaceUsageGB" + if ($params.ContainsKey("InstallAccount")) { $params.Remove("InstallAccount") | Out-Null } + $params = $params | Rename-xSharePointParamValue -oldName "LogPath" -newName "LogLocation" ` + | Rename-xSharePointParamValue -oldName "LogSpaceInGB" -newName "LogDiskSpaceUsageGB" Set-SPDiagnosticConfig @params } @@ -138,92 +107,32 @@ function Test-TargetResource [OutputType([System.Boolean])] param ( - [parameter(Mandatory = $true)] - [System.String] - $LogPath, - - [parameter(Mandatory = $true)] - [System.UInt32] - $LogSpaceInGB, - - [System.Boolean] - $AppAnalyticsAutomaticUploadEnabled = $true, - - [System.Boolean] - $CustomerExperienceImprovementProgramEnabled = $true, - - [System.UInt32] - $DaysToKeepLogs = 14, - - [System.Boolean] - $DownloadErrorReportingUpdatesEnabled = $true, - - [System.Boolean] - $ErrorReportingAutomaticUploadEnabled = $true, - - [System.Boolean] - $ErrorReportingEnabled = $true, - - [System.Boolean] - $EventLogFloodProtectionEnabled = $true, - - [System.UInt32] - $EventLogFloodProtectionNotifyInterval = 5, - - [System.UInt32] - $EventLogFloodProtectionQuietPeriod = 2, - - [System.UInt32] - $EventLogFloodProtectionThreshold = 5, - - [System.UInt32] - $EventLogFloodProtectionTriggerPeriod = 2, - - [System.UInt32] - $LogCutInterval = 30, - - [System.Boolean] - $LogMaxDiskSpaceUsageEnabled = $true, - - [System.UInt32] - $ScriptErrorReportingDelay = 30, - - [System.Boolean] - $ScriptErrorReportingEnabled = $true, - - [System.Boolean] - $ScriptErrorReportingRequireAuth = $true, - - [parameter(Mandatory = $true)] - [System.Management.Automation.PSCredential] - $InstallAccount + [parameter(Mandatory = $true)] [System.String] $LogPath, + [parameter(Mandatory = $true)] [System.UInt32] $LogSpaceInGB, + [parameter(Mandatory = $false)] [System.Boolean] $AppAnalyticsAutomaticUploadEnabled, + [parameter(Mandatory = $false)] [System.Boolean] $CustomerExperienceImprovementProgramEnabled, + [parameter(Mandatory = $false)] [System.UInt32] $DaysToKeepLogs, + [parameter(Mandatory = $false)] [System.Boolean] $DownloadErrorReportingUpdatesEnabled, + [parameter(Mandatory = $false)] [System.Boolean] $ErrorReportingAutomaticUploadEnabled, + [parameter(Mandatory = $false)] [System.Boolean] $ErrorReportingEnabled, + [parameter(Mandatory = $false)] [System.Boolean] $EventLogFloodProtectionEnabled, + [parameter(Mandatory = $false)] [System.UInt32] $EventLogFloodProtectionNotifyInterval, + [parameter(Mandatory = $false)] [System.UInt32] $EventLogFloodProtectionQuietPeriod, + [parameter(Mandatory = $false)] [System.UInt32] $EventLogFloodProtectionThreshold, + [parameter(Mandatory = $false)] [System.UInt32] $EventLogFloodProtectionTriggerPeriod, + [parameter(Mandatory = $false)] [System.UInt32] $LogCutInterval, + [parameter(Mandatory = $false)] [System.Boolean] $LogMaxDiskSpaceUsageEnabled, + [parameter(Mandatory = $false)] [System.UInt32] $ScriptErrorReportingDelay, + [parameter(Mandatory = $false)] [System.Boolean] $ScriptErrorReportingEnabled, + [parameter(Mandatory = $false)] [System.Boolean] $ScriptErrorReportingRequireAuth, + [parameter(Mandatory = $false)] [System.Management.Automation.PSCredential] $InstallAccount ) - Write-Verbose -Message "Getting diagnostic configuration settings" - - $result = Get-TargetResource -LogPath $LogPath -LogSpaceInGB $LogSpaceInGB -InstallAccount $InstallAccount - if ($LogPath -ne $result.LogLocation) { return $false } - if ($LogSpaceInGB -ne $result.LogDiskSpaceUsageGB) { return $false } - - if ($AppAnalyticsAutomaticUploadEnabled -ne $result.AppAnalyticsAutomaticUploadEnabled) { return $false } - if ($CustomerExperienceImprovementProgramEnabled -ne $result.CustomerExperienceImprovementProgramEnabled) { return $false } - if ($DaysToKeepLogs -ne $result.DaysToKeepLogs) { return $false } - if ($DownloadErrorReportingUpdatesEnabled -ne $result.DownloadErrorReportingUpdatesEnabled) { return $false } - if ($ErrorReportingAutomaticUploadEnabled -ne $result.ErrorReportingAutomaticUploadEnabled) { return $false } - if ($ErrorReportingEnabled -ne $result.ErrorReportingEnabled) { return $false } - if ($EventLogFloodProtectionEnabled -ne $result.EventLogFloodProtectionEnabled) { return $false } - if ($EventLogFloodProtectionNotifyInterval -ne $result.EventLogFloodProtectionNotifyInterval) { return $false } - if ($EventLogFloodProtectionQuietPeriod -ne $result.EventLogFloodProtectionQuietPeriod) { return $false } - if ($EventLogFloodProtectionThreshold -ne $result.EventLogFloodProtectionThreshold) { return $false } - if ($EventLogFloodProtectionTriggerPeriod -ne $result.EventLogFloodProtectionTriggerPeriod) { return $false } - if ($LogCutInterval -ne $result.LogCutInterval) { return $false } - if ($LogMaxDiskSpaceUsageEnabled -ne $result.LogMaxDiskSpaceUsageEnabled) { return $false } - if ($ScriptErrorReportingDelay -ne $result.ScriptErrorReportingDelay) { return $false } - if ($ScriptErrorReportingEnabled -ne $result.ScriptErrorReportingEnabled) { return $false } - if ($ScriptErrorReportingRequireAuth -ne $result.ScriptErrorReportingRequireAuth) { return $false } - return $true + Write-Verbose -Message "Testing diagnostic configuration settings" + $CurrentValues = Get-TargetResource @PSBoundParameters + if ($null -eq $CurrentValues) { return $false } + return Test-xSharePointSpecificParameters -CurrentValues $CurrentValues -DesiredValues $PSBoundParameters } Export-ModuleMember -Function *-TargetResource - diff --git a/Modules/xSharePoint/DSCResources/MSFT_xSPDiagnosticLoggingSettings/MSFT_xSPDiagnosticLoggingSettings.schema.mof b/Modules/xSharePoint/DSCResources/MSFT_xSPDiagnosticLoggingSettings/MSFT_xSPDiagnosticLoggingSettings.schema.mof index 7a2665b76..26731d015 100644 --- a/Modules/xSharePoint/DSCResources/MSFT_xSPDiagnosticLoggingSettings/MSFT_xSPDiagnosticLoggingSettings.schema.mof +++ b/Modules/xSharePoint/DSCResources/MSFT_xSPDiagnosticLoggingSettings/MSFT_xSPDiagnosticLoggingSettings.schema.mof @@ -20,6 +20,6 @@ class MSFT_xSPDiagnosticLoggingSettings : OMI_BaseResource [Write] uint32 ScriptErrorReportingDelay; [Write] boolean ScriptErrorReportingEnabled; [Write] boolean ScriptErrorReportingRequireAuth; - [Required, EmbeddedInstance("MSFT_Credential")] String InstallAccount; + [Write, EmbeddedInstance("MSFT_Credential")] String InstallAccount; }; diff --git a/Modules/xSharePoint/DSCResources/MSFT_xSPDistributedCacheService/MSFT_xSPDistributedCacheService.psm1 b/Modules/xSharePoint/DSCResources/MSFT_xSPDistributedCacheService/MSFT_xSPDistributedCacheService.psm1 index f71739057..c18bac757 100644 --- a/Modules/xSharePoint/DSCResources/MSFT_xSPDistributedCacheService/MSFT_xSPDistributedCacheService.psm1 +++ b/Modules/xSharePoint/DSCResources/MSFT_xSPDistributedCacheService/MSFT_xSPDistributedCacheService.psm1 @@ -4,57 +4,50 @@ function Get-TargetResource [OutputType([System.Collections.Hashtable])] param ( - [parameter(Mandatory = $true)] - [System.String] - $Name, - - [parameter(Mandatory = $true)] - [ValidateSet("Present","Absent")] - [System.String] - $Ensure, - - [parameter(Mandatory = $true)] - [System.UInt32] - $CacheSizeInMB, - - [parameter(Mandatory = $true)] - [System.String] - $ServiceAccount, - - [parameter(Mandatory = $true)] - [System.Management.Automation.PSCredential] - $InstallAccount, - - [parameter(Mandatory = $true)] - [System.Boolean] - $CreateFirewallRules + [parameter(Mandatory = $true)] [System.String] $Name, + [parameter(Mandatory = $true)] [System.UInt32] $CacheSizeInMB, + [parameter(Mandatory = $true)] [System.String] $ServiceAccount, + [parameter(Mandatory = $true)] [System.Boolean] $CreateFirewallRules, + [parameter(Mandatory = $true)] [ValidateSet("Present","Absent")] [System.String] $Ensure, + [parameter(Mandatory = $false)] [System.Management.Automation.PSCredential] $InstallAccount ) Write-Verbose -Message "Getting the cache host information" + + $result = Invoke-xSharePointCommand -Credential $InstallAccount -Arguments $PSBoundParameters -ScriptBlock { + $params = $args[0] + $nullReturnValue = @{ + Name = $params.Name + Ensure = "Absent" + InstallAccount = $params.InstallAccount + } - $session = Get-xSharePointAuthenticatedPSSession -Credential $InstallAccount - - $result = Invoke-Command -Session $session -ScriptBlock { try { Use-CacheCluster -ErrorAction SilentlyContinue $cacheHost = Get-CacheHost -ErrorAction SilentlyContinue - if ($null -eq $cacheHost) { return @{} } - $cacheHostConfig = Get-AFCacheHostConfiguration -ComputerName $cacheHost.HostName -CachePort $cacheHost.PortNo -ErrorAction SilentlyContinue - if ($null -eq $cacheHostConfig) { return @{} } + + if ($null -eq $cacheHost) { return $nullReturnValue } + $computerName = ([System.Net.Dns]::GetHostByName($env:computerName)).HostName + $cacheHostConfig = Get-AFCacheHostConfiguration -ComputerName $computerName -CachePort ($cacheHost | Where-Object { $_.HostName -eq $computerName }).PortNo -ErrorAction SilentlyContinue + + $windowsService = Get-WmiObject "win32_service" -Filter "Name='AppFabricCachingService'" + $firewallRule = Get-NetFirewallRule -DisplayName "SharePoint Distributed Cache" -ErrorAction SilentlyContinue return @{ - HostName = $cacheHost.HostName - Port = $cacheHost.PortNo + Name = $params.Name CacheSizeInMB = $cacheHostConfig.Size + ServiceAccount = $windowsService.StartName + CreateFirewallRules = ($firewallRule -ne $null) + Ensure = "Present" + InstallAccount = $params.InstallAccount } } - catch{ - return @{} + catch { + return $nullReturnValue } } - - $result + return $result } @@ -63,128 +56,113 @@ function Set-TargetResource [CmdletBinding()] param ( - [parameter(Mandatory = $true)] - [System.String] - $Name, - - [parameter(Mandatory = $true)] - [ValidateSet("Present","Absent")] - [System.String] - $Ensure, - - [parameter(Mandatory = $true)] - [System.UInt32] - $CacheSizeInMB, - - [parameter(Mandatory = $true)] - [System.String] - $ServiceAccount, - - [parameter(Mandatory = $true)] - [System.Management.Automation.PSCredential] - $InstallAccount, - - [parameter(Mandatory = $true)] - [System.Boolean] - $CreateFirewallRules + [parameter(Mandatory = $true)] [System.String] $Name, + [parameter(Mandatory = $true)] [System.UInt32] $CacheSizeInMB, + [parameter(Mandatory = $true)] [System.String] $ServiceAccount, + [parameter(Mandatory = $true)] [System.Boolean] $CreateFirewallRules, + [parameter(Mandatory = $true)] [ValidateSet("Present","Absent")] [System.String] $Ensure, + [parameter(Mandatory = $false)] [System.Management.Automation.PSCredential] $InstallAccount ) - $session = Get-xSharePointAuthenticatedPSSession -Credential $InstallAccount + $CurrentState = Get-TargetResource @PSBoundParameters if ($Ensure -eq "Present") { Write-Verbose -Message "Adding the distributed cache to the server" - if($createFirewallRules) { + if($createFirewallRules -eq $true) { Write-Verbose -Message "Create a firewall rule for AppFabric" - Invoke-Command -Session $session -ArgumentList $PSBoundParameters -ScriptBlock { - $params = $args[0] - Import-Module -Name NetSecurity - - $icmpRuleName = "File and Printer Sharing (Echo Request - ICMPv4-In)" - $icmpPingFirewallRule = Get-NetFirewallRule -DisplayName $icmpRuleName -ErrorAction SilentlyContinue - if($icmpPingFirewallRule) { - Enable-NetFirewallRule -DisplayName $icmpRuleName - } - else { - New-NetFirewallRule -Name Allow_Ping -DisplayName $icmpRuleName -Description "Allow ICMPv4 ping" -Protocol ICMPv4 -IcmpType 8 -Enabled True -Profile Any -Action Allow + Invoke-xSharePointCommand -Credential $InstallAccount -ScriptBlock { + $icmpFirewallRule = Get-NetFirewallRule -DisplayName "File and Printer Sharing (Echo Request - ICMPv4-In)" -ErrorAction SilentlyContinue + if($null -eq $icmpFirewallRule ) { + New-NetFirewallRule -Name Allow_Ping -DisplayName "File and Printer Sharing (Echo Request - ICMPv4-In)" -Description "Allow ICMPv4 ping" -Protocol ICMPv4 -IcmpType 8 -Enabled True -Profile Any -Action Allow } + Enable-NetFirewallRule -DisplayName "File and Printer Sharing (Echo Request - ICMPv4-In)" - $firewallRule = Get-NetFirewallRule -DisplayName "SharePoint Distribute Cache" -ErrorAction SilentlyContinue + $firewallRule = Get-NetFirewallRule -DisplayName "SharePoint Distributed Cache" -ErrorAction SilentlyContinue if($null -eq $firewallRule) { - New-NetFirewallRule -Name "SPDistCache" -DisplayName "SharePoint Distribute Cache" -Protocol TCP -LocalPort 22233-22236 + New-NetFirewallRule -Name "SPDistCache" -DisplayName "SharePoint Distributed Cache" -Protocol TCP -LocalPort 22233-22236 -Group "SharePoint" } - Enable-NetFirewallRule -DisplayName "SharePoint Distribute Cache" + Enable-NetFirewallRule -DisplayName "SharePoint Distributed Cache" } Write-Verbose -Message "Firewall rule added" } - Invoke-Command -Session $session -ArgumentList $PSBoundParameters -ScriptBlock { - $params = $args[0] - Add-xSharePointDistributedCacheServer -CacheSizeInMB $params.CacheSizeInMB -ServiceAccount $params.ServiceAccount + Write-Verbose "Current state is '$($CurrentState.Ensure)' and desired state is '$Ensure'" + if ($CurrentState.Ensure -ne $Ensure) { + Write-Verbose -Message "Enabling distributed cache service" + Invoke-xSharePointCommand -Credential $InstallAccount -Arguments $PSBoundParameters -ScriptBlock { + $params = $args[0] + + Add-SPDistributedCacheServiceInstance + + Get-SPServiceInstance | Where-Object { $_.TypeName -eq "Distributed Cache" } | Stop-SPServiceInstance -Confirm:$false + + $count = 0 + $maxCount = 30 + while (($count -lt $maxCount) -and ((Get-SPServiceInstance | ? { $_.TypeName -eq "Distributed Cache" -and $_.Status -ne "Disabled" }) -ne $null)) { + Start-Sleep -Seconds 60 + $count++ + } + + Update-SPDistributedCacheSize -CacheSizeInMB $params.CacheSizeInMB + + Get-SPServiceInstance | Where-Object { $_.TypeName -eq "Distributed Cache" } | Start-SPServiceInstance + + $count = 0 + $maxCount = 30 + while (($count -lt $maxCount) -and ((Get-SPServiceInstance | ? { $_.TypeName -eq "Distributed Cache" -and $_.Status -ne "Online" }) -ne $null)) { + Start-Sleep -Seconds 60 + $count++ + } + + $farm = Get-SPFarm + $cacheService = $farm.Services | Where-Object { $_.Name -eq "AppFabricCachingService" } + + if ($cacheService.ProcessIdentity.ManagedAccount.Username -ne $params.ServiceAccount) { + $cacheService.ProcessIdentity.CurrentIdentityType = "SpecificUser" + $account = Get-SPManagedAccount -Identity $params.ServiceAccount + $cacheService.ProcessIdentity.ManagedAccount = $account + $cacheService.ProcessIdentity.Update() + $cacheService.ProcessIdentity.Deploy() + } + } } } else { Write-Verbose -Message "Removing distributed cache to the server" - Invoke-Command -Session $session -ArgumentList $PSBoundParameters -ScriptBlock { - $params = $args[0] - Remove-xSharePointDistributedCacheServer + Invoke-xSharePointCommand -Credential $InstallAccount -ScriptBlock { + $serviceInstance = Get-SPServiceInstance | Where-Object { ($_.Service.Tostring()) -eq "SPDistributedCacheService Name=AppFabricCachingService" -and ($_.Server.Name) -eq $env:computername } + $serviceInstance.Delete() + + Remove-SPDistributedCacheServiceInstance } - - $firewallRule = Get-NetFirewallRule -DisplayName "SharePoint Distribute Cache" -ErrorAction SilentlyContinue - if($null -eq $firewallRule) { - Write-Verbose -Message "Disabling firewall rules." - Invoke-Command -Session $session -ArgumentList $PSBoundParameters -ScriptBlock { - $params = $args[0] - Import-Module -Name NetSecurity - Disable-NetFirewallRule -DisplayName -DisplayName "SharePoint Distribute Cache" - } + if ($CreateFirewallRules -eq $true) { + Invoke-xSharePointCommand -Credential $InstallAccount -ScriptBlock { + $firewallRule = Get-NetFirewallRule -DisplayName "SharePoint Distribute Cache" -ErrorAction SilentlyContinue + if($null -ne $firewallRule) { + Write-Verbose -Message "Disabling firewall rules." + Disable-NetFirewallRule -DisplayName "SharePoint Distribute Cache" + } + } } Write-Verbose -Message "Distributed cache removed." } } - function Test-TargetResource { [CmdletBinding()] [OutputType([System.Boolean])] param ( - [parameter(Mandatory = $true)] - [System.String] - $Name, - - [parameter(Mandatory = $true)] - [ValidateSet("Present","Absent")] - [System.String] - $Ensure, - - [parameter(Mandatory = $true)] - [System.UInt32] - $CacheSizeInMB, - - [parameter(Mandatory = $true)] - [System.String] - $ServiceAccount, - - [parameter(Mandatory = $true)] - [System.Management.Automation.PSCredential] - $InstallAccount, - - [parameter(Mandatory = $true)] - [System.Boolean] - $createFirewallRules + [parameter(Mandatory = $true)] [System.String] $Name, + [parameter(Mandatory = $true)] [System.UInt32] $CacheSizeInMB, + [parameter(Mandatory = $true)] [System.String] $ServiceAccount, + [parameter(Mandatory = $true)] [System.Boolean] $CreateFirewallRules, + [parameter(Mandatory = $true)] [ValidateSet("Present","Absent")] [System.String] $Ensure, + [parameter(Mandatory = $false)] [System.Management.Automation.PSCredential] $InstallAccount ) - $result = Get-TargetResource -Name $Name -Ensure $Ensure -CacheSizeInMB $CacheSizeInMB -ServiceAccount $ServiceAccount -InstallAccount $InstallAccount -CreateFirewallRules $createFirewallRules - - if ($Ensure -eq "Present") { - if ($result.Count -eq 0) { return $false } - else { - if ($result.CacheSizeInMB -ne $CacheSizeInMB) { return $false } - } - return $true - } else { - if ($result.Count -eq 0) { return $true } - return $false - } + $CurrentValues = Get-TargetResource @PSBoundParameters + Write-Verbose -Message "Testing for distributed cache configuration" + return Test-xSharePointSpecificParameters -CurrentValues $CurrentValues -DesiredValues $PSBoundParameters -ValuesToCheck @("Ensure", "CreateFirewallRules") } diff --git a/Modules/xSharePoint/DSCResources/MSFT_xSPDistributedCacheService/MSFT_xSPDistributedCacheService.schema.mof b/Modules/xSharePoint/DSCResources/MSFT_xSPDistributedCacheService/MSFT_xSPDistributedCacheService.schema.mof index 384c91b08..eebec204a 100644 --- a/Modules/xSharePoint/DSCResources/MSFT_xSPDistributedCacheService/MSFT_xSPDistributedCacheService.schema.mof +++ b/Modules/xSharePoint/DSCResources/MSFT_xSPDistributedCacheService/MSFT_xSPDistributedCacheService.schema.mof @@ -5,6 +5,6 @@ class MSFT_xSPDistributedCacheService : OMI_BaseResource [Required, ValueMap{"Present","Absent"}, Values{"Present","Absent"}] string Ensure; [Required] UInt32 CacheSizeInMB; [Required] String ServiceAccount; - [Required, EmbeddedInstance("MSFT_Credential")] String InstallAccount; + [Write, EmbeddedInstance("MSFT_Credential")] String InstallAccount; [Required] Boolean CreateFirewallRules; }; diff --git a/Modules/xSharePoint/DSCResources/MSFT_xSPFeature/MSFT_xSPFeature.psm1 b/Modules/xSharePoint/DSCResources/MSFT_xSPFeature/MSFT_xSPFeature.psm1 index 8bdcfce1d..cb94bf93d 100644 --- a/Modules/xSharePoint/DSCResources/MSFT_xSPFeature/MSFT_xSPFeature.psm1 +++ b/Modules/xSharePoint/DSCResources/MSFT_xSPFeature/MSFT_xSPFeature.psm1 @@ -4,58 +4,37 @@ function Get-TargetResource [OutputType([System.Collections.Hashtable])] param ( - [parameter(Mandatory = $true)] - [System.String] - $Name, - - [parameter(Mandatory = $true)] - [ValidateSet("Farm","WebApplication","Site","Web")] - [System.String] - $FeatureScope, - - [parameter(Mandatory = $true)] - [System.String] - $Url, - - [parameter(Mandatory = $true)] - [System.Management.Automation.PSCredential] - $InstallAccount, - - [parameter(Mandatory = $true)] - [ValidateSet("Present","Absent")] - [System.String] - $Ensure + [parameter(Mandatory = $true)] [System.String] $Name, + [parameter(Mandatory = $true)] [System.String] $Url, + [parameter(Mandatory = $true)] [ValidateSet("Farm","WebApplication","Site","Web")] [System.String] $FeatureScope, + [parameter(Mandatory = $false)] [System.Management.Automation.PSCredential] $InstallAccount, + [parameter(Mandatory = $true)] [ValidateSet("Present","Absent")] [System.String] $Ensure ) Write-Verbose -Message "Getting feature $Name at $FeatureScope scope" - $session = Get-xSharePointAuthenticatedPSSession -Credential $InstallAccount - - $result = Invoke-Command -Session $session -ArgumentList $PSBoundParameters -ScriptBlock { + $result = Invoke-xSharePointCommand -Credential $InstallAccount -Arguments $PSBoundParameters -ScriptBlock { $params = $args[0] - $feature = Get-SPFeature $params.Name -ErrorAction SilentlyContinue - if ($null -eq $feature) { return @{} } - - $checkParams = @{} - $checkParams.Add("Identity", $params.Name) - if ($FeatureScope -eq "Farm") { + $checkParams = @{ Identity = $params.Name } + if ($params.FeatureScope -eq "Farm") { $checkParams.Add($params.FeatureScope, $true) } else { $checkParams.Add($params.FeatureScope, $params.Url) } - $checkParams.Add("ErrorAction", "SilentlyContinue") - $featureAtScope = Get-SPFeature @checkParams + $featureAtScope = Get-SPFeature @checkParams -ErrorAction SilentlyContinue $enabled = ($null -ne $featureAtScope) + if ($enabled -eq $true) { $currentState = "Present" } else { $currentState = "Absent" } return @{ Name = $params.Name - Id = $feature.Id - Version = $feature.Version - Enabled = $enabled + FeatureScope = $params.FeatureScope + Url = $params.Url + InstalAcount = $params.InstallAccount + Ensure = $currentState } } - $result + return $result } @@ -64,33 +43,16 @@ function Set-TargetResource [CmdletBinding()] param ( - [parameter(Mandatory = $true)] - [System.String] - $Name, - - [parameter(Mandatory = $true)] - [ValidateSet("Farm","WebApplication","Site","Web")] - [System.String] - $FeatureScope, - - [parameter(Mandatory = $true)] - [System.String] - $Url, - - [parameter(Mandatory = $true)] - [System.Management.Automation.PSCredential] - $InstallAccount, - - [parameter(Mandatory = $true)] - [ValidateSet("Present","Absent")] - [System.String] - $Ensure + [parameter(Mandatory = $true)] [System.String] $Name, + [parameter(Mandatory = $true)] [System.String] $Url, + [parameter(Mandatory = $true)] [ValidateSet("Farm","WebApplication","Site","Web")] [System.String] $FeatureScope, + [parameter(Mandatory = $false)] [System.Management.Automation.PSCredential] $InstallAccount, + [parameter(Mandatory = $true)] [ValidateSet("Present","Absent")] [System.String] $Ensure ) - $session = Get-xSharePointAuthenticatedPSSession -Credential $InstallAccount - - $result = Invoke-Command -Session $session -ArgumentList $PSBoundParameters -ScriptBlock { + $result = Invoke-xSharePointCommand -Credential $InstallAccount -Arguments $PSBoundParameters -ScriptBlock { $params = $args[0] + $runParams = @{} $runParams.Add("Identity", $params.Name) @@ -114,38 +76,16 @@ function Test-TargetResource [OutputType([System.Boolean])] param ( - [parameter(Mandatory = $true)] - [System.String] - $Name, - - [parameter(Mandatory = $true)] - [ValidateSet("Farm","WebApplication","Site","Web")] - [System.String] - $FeatureScope, - - [parameter(Mandatory = $true)] - [System.String] - $Url, - - [parameter(Mandatory = $true)] - [System.Management.Automation.PSCredential] - $InstallAccount, - - [parameter(Mandatory = $true)] - [ValidateSet("Present","Absent")] - [System.String] - $Ensure + [parameter(Mandatory = $true)] [System.String] $Name, + [parameter(Mandatory = $true)] [System.String] $Url, + [parameter(Mandatory = $true)] [ValidateSet("Farm","WebApplication","Site","Web")] [System.String] $FeatureScope, + [parameter(Mandatory = $false)] [System.Management.Automation.PSCredential] $InstallAccount, + [parameter(Mandatory = $true)] [ValidateSet("Present","Absent")] [System.String] $Ensure ) - $result = Get-TargetResource -Name $Name -FeatureScope $FeatureScope -Url $Url -InstallAccount $InstallAccount -Ensure $Ensure + $CurrentValues = Get-TargetResource @PSBoundParameters Write-Verbose -Message "Testing for feature $Name at $FeatureScope scope" - - if ($result.Count -eq 0) { - throw "Unable to locate feature '$Name' in the current SharePoint farm, check that the name is correct and that the feature has been deployed to the file system." - } else { - if ($Ensure -eq "Present" -and $result.Enabled -eq $false) { return $false } - if ($Ensure -eq "Absent" -and $result.Enabled -eq $true) { return $false } - } - return $true + return Test-xSharePointSpecificParameters -CurrentValues $CurrentValues -DesiredValues $PSBoundParameters -ValuesToCheck @("Ensure") } + Export-ModuleMember -Function *-TargetResource diff --git a/Modules/xSharePoint/DSCResources/MSFT_xSPFeature/MSFT_xSPFeature.schema.mof b/Modules/xSharePoint/DSCResources/MSFT_xSPFeature/MSFT_xSPFeature.schema.mof index 4d755f718..98cea1450 100644 --- a/Modules/xSharePoint/DSCResources/MSFT_xSPFeature/MSFT_xSPFeature.schema.mof +++ b/Modules/xSharePoint/DSCResources/MSFT_xSPFeature/MSFT_xSPFeature.schema.mof @@ -4,7 +4,7 @@ class MSFT_xSPFeature : OMI_BaseResource [Key] string Name; [Required, ValueMap{"Farm","WebApplication","Site","Web"}, Values{"Farm","WebApplication","Site","Web"}] string FeatureScope; [Key] string Url; - [Required, EmbeddedInstance("MSFT_Credential")] String InstallAccount; + [Write, EmbeddedInstance("MSFT_Credential")] String InstallAccount; [Required, ValueMap{"Present","Absent"}, Values{"Present","Absent"}] string Ensure; }; diff --git a/Modules/xSharePoint/DSCResources/MSFT_xSPInstall/MSFT_xSPInstall.psm1 b/Modules/xSharePoint/DSCResources/MSFT_xSPInstall/MSFT_xSPInstall.psm1 index 9371292ef..5ec9e13ed 100644 --- a/Modules/xSharePoint/DSCResources/MSFT_xSPInstall/MSFT_xSPInstall.psm1 +++ b/Modules/xSharePoint/DSCResources/MSFT_xSPInstall/MSFT_xSPInstall.psm1 @@ -4,24 +4,27 @@ function Get-TargetResource [OutputType([System.Collections.Hashtable])] param ( - [parameter(Mandatory = $true)] - [System.String] - $BinaryDir, - - [parameter(Mandatory = $true)] - [System.String] - $ProductKey + [parameter(Mandatory = $true)] [System.String] $BinaryDir, + [parameter(Mandatory = $true)] [System.String] $ProductKey, + [parameter(Mandatory = $true)] [ValidateSet("Present","Absent")] [System.String] $Ensure ) Write-Verbose -Message "Getting install status of SP binaries" $spInstall = Get-CimInstance -ClassName Win32_Product -Filter "Name like 'Microsoft SharePoint Server%'" - $result = ($null -ne $spInstall) - $returnValue = @{ - SharePointInstalled = $result + if ($spInstall) { + return @{ + BinaryDir = $BinaryDir + ProductKey = $ProductKey + Ensure = "Present" + } + } else { + return @{ + BinaryDir = $BinaryDir + ProductKey = $ProductKey + Ensure = "Absent" + } } - - $returnValue } @@ -30,15 +33,16 @@ function Set-TargetResource [CmdletBinding()] param ( - [parameter(Mandatory = $true)] - [System.String] - $BinaryDir, - - [parameter(Mandatory = $true)] - [System.String] - $ProductKey + [parameter(Mandatory = $true)] [System.String] $BinaryDir, + [parameter(Mandatory = $true)] [System.String] $ProductKey, + [parameter(Mandatory = $true)] [ValidateSet("Present","Absent")] [System.String] $Ensure ) + if ($Ensure -eq "Absent") { + throw [Exception] "xSharePoint does not support uninstalling SharePoint or its prerequisites. Please remove this manually." + return + } + Write-Verbose -Message "Writing install config file" $configPath = "$env:temp\SPInstallConfig.xml" @@ -85,18 +89,21 @@ function Test-TargetResource [OutputType([System.Boolean])] param ( - [parameter(Mandatory = $true)] - [System.String] - $BinaryDir, - - [parameter(Mandatory = $true)] - [System.String] - $ProductKey + [parameter(Mandatory = $true)] [System.String] $BinaryDir, + [parameter(Mandatory = $true)] [System.String] $ProductKey, + [parameter(Mandatory = $true)] [ValidateSet("Present","Absent")] [System.String] $Ensure ) - $result = Get-TargetResource -BinaryDir $BinaryDir -ProductKey $ProductKey + if ($Ensure -eq "Absent") { + throw [Exception] "xSharePoint does not support uninstalling SharePoint or its prerequisites. Please remove this manually." + return + } + + $CurrentValues = Get-TargetResource @PSBoundParameters + Write-Verbose -Message "Testing for installation of SharePoint" - $result.SharePointInstalled + + return Test-xSharePointSpecificParameters -CurrentValues $CurrentValues -DesiredValues $PSBoundParameters -ValuesToCheck @("Ensure") } Export-ModuleMember -Function *-TargetResource diff --git a/Modules/xSharePoint/DSCResources/MSFT_xSPInstall/MSFT_xSPInstall.schema.mof b/Modules/xSharePoint/DSCResources/MSFT_xSPInstall/MSFT_xSPInstall.schema.mof index eb1894f59..fea52d9f5 100644 --- a/Modules/xSharePoint/DSCResources/MSFT_xSPInstall/MSFT_xSPInstall.schema.mof +++ b/Modules/xSharePoint/DSCResources/MSFT_xSPInstall/MSFT_xSPInstall.schema.mof @@ -3,5 +3,6 @@ class MSFT_xSPInstall : OMI_BaseResource { [Key] String BinaryDir; [Required] String ProductKey; + [Required, ValueMap{"Present","Absent"}, Values{"Present","Absent"}] string Ensure; }; diff --git a/Modules/xSharePoint/DSCResources/MSFT_xSPInstallPrereqs/MSFT_xSPInstallPrereqs.psm1 b/Modules/xSharePoint/DSCResources/MSFT_xSPInstallPrereqs/MSFT_xSPInstallPrereqs.psm1 index 9429e566c..41f852290 100644 --- a/Modules/xSharePoint/DSCResources/MSFT_xSPInstallPrereqs/MSFT_xSPInstallPrereqs.psm1 +++ b/Modules/xSharePoint/DSCResources/MSFT_xSPInstallPrereqs/MSFT_xSPInstallPrereqs.psm1 @@ -4,14 +4,27 @@ function Get-TargetResource [OutputType([System.Collections.Hashtable])] param ( - [parameter(Mandatory = $true)] - [System.String] - $InstallerPath + [parameter(Mandatory = $true)] [System.String] $InstallerPath, + [parameter(Mandatory = $true)] [System.Boolean] $OnlineMode, + [parameter(Mandatory = $false)] [System.String] $SQLNCli, + [parameter(Mandatory = $false)] [System.String] $PowerShell, + [parameter(Mandatory = $false)] [System.String] $NETFX, + [parameter(Mandatory = $false)] [System.String] $IDFX, + [parameter(Mandatory = $false)] [System.String] $Sync, + [parameter(Mandatory = $false)] [System.String] $AppFabric, + [parameter(Mandatory = $false)] [System.String] $IDFX11, + [parameter(Mandatory = $false)] [System.String] $MSIPCClient, + [parameter(Mandatory = $false)] [System.String] $WCFDataServices, + [parameter(Mandatory = $false)] [System.String] $KB2671763, + [parameter(Mandatory = $false)] [System.String] $WCFDataServices56, + [parameter(Mandatory = $false)] [System.String] $KB2898850, + [parameter(Mandatory = $false)] [System.String] $MSVCRT12, + [parameter(Mandatory = $true)] [ValidateSet("Present","Absent")] [System.String] $Ensure ) $returnValue = @{} Write-Verbose -Message "Detecting SharePoint version from binaries" - $majorVersion = (Get-xSharePointAssemblyVerion -PathToAssembly $InstallerPath).Major + $majorVersion = (Get-xSharePointAssemblyVersion -PathToAssembly $InstallerPath) if ($majorVersion -eq 15) { Write-Verbose -Message "Version: SharePoint 2013" } @@ -26,7 +39,8 @@ function Get-TargetResource } if ($majorVersion -eq 16) { $WindowsFeatures = Get-WindowsFeature -Name Application-Server,AS-NET-Framework,AS-Web-Support,Web-Server,Web-WebServer,Web-Common-Http,Web-Default-Doc,Web-Dir-Browsing,Web-Http-Errors,Web-Static-Content,Web-Http-Redirect,Web-Health,Web-Http-Logging,Web-Log-Libraries,Web-Request-Monitor,Web-Performance,Web-Stat-Compression,Web-Dyn-Compression,Web-Security,Web-Filtering,Web-Basic-Auth,Web-Client-Auth,Web-Digest-Auth,Web-Cert-Auth,Web-IP-Security,Web-Url-Auth,Web-Windows-Auth,Web-App-Dev,Web-Net-Ext,Web-Net-Ext45,Web-Asp-Net45,Web-ISAPI-Ext,Web-ISAPI-Filter,Web-Mgmt-Tools,Web-Mgmt-Console,Web-Mgmt-Compat,Web-Metabase,Web-Lgcy-Mgmt-Console,Web-Lgcy-Scripting,Web-WMI,Web-Scripting-Tools,NET-Framework-Features,NET-Framework-Core,NET-HTTP-Activation,NET-Non-HTTP-Activ,NET-Framework-45-ASPNET,NET-WCF-HTTP-Activation45,Windows-Identity-Foundation,PowerShell-V2,WAS,WAS-Process-Model,WAS-NET-Environment,WAS-Config-APIs - } + } + foreach ($feature in $WindowsFeatures) { $returnValue.Add($feature.Name, $feature.Installed) } @@ -53,53 +67,50 @@ function Get-TargetResource $returnValue.Add("Microsoft ODBC Driver 11 for SQL Server", (($installedItems | ? {$_.Name -eq "Microsoft ODBC Driver 11 for SQL Server"}) -ne $null)) $returnValue.Add("Microsoft Visual C++ 2013 x64 Minimum Runtime - 12.0.21005", (($installedItems | ? {$_.Name -eq "Microsoft Visual C++ 2013 x64 Minimum Runtime - 12.0.21005"}) -ne $null)) $returnValue.Add("Microsoft Visual C++ 2013 x64 Additional Runtime - 12.0.21005", (($installedItems | ? {$_.Name -eq "Microsoft Visual C++ 2013 x64 Additional Runtime - 12.0.21005"}) -ne $null)) - $returnValue.Add("Microsoft SQL Server 2012 Native Client", (($installedItems | ? {$_.Name.Trim() -eq "Microsoft SQL Server 2012 Native Client"}) -ne $null)) + $returnValue.Add("Microsoft SQL Server 2012 Native Client", (($installedItems | ? {$_.Name -ne $null -and $_.Name.Trim() -eq "Microsoft SQL Server 2012 Native Client"}) -ne $null)) $returnValue.Add("Active Directory Rights Management Services Client 2.1", (($installedItems | ? {$_.Name -eq "Active Directory Rights Management Services Client 2.1"}) -ne $null)) } - $returnValue + + $results = $PSBoundParameters + if (($returnValue.Values | Where-Object { $_ -eq $false }).Count -gt 0) { + $results.Ensure = "Absent" + } else { + $results.Ensure = "Present" + } + + return $results } - function Set-TargetResource { [CmdletBinding()] param ( - [parameter(Mandatory = $true)] - [System.String] - $InstallerPath, - [System.Boolean] - $OnlineMode = $true, - [System.String] - $SQLNCli = [System.String]::Empty, - [System.String] - $PowerShell = [System.String]::Empty, - [System.String] - $NETFX = [System.String]::Empty, - [System.String] - $IDFX = [System.String]::Empty, - [System.String] - $Sync = [System.String]::Empty, - [System.String] - $AppFabric = [System.String]::Empty, - [System.String] - $IDFX11 = [System.String]::Empty, - [System.String] - $MSIPCClient = [System.String]::Empty, - [System.String] - $WCFDataServices = [System.String]::Empty, - [System.String] - $KB2671763 = [System.String]::Empty, - [System.String] - $WCFDataServices56 = [System.String]::Empty, - [System.String] - $KB2898850 = [System.String]::Empty, - [System.String] - $MSVCRT12 = [System.String]::Empty + [parameter(Mandatory = $true)] [System.String] $InstallerPath, + [parameter(Mandatory = $true)] [System.Boolean] $OnlineMode, + [parameter(Mandatory = $false)] [System.String] $SQLNCli, + [parameter(Mandatory = $false)] [System.String] $PowerShell, + [parameter(Mandatory = $false)] [System.String] $NETFX, + [parameter(Mandatory = $false)] [System.String] $IDFX, + [parameter(Mandatory = $false)] [System.String] $Sync, + [parameter(Mandatory = $false)] [System.String] $AppFabric, + [parameter(Mandatory = $false)] [System.String] $IDFX11, + [parameter(Mandatory = $false)] [System.String] $MSIPCClient, + [parameter(Mandatory = $false)] [System.String] $WCFDataServices, + [parameter(Mandatory = $false)] [System.String] $KB2671763, + [parameter(Mandatory = $false)] [System.String] $WCFDataServices56, + [parameter(Mandatory = $false)] [System.String] $KB2898850, + [parameter(Mandatory = $false)] [System.String] $MSVCRT12, + [parameter(Mandatory = $true)] [ValidateSet("Present","Absent")] [System.String] $Ensure ) + if ($Ensure -eq "Absent") { + throw [Exception] "xSharePoint does not support uninstalling SharePoint or its prerequisites. Please remove this manually." + return + } + Write-Verbose -Message "Detecting SharePoint version from binaries" - $majorVersion = (Get-xSharePointAssemblyVerion -PathToAssembly $InstallerPath).Major + $majorVersion = (Get-xSharePointAssemblyVersion -PathToAssembly $InstallerPath) if ($majorVersion -eq 15) { Write-Verbose -Message "Version: SharePoint 2013" $requiredParams = @("SQLNCli","PowerShell","NETFX","IDFX","Sync","AppFabric","IDFX11","MSIPCClient","WCFDataServices","KB2671763","WCFDataServices56") @@ -112,7 +123,7 @@ function Set-TargetResource $prereqArgs = "/unattended" if ($OnlineMode -eq $false) { $requiredParams | ForEach-Object { - if($PSBoundParameters.ContainsKey($_) -and [string]::IsNullOrEmpty($PSBoundParameters.$_)) { + if (($PSBoundParameters.ContainsKey($_) -and [string]::IsNullOrEmpty($PSBoundParameters.$_)) -or (-not $PSBoundParameters.ContainsKey($_))) { throw "In offline mode for version $majorVersion parameter $_ is required" } } @@ -157,48 +168,34 @@ function Test-TargetResource [OutputType([System.Boolean])] param ( - [parameter(Mandatory = $true)] - [System.String] - $InstallerPath, - [System.Boolean] - $OnlineMode = $true, - [System.String] - $SQLNCli = [System.String]::Empty, - [System.String] - $PowerShell = [System.String]::Empty, - [System.String] - $NETFX = [System.String]::Empty, - [System.String] - $IDFX = [System.String]::Empty, - [System.String] - $Sync = [System.String]::Empty, - [System.String] - $AppFabric = [System.String]::Empty, - [System.String] - $IDFX11 = [System.String]::Empty, - [System.String] - $MSIPCClient = [System.String]::Empty, - [System.String] - $WCFDataServices = [System.String]::Empty, - [System.String] - $KB2671763 = [System.String]::Empty, - [System.String] - $WCFDataServices56 = [System.String]::Empty, - [System.String] - $KB2898850 = [System.String]::Empty, - [System.String] - $MSVCRT12 = [System.String]::Empty + [parameter(Mandatory = $true)] [System.String] $InstallerPath, + [parameter(Mandatory = $true)] [System.Boolean] $OnlineMode, + [parameter(Mandatory = $false)] [System.String] $SQLNCli, + [parameter(Mandatory = $false)] [System.String] $PowerShell, + [parameter(Mandatory = $false)] [System.String] $NETFX, + [parameter(Mandatory = $false)] [System.String] $IDFX, + [parameter(Mandatory = $false)] [System.String] $Sync, + [parameter(Mandatory = $false)] [System.String] $AppFabric, + [parameter(Mandatory = $false)] [System.String] $IDFX11, + [parameter(Mandatory = $false)] [System.String] $MSIPCClient, + [parameter(Mandatory = $false)] [System.String] $WCFDataServices, + [parameter(Mandatory = $false)] [System.String] $KB2671763, + [parameter(Mandatory = $false)] [System.String] $WCFDataServices56, + [parameter(Mandatory = $false)] [System.String] $KB2898850, + [parameter(Mandatory = $false)] [System.String] $MSVCRT12, + [parameter(Mandatory = $true)] [ValidateSet("Present","Absent")] [System.String] $Ensure ) + if ($Ensure -eq "Absent") { + throw [Exception] "xSharePoint does not support uninstalling SharePoint or its prerequisites. Please remove this manually." + return + } + + $CurrentValues = Get-TargetResource @PSBoundParameters - $result = Get-TargetResource -InstallerPath $InstallerPath Write-Verbose -Message "Checking installation of SharePoint prerequisites" - if (($result.Values | Where-Object { $_ -eq $false }).Count -gt 0) { - Write-Verbose -Message "Prerequisites were detected as missing." - return $false - } - return $true + return Test-xSharePointSpecificParameters -CurrentValues $CurrentValues -DesiredValues $PSBoundParameters -ValuesToCheck @("Ensure") } Export-ModuleMember -Function *-TargetResource diff --git a/Modules/xSharePoint/DSCResources/MSFT_xSPInstallPrereqs/MSFT_xSPInstallPrereqs.schema.mof b/Modules/xSharePoint/DSCResources/MSFT_xSPInstallPrereqs/MSFT_xSPInstallPrereqs.schema.mof index 3a446088b..94c9b902c 100644 --- a/Modules/xSharePoint/DSCResources/MSFT_xSPInstallPrereqs/MSFT_xSPInstallPrereqs.schema.mof +++ b/Modules/xSharePoint/DSCResources/MSFT_xSPInstallPrereqs/MSFT_xSPInstallPrereqs.schema.mof @@ -2,7 +2,7 @@ class MSFT_xSPInstallPrereqs : OMI_BaseResource { [Key] String InstallerPath; - [Write] Boolean OnlineMode; + [Required] Boolean OnlineMode; [Write] String SQLNCli; [Write] String PowerShell; [Write] String NETFX; @@ -16,5 +16,6 @@ class MSFT_xSPInstallPrereqs : OMI_BaseResource [Write] String WCFDataServices56; [Write] String KB2898850; [Write] String MSVCRT12; + [Required, ValueMap{"Present","Absent"}, Values{"Present","Absent"}] string Ensure; }; diff --git a/Modules/xSharePoint/DSCResources/MSFT_xSPJoinFarm/MSFT_xSPJoinFarm.psm1 b/Modules/xSharePoint/DSCResources/MSFT_xSPJoinFarm/MSFT_xSPJoinFarm.psm1 index 9565e5495..cc99c4c1c 100644 --- a/Modules/xSharePoint/DSCResources/MSFT_xSPJoinFarm/MSFT_xSPJoinFarm.psm1 +++ b/Modules/xSharePoint/DSCResources/MSFT_xSPJoinFarm/MSFT_xSPJoinFarm.psm1 @@ -4,32 +4,23 @@ function Get-TargetResource [OutputType([System.Collections.Hashtable])] param ( - [parameter(Mandatory = $true)] - [System.String] - $FarmConfigDatabaseName, - - [parameter(Mandatory = $true)] - [System.String] - $DatabaseServer, - - [parameter(Mandatory = $true)] - [System.Management.Automation.PSCredential] - $FarmAccount, - - [parameter(Mandatory = $true)] - [System.Management.Automation.PSCredential] - $InstallAccount, - - [parameter(Mandatory = $true)] - [System.String] - $Passphrase + [parameter(Mandatory = $true)] [System.String] $FarmConfigDatabaseName, + [parameter(Mandatory = $true)] [System.String] $DatabaseServer, + [parameter(Mandatory = $true)] [System.String] $Passphrase, + [parameter(Mandatory = $false)] [System.Management.Automation.PSCredential] $InstallAccount, + [parameter(Mandatory = $false)] [ValidateSet("Application","Custom","DistributedCache","Search","SingleServer","SingleServerFarm","SpecialLoad","WebFrontEnd")] $ServerRole ) Write-Verbose -Message "Checking for local SP Farm" - $session = Get-xSharePointAuthenticatedPSSession -Credential $InstallAccount -ForceNewSession $true + if ($null -ne $ServerRole -and (Get-xSharePointInstalledProductVersion).FileMajorPart -ne 16) { + throw [Exception] "Server role is only supported in SharePoint 2016." + } + + $result = Invoke-xSharePointCommand -Credential $InstallAccount -Arguments $PSBoundParameters -ScriptBlock { + $params = $args[0] + - $result = Invoke-Command -Session $session -ScriptBlock { try { $spFarm = Get-SPFarm -ErrorAction SilentlyContinue } catch { @@ -38,12 +29,16 @@ function Get-TargetResource if ($null -eq $spFarm) {return @{ }} - $returnValue = @{ - FarmName = $spFarm.Name + $configDb = Get-SPDatabase | Where-Object { $_.Name -eq $spFarm.Name -and $_.Type -eq "Configuration Database" } + + return @{ + FarmConfigDatabaseName = $spFarm.Name + DatabaseServer = $configDb.Server.Name + InstallAccount = $params.InstallAccount + Passphrase = $params.Passphrase } - return $returnValue } - $result + return $result } @@ -52,101 +47,48 @@ function Set-TargetResource [CmdletBinding()] param ( - [parameter(Mandatory = $true)] - [System.String] - $FarmConfigDatabaseName, - - [parameter(Mandatory = $true)] - [System.String] - $DatabaseServer, - - [parameter(Mandatory = $true)] - [System.Management.Automation.PSCredential] - $FarmAccount, - - [parameter(Mandatory = $true)] - [System.Management.Automation.PSCredential] - $InstallAccount, - - [parameter(Mandatory = $true)] - [System.String] - $Passphrase, - - [System.UInt32] - $WaitTime = 30, - - [System.UInt32] - $WaitCount = 60 + [parameter(Mandatory = $true)] [System.String] $FarmConfigDatabaseName, + [parameter(Mandatory = $true)] [System.String] $DatabaseServer, + [parameter(Mandatory = $true)] [System.String] $Passphrase, + [parameter(Mandatory = $false)] [System.Management.Automation.PSCredential] $InstallAccount, + [parameter(Mandatory = $false)] [ValidateSet("Application","Custom","DistributedCache","Search","SingleServer","SingleServerFarm","SpecialLoad","WebFrontEnd")] $ServerRole ) Write-Verbose -Message "Joining existing farm configuration database" - $session = Get-xSharePointAuthenticatedPSSession -Credential $InstallAccount -ForceNewSession $true - Invoke-Command -Session $session -ArgumentList $PSBoundParameters -ScriptBlock { + + if ($null -ne $ServerRole -and (Get-xSharePointInstalledProductVersion).FileMajorPart -ne 16) { + throw [Exception] "Server role is only supported in SharePoint 2016." + } + + Invoke-xSharePointCommand -Credential $InstallAccount -Arguments $PSBoundParameters -ScriptBlock { $params = $args[0] - - $WaitTime = $PSBoundParameters.WaitTime - if ($WaitTime -lt 1) {$WaitTime = 30} - $WaitCount = $PSBoundParameters.WaitCount - if ($WaitCount -lt 1) {$WaitCount = 30} - - $loopCount = 0 - - $majorVersion = (Get-xSharePointAssemblyVerion -PathToAssembly "C:\Program Files\Common Files\microsoft shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.dll").Major - - while ($loopCount -le $WaitCount) { - try - { - if ($majorVersion -eq 15) { - Write-Verbose -Message "Version: SharePoint 2013" - - Connect-SPConfigurationDatabase -DatabaseName $params.FarmConfigDatabaseName ` - -DatabaseServer $params.DatabaseServer ` - -Passphrase (ConvertTo-SecureString -String $params.Passphrase -AsPlainText -force) ` - -SkipRegisterAsDistributedCacheHost:$true - } - if ($majorVersion -eq 16) { - Write-Verbose -Message "Version: SharePoint 2016" - - Connect-SPConfigurationDatabase -DatabaseName $params.FarmConfigDatabaseName ` - -DatabaseServer $params.DatabaseServer ` - -LocalServerRole Custom ` - -Passphrase (ConvertTo-SecureString -String $params.Passphrase -AsPlainText -force) ` - -SkipRegisterAsDistributedCacheHost:$true - } - - - $loopCount = $WaitCount + 1 + + + $joinFarmArgs = @{ + DatabaseServer = $params.DatabaseServer + DatabaseName = $params.FarmConfigDatabaseName + Passphrase = (ConvertTo-SecureString -String $params.Passphrase -AsPlainText -force) + SkipRegisterAsDistributedCacheHost = $true + } + + switch((Get-xSharePointInstalledProductVersion).FileMajorPart) { + 15 { + Write-Verbose -Message "Detected Version: SharePoint 2013" + } + 16 { + Write-Verbose -Message "Detected Version: SharePoint 2016" + $joinFarmArgs.Add("LocalServerRole", "Custom") } - catch - { - $loopCount = $loopCount + 1 - Start-Sleep -Seconds $WaitTime + Default { + throw [Exception] "An unknown version of SharePoint (Major version $_) was detected. Only versions 15 (SharePoint 2013) or 16 (SharePoint 2016) are supported." } } - } - Write-Verbose -Message "Installing help collection" - Invoke-Command -Session $session -ScriptBlock { + Connect-SPConfigurationDatabase @joinFarmArgs Install-SPHelpCollection -All - } - - Write-Verbose -Message "Initialising farm resource security" - Invoke-Command -Session $session -ScriptBlock { Initialize-SPResourceSecurity - } - - Write-Verbose -Message "Installing farm services" - Invoke-Command -Session $session -ScriptBlock { Install-SPService - } - - Write-Verbose -Message "Installing farm features" - Invoke-Command -Session $session -ScriptBlock { - Install-SPFeature -AllExistingFeatures -Force - } - - Write-Verbose -Message "Installing application content" - Invoke-Command -Session $session -ScriptBlock { + Install-SPFeature -AllExistingFeatures -Force Install-SPApplicationContent } @@ -167,37 +109,20 @@ function Test-TargetResource [OutputType([System.Boolean])] param ( - [parameter(Mandatory = $true)] - [System.String] - $FarmConfigDatabaseName, - - [parameter(Mandatory = $true)] - [System.String] - $DatabaseServer, - - [parameter(Mandatory = $true)] - [System.Management.Automation.PSCredential] - $FarmAccount, - - [parameter(Mandatory = $true)] - [System.Management.Automation.PSCredential] - $InstallAccount, - - [parameter(Mandatory = $true)] - [System.String] - $Passphrase, - - [System.UInt32] - $WaitTime = 30, - - [System.UInt32] - $WaitCount = 60 + [parameter(Mandatory = $true)] [System.String] $FarmConfigDatabaseName, + [parameter(Mandatory = $true)] [System.String] $DatabaseServer, + [parameter(Mandatory = $true)] [System.String] $Passphrase, + [parameter(Mandatory = $false)] [System.Management.Automation.PSCredential] $InstallAccount, + [parameter(Mandatory = $false)] [ValidateSet("Application","Custom","DistributedCache","Search","SingleServer","SingleServerFarm","SpecialLoad","WebFrontEnd")] $ServerRole ) - $result = Get-TargetResource -FarmConfigDatabaseName $FarmConfigDatabaseName -DatabaseServer $DatabaseServer -FarmAccount $FarmAccount -InstallAccount $InstallAccount -Passphrase $Passphrase - - if ($result.Count -eq 0) { return $false } - return $true + if ($null -ne $ServerRole -and (Get-xSharePointInstalledProductVersion).FileMajorPart -ne 16) { + throw [Exception] "Server role is only supported in SharePoint 2016." + } + + $CurrentValues = Get-TargetResource @PSBoundParameters + Write-Verbose "Testing for local farm presence" + return Test-xSharePointSpecificParameters -CurrentValues $CurrentValues -DesiredValues $PSBoundParameters -ValuesToCheck @("FarmConfigDatabaseName") } diff --git a/Modules/xSharePoint/DSCResources/MSFT_xSPJoinFarm/MSFT_xSPJoinFarm.schema.mof b/Modules/xSharePoint/DSCResources/MSFT_xSPJoinFarm/MSFT_xSPJoinFarm.schema.mof index 46ffd405c..0284a63fa 100644 --- a/Modules/xSharePoint/DSCResources/MSFT_xSPJoinFarm/MSFT_xSPJoinFarm.schema.mof +++ b/Modules/xSharePoint/DSCResources/MSFT_xSPJoinFarm/MSFT_xSPJoinFarm.schema.mof @@ -3,10 +3,8 @@ class MSFT_xSPJoinFarm : OMI_BaseResource { [Key] string FarmConfigDatabaseName; [Key] string DatabaseServer; - [Required, EmbeddedInstance("MSFT_Credential")] String FarmAccount; - [Required, EmbeddedInstance("MSFT_Credential")] String InstallAccount; + [Write, EmbeddedInstance("MSFT_Credential")] String InstallAccount; [Required] string Passphrase; - [Write] uint32 WaitTime; - [Write] uint32 WaitCount; + [Write, ValueMap{"Application","Custom","DistributedCache","Search","SingleServer","SingleServerFarm","SpecialLoad","WebFrontEnd"}, Values{"Application","Custom","DistributedCache","Search","SingleServer","SingleServerFarm","SpecialLoad","WebFrontEnd"}] string ServerRole; }; diff --git a/Modules/xSharePoint/DSCResources/MSFT_xSPManagedAccount/MSFT_xSPManagedAccount.psm1 b/Modules/xSharePoint/DSCResources/MSFT_xSPManagedAccount/MSFT_xSPManagedAccount.psm1 index 7079f3f5d..c461730cb 100644 --- a/Modules/xSharePoint/DSCResources/MSFT_xSPManagedAccount/MSFT_xSPManagedAccount.psm1 +++ b/Modules/xSharePoint/DSCResources/MSFT_xSPManagedAccount/MSFT_xSPManagedAccount.psm1 @@ -4,90 +4,66 @@ function Get-TargetResource [OutputType([System.Collections.Hashtable])] param ( - [parameter(Mandatory = $true)] - [System.Management.Automation.PSCredential] - $Account, - - [parameter(Mandatory = $true)] - [System.Management.Automation.PSCredential] - $InstallAccount, - - [parameter(Mandatory = $true)] - [System.String] - $AccountName + [parameter(Mandatory = $true)] [System.Management.Automation.PSCredential] $Account, + [parameter(Mandatory = $false)] [System.Management.Automation.PSCredential] $InstallAccount, + [parameter(Mandatory = $false)] [System.UInt32] $EmailNotification, + [parameter(Mandatory = $false)] [System.UInt32] $PreExpireDays, + [parameter(Mandatory = $false)] [System.String] $Schedule, + [parameter(Mandatory = $true)] [System.String] $AccountName ) Write-Verbose -Message "Checking for managed account $AccountName" - $session = Get-xSharePointAuthenticatedPSSession -Credential $InstallAccount - - $result = Invoke-Command -Session $session -ArgumentList $PSBoundParameters -ScriptBlock { + $result = Invoke-xSharePointCommand -Credential $InstallAccount -Arguments $PSBoundParameters -ScriptBlock { $params = $args[0] - - try { - $ma = Get-SPManagedAccount $params.AccountName -ErrorAction SilentlyContinue - if ($null -eq $ma) { return @{ } } - return @{ - AccountName = $ma.Userame - AutomaticChange = $ma.AutomaticChange - DaysBeforeChangeToEmail = $ma.DaysBeforeChangeToEmail - DaysBeforeExpiryToChange = $ma.DaysBeforeExpiryToChange - PasswordLastChanged = $ma.PasswordLastChanged - PasswordExpiration = $ma.PasswordExpiration - ChangeSchedule = $ma.ChangeSchedule - } - } catch { - return @{ } + + $ma = Get-SPManagedAccount -Identity $params.Account.UserName -ErrorAction SilentlyContinue + if ($null -eq $ma) { return $null } + return @{ + AccountName = $ma.Username + EmailNotification = $ma.DaysBeforeChangeToEmail + PreExpireDays = $ma.DaysBeforeExpiryToChange + Schedule = $ma.ChangeSchedule + Account = $params.Account + InstallAccount = $params.InstallAccount } } - $result + return $result } - function Set-TargetResource { [CmdletBinding()] param ( - [parameter(Mandatory = $true)] - [System.Management.Automation.PSCredential] - $Account, - - [parameter(Mandatory = $true)] - [System.Management.Automation.PSCredential] - $InstallAccount, - - [System.UInt32] - $EmailNotification = 5, - - [System.UInt32] - $PreExpireDays = 2, - - [System.String] - $Schedule = [System.String]::Empty, - - [parameter(Mandatory = $true)] - [System.String] - $AccountName + [parameter(Mandatory = $true)] [System.Management.Automation.PSCredential] $Account, + [parameter(Mandatory = $false)] [System.Management.Automation.PSCredential] $InstallAccount, + [parameter(Mandatory = $false)] [System.UInt32] $EmailNotification, + [parameter(Mandatory = $false)] [System.UInt32] $PreExpireDays, + [parameter(Mandatory = $false)] [System.String] $Schedule, + [parameter(Mandatory = $true)] [System.String] $AccountName ) - - Write-Verbose -Message "Setting managed account $AccountName" - $session = Get-xSharePointAuthenticatedPSSession -Credential $InstallAccount + if ($null -eq (Get-TargetResource @PSBoundParameters)) { + Write-Verbose "Creating a new managed account" + Invoke-xSharePointCommand -Credential $InstallAccount -Arguments $PSBoundParameters -ScriptBlock { + $params = $args[0] + New-SPManagedAccount -Credential $params.Account + } + } - $result = Invoke-Command -Session $session -ArgumentList $PSBoundParameters -ScriptBlock { + Write-Verbose -Message "Updating settings for managed account" + Invoke-xSharePointCommand -Credential $InstallAccount -Arguments $PSBoundParameters -ScriptBlock { $params = $args[0] - - $ma = Get-SPManagedAccount $params.Account.UserName -ErrorAction SilentlyContinue - if ($null -eq $ma) { - $ma = New-SPManagedAccount $params.Account + + $updateParams = @{ + Identity = $params.Account.UserName } - $params.Add("Identity", $params.Account.UserName) - $params.Remove("Account") | Out-Null - $params.Remove("AccountName") | Out-Null - $params.Remove("InstallAccount") | Out-Null + if ($params.ContainsKey("EmailNotification")) { $updateParams.Add("EmailNotification", $params.EmailNotification) } + if ($params.ContainsKey("PreExpireDays")) { $updateParams.Add("PreExpireDays", $params.PreExpireDays) } + if ($params.ContainsKey("Schedule")) { $updateParams.Add("Schedule", $params.Schedule) } - Set-SPManagedAccount @params + Set-SPManagedAccount @updateParams } } @@ -98,39 +74,18 @@ function Test-TargetResource [OutputType([System.Boolean])] param ( - [parameter(Mandatory = $true)] - [System.Management.Automation.PSCredential] - $Account, - - [parameter(Mandatory = $true)] - [System.Management.Automation.PSCredential] - $InstallAccount, - - [System.UInt32] - $EmailNotification = 5, - - [System.UInt32] - $PreExpireDays = 2, - - [System.String] - $Schedule = [System.String]::Empty, - - [parameter(Mandatory = $true)] - [System.String] - $AccountName + [parameter(Mandatory = $true)] [System.Management.Automation.PSCredential] $Account, + [parameter(Mandatory = $false)] [System.Management.Automation.PSCredential] $InstallAccount, + [parameter(Mandatory = $false)] [System.UInt32] $EmailNotification, + [parameter(Mandatory = $false)] [System.UInt32] $PreExpireDays, + [parameter(Mandatory = $false)] [System.String] $Schedule, + [parameter(Mandatory = $true)] [System.String] $AccountName ) - $result = Get-TargetResource -Account $Account -InstallAccount $InstallAccount -AccountName $AccountName + $CurrentValues = Get-TargetResource @PSBoundParameters Write-Verbose -Message "Testing managed account $AccountName" - if ($result.Count -eq 0) { return $false } - else { - if($result.AutomaticChange -eq $true) { - if($result.ChangeSchedule -ne $Schedule) { return $false } - if($result.DaysBeforeExpiryToChange -ne $PreExpireDays) { return $false } - if($result.DaysBeforeChangeToEmail -ne $EmailNotification) { return $false } - } - } - return $true + if ($null -eq $CurrentValues) { return $false } + return Test-xSharePointSpecificParameters -CurrentValues $CurrentValues -DesiredValues $PSBoundParameters -ValuesToCheck @("AccountName", "Schedule","PreExpireDays","EmailNotification") } diff --git a/Modules/xSharePoint/DSCResources/MSFT_xSPManagedAccount/MSFT_xSPManagedAccount.schema.mof b/Modules/xSharePoint/DSCResources/MSFT_xSPManagedAccount/MSFT_xSPManagedAccount.schema.mof index d1f0d8546..a0258492a 100644 --- a/Modules/xSharePoint/DSCResources/MSFT_xSPManagedAccount/MSFT_xSPManagedAccount.schema.mof +++ b/Modules/xSharePoint/DSCResources/MSFT_xSPManagedAccount/MSFT_xSPManagedAccount.schema.mof @@ -3,7 +3,7 @@ class MSFT_xSPManagedAccount : OMI_BaseResource { [Key] string AccountName; [Required, EmbeddedInstance("MSFT_Credential")] String Account; - [Required, EmbeddedInstance("MSFT_Credential")] String InstallAccount; + [Write, EmbeddedInstance("MSFT_Credential")] String InstallAccount; [Write] Uint32 EmailNotification; [Write] Uint32 PreExpireDays; [Write] string Schedule; diff --git a/Modules/xSharePoint/DSCResources/MSFT_xSPManagedMetadataServiceApp/MSFT_xSPManagedMetaDataServiceApp.psm1 b/Modules/xSharePoint/DSCResources/MSFT_xSPManagedMetadataServiceApp/MSFT_xSPManagedMetaDataServiceApp.psm1 index 5c7efb7b9..6aecc1c07 100644 --- a/Modules/xSharePoint/DSCResources/MSFT_xSPManagedMetadataServiceApp/MSFT_xSPManagedMetaDataServiceApp.psm1 +++ b/Modules/xSharePoint/DSCResources/MSFT_xSPManagedMetadataServiceApp/MSFT_xSPManagedMetaDataServiceApp.psm1 @@ -4,40 +4,40 @@ function Get-TargetResource [OutputType([System.Collections.Hashtable])] param ( - [parameter(Mandatory = $true)] - [System.String] - $Name, - - [parameter(Mandatory = $true)] - [System.Management.Automation.PSCredential] - $InstallAccount, - - [parameter(Mandatory = $true)] - [System.String] - $ApplicationPool + [parameter(Mandatory = $true)] [System.String] $Name, + [parameter(Mandatory = $true)] [System.String] $ApplicationPool, + [parameter(Mandatory = $false)] [System.String] $DatabaseServer, + [parameter(Mandatory = $false)] [System.String] $DatabaseName, + [parameter(Mandatory = $false)] [System.Management.Automation.PSCredential] $InstallAccount ) Write-Verbose -Message "Getting managed metadata service application $Name" - $session = Get-xSharePointAuthenticatedPSSession -Credential $InstallAccount - - $result = Invoke-Command -Session $session -ArgumentList $PSBoundParameters -ScriptBlock { + $result = Invoke-xSharePointCommand -Credential $InstallAccount -Arguments $PSBoundParameters -ScriptBlock { $params = $args[0] - $serviceApp = Get-SPServiceApplication -Name $params.Name -ErrorAction SilentlyContinue | - Where-Object { $_.TypeName -eq "Managed Metadata Service" } + + $serviceApps = Get-SPServiceApplication -Name $params.Name -ErrorAction SilentlyContinue + if ($null -eq $serviceApps) { + return $null + } + $serviceApp = $serviceApps | Where-Object { $_.TypeName -eq "Managed Metadata Service" } + If ($null -eq $serviceApp) { - return @{} + return $null } else { return @{ Name = $serviceApp.DisplayName ApplicationPool = $serviceApp.ApplicationPool.Name + DatabaseName = $serviceApp.Database.Name + DatabaseServer = $serviceApp.Database.Server.Name + InstallAccount = $params.InstallAccount } } } - $result + return $result } @@ -46,49 +46,45 @@ function Set-TargetResource [CmdletBinding()] param ( - [parameter(Mandatory = $true)] - [System.String] - $Name, - - [parameter(Mandatory = $true)] - [System.String] - $ApplicationPool, - - [System.String] - $DatabaseServer = $null, - - [System.String] - $DatabaseName = $null, - - [parameter(Mandatory = $true)] - [System.Management.Automation.PSCredential] - $InstallAccount + [parameter(Mandatory = $true)] [System.String] $Name, + [parameter(Mandatory = $true)] [System.String] $ApplicationPool, + [parameter(Mandatory = $false)] [System.String] $DatabaseServer, + [parameter(Mandatory = $false)] [System.String] $DatabaseName, + [parameter(Mandatory = $false)] [System.Management.Automation.PSCredential] $InstallAccount ) - $result = Get-TargetResource -Name $Name -ApplicationPool $ApplicationPool -InstallAccount $InstallAccount - $session = Get-xSharePointAuthenticatedPSSession -Credential $InstallAccount + $result = Get-TargetResource @PSBoundParameters + if ($result.Count -eq 0) { Write-Verbose -Message "Creating Managed Metadata Service Application $Name" - Invoke-Command -Session $session -ArgumentList $PSBoundParameters -ScriptBlock { + Invoke-xSharePointCommand -Credential $InstallAccount -Arguments $PSBoundParameters -ScriptBlock { $params = $args[0] - $params = Remove-xSharePointNullParamValues -Params $params - $params.Remove("InstallAccount") | Out-Null + + + if ($params.ContainsKey("InstallAccount")) { $params.Remove("InstallAccount") | Out-Null } + $app = New-SPMetadataServiceApplication @params if ($null -ne $app) { - New-SPMetadataServiceApplicationProxy -Name ($params.Name + " Proxy") -ServiceApplication $app -DefaultProxyGroup -ContentTypePushdownEnabled -DefaultKeywordTaxonomy -DefaultSiteCollectionTaxonomy + New-SPMetadataServiceApplicationProxy -Name ($params.Name + " Proxy") ` + -ServiceApplication $app ` + -DefaultProxyGroup ` + -ContentTypePushdownEnabled ` + -DefaultKeywordTaxonomy ` + -DefaultSiteCollectionTaxonomy } } } else { if ([string]::IsNullOrEmpty($ApplicationPool) -eq $false -and $ApplicationPool -ne $result.ApplicationPool) { Write-Verbose -Message "Updating Managed Metadata Service Application $Name" - Invoke-Command -Session $session -ArgumentList $PSBoundParameters -ScriptBlock { + Invoke-xSharePointCommand -Credential $InstallAccount -Arguments $PSBoundParameters -ScriptBlock { $params = $args[0] - $params = Remove-xSharePointNullParamValues -Params $params - $serviceApp = Get-SPServiceApplication -Name $params.Name -ErrorAction SilentlyContinue | - Where-Object { $_.TypeName -eq "Managed Metadata Service" } - $serviceApp | Set-SPMetadataServiceApplication -ApplicationPool (Get-SPServiceApplicationPool $params.ApplicationPool) + + + $serviceApp = Get-SPServiceApplication -Name $params.Name | Where-Object { $_.TypeName -eq "Managed Metadata Service" } + $appPool = Get-SPServiceApplicationPool -Identity $params.ApplicationPool + Set-SPMetadataServiceApplication -Identity $serviceApp -ApplicationPool $appPool } } } @@ -101,34 +97,17 @@ function Test-TargetResource [OutputType([System.Boolean])] param ( - [parameter(Mandatory = $true)] - [System.String] - $Name, - - [parameter(Mandatory = $true)] - [System.Management.Automation.PSCredential] - $InstallAccount, - - [parameter(Mandatory = $true)] - [System.String] - $ApplicationPool, - - [System.String] - $DatabaseServer = $null, - - [System.String] - $DatabaseName = $null + [parameter(Mandatory = $true)] [System.String] $Name, + [parameter(Mandatory = $true)] [System.String] $ApplicationPool, + [parameter(Mandatory = $false)] [System.String] $DatabaseServer, + [parameter(Mandatory = $false)] [System.String] $DatabaseName, + [parameter(Mandatory = $false)] [System.Management.Automation.PSCredential] $InstallAccount ) - $result = Get-TargetResource -Name $Name -InstallAccount $InstallAccount -ApplicationPool $ApplicationPool - + $CurrentValues = Get-TargetResource @PSBoundParameters Write-Verbose -Message "Testing for Managed Metadata Service Application '$Name'" - if ($result.Count -eq 0) { return $false } - else { - if ([string]::IsNullOrEmpty($ApplicationPool) -eq $false -and $ApplicationPool -ne $result.ApplicationPool) { return $false } - } - return $true - + if ($null -eq $CurrentValues) { return $false } + return Test-xSharePointSpecificParameters -CurrentValues $CurrentValues -DesiredValues $PSBoundParameters -ValuesToCheck @("ApplicationPool") } diff --git a/Modules/xSharePoint/DSCResources/MSFT_xSPManagedMetadataServiceApp/MSFT_xSPManagedMetaDataServiceApp.schema.mof b/Modules/xSharePoint/DSCResources/MSFT_xSPManagedMetadataServiceApp/MSFT_xSPManagedMetaDataServiceApp.schema.mof index 987d9fe10..84f36e3db 100644 --- a/Modules/xSharePoint/DSCResources/MSFT_xSPManagedMetadataServiceApp/MSFT_xSPManagedMetaDataServiceApp.schema.mof +++ b/Modules/xSharePoint/DSCResources/MSFT_xSPManagedMetadataServiceApp/MSFT_xSPManagedMetaDataServiceApp.schema.mof @@ -2,7 +2,7 @@ class MSFT_xSPManagedMetaDataServiceApp : OMI_BaseResource { [Key] string Name; - [Required, EmbeddedInstance("MSFT_Credential")] String InstallAccount; + [Write, EmbeddedInstance("MSFT_Credential")] String InstallAccount; [Required] string ApplicationPool; [Write] string DatabaseServer; [Write] string DatabaseName; diff --git a/Modules/xSharePoint/DSCResources/MSFT_xSPManagedPath/MSFT_xSPManagedPath.psm1 b/Modules/xSharePoint/DSCResources/MSFT_xSPManagedPath/MSFT_xSPManagedPath.psm1 index 311add1d8..68df6b5b6 100644 --- a/Modules/xSharePoint/DSCResources/MSFT_xSPManagedPath/MSFT_xSPManagedPath.psm1 +++ b/Modules/xSharePoint/DSCResources/MSFT_xSPManagedPath/MSFT_xSPManagedPath.psm1 @@ -4,49 +4,39 @@ function Get-TargetResource [OutputType([System.Collections.Hashtable])] param ( - [parameter(Mandatory = $true)] - [System.String] - $WebAppUrl, - - [parameter(Mandatory = $true)] - [System.Management.Automation.PSCredential] - $InstallAccount, - - [parameter(Mandatory = $true)] - [System.String] - $RelativeUrl, - - [parameter(Mandatory = $true)] - [System.Boolean] - $Explicit, - - [parameter(Mandatory = $true)] - [System.Boolean] - $HostHeader + [parameter(Mandatory = $true)] [System.String] $WebAppUrl, + [parameter(Mandatory = $true)] [System.String] $RelativeUrl, + [parameter(Mandatory = $true)] [System.Boolean] $Explicit, + [parameter(Mandatory = $true)] [System.Boolean] $HostHeader, + [parameter(Mandatory = $false)] [System.Management.Automation.PSCredential] $InstallAccount ) Write-Verbose -Message "Looking up the managed path $RelativeUrl in $WebAppUrl" - $session = Get-xSharePointAuthenticatedPSSession -Credential $InstallAccount - - $result = Invoke-Command -Session $session -ArgumentList $PSBoundParameters -ScriptBlock { + $result = Invoke-xSharePointCommand -Credential $InstallAccount -Arguments $PSBoundParameters -ScriptBlock { $params = $args[0] + - if ($params.HostHeader) { - $path = Get-SPManagedPath -Identity $params.RelativeUrl -HostHeader -ErrorAction SilentlyContinue + $getParams = @{ + Identity = $params.RelativeUrl } - else { - $path = Get-SPManagedPath -WebApplication $params.WebAppUrl -Identity $params.RelativeUrl -ErrorAction SilentlyContinue + if ($params.HostHeader) { + $getParams.Add("HostHeader", $true) + } else { + $getParams.Add("WebApplication", $params.WebAppUrl) } - - if ($null -eq $path) { return @{} } + $path = Get-SPManagedPath @getParams -ErrorAction SilentlyContinue + if ($null -eq $path) { return $null } return @{ - Name = $path.Name - PathType = $path.Type + RelativeUrl = $path.Name + Explicit = ($path.Type -eq "ExplicitInclusion") + WebAppUrl = $params.WebAppUrl + HostHeader = $params.HostHeader + InstallAccount = $params.InstallAccount } } - $result + return $result } @@ -55,43 +45,21 @@ function Set-TargetResource [CmdletBinding()] param ( - [parameter(Mandatory = $true)] - [System.String] - $WebAppUrl, - - [parameter(Mandatory = $true)] - [System.Management.Automation.PSCredential] - $InstallAccount, - - [parameter(Mandatory = $true)] - [System.String] - $RelativeUrl, - - [parameter(Mandatory = $true)] - [System.Boolean] - $Explicit, - - [parameter(Mandatory = $true)] - [System.Boolean] - $HostHeader + [parameter(Mandatory = $true)] [System.String] $WebAppUrl, + [parameter(Mandatory = $true)] [System.String] $RelativeUrl, + [parameter(Mandatory = $true)] [System.Boolean] $Explicit, + [parameter(Mandatory = $true)] [System.Boolean] $HostHeader, + [parameter(Mandatory = $false)] [System.Management.Automation.PSCredential] $InstallAccount ) Write-Verbose -Message "Creating the managed path $RelativeUrl in $WebAppUrl" - $session = Get-xSharePointAuthenticatedPSSession -Credential $InstallAccount + $path = Get-TargetResource @PSBoundParameters - $result = Invoke-Command -Session $session -ArgumentList $PSBoundParameters -ScriptBlock { - $params = $args[0] - - if ($params.HostHeader) { - $path = Get-SPManagedPath -Identity $params.RelativeUrl -HostHeader -ErrorAction SilentlyContinue - } - else { - $path = Get-SPManagedPath -WebApplication $params.WebAppUrl -Identity $params.RelativeUrl -ErrorAction SilentlyContinue - } + if ($null -eq $path) { + Invoke-xSharePointCommand -Credential $InstallAccount -Arguments $PSBoundParameters -ScriptBlock { + $params = $args[0] - if ($null -eq $path) { - $newParams = @{} if ($params.HostHeader) { $newParams.Add("HostHeader", $params.HostHeader) @@ -114,39 +82,17 @@ function Test-TargetResource [OutputType([System.Boolean])] param ( - [parameter(Mandatory = $true)] - [System.String] - $WebAppUrl, - - [parameter(Mandatory = $true)] - [System.Management.Automation.PSCredential] - $InstallAccount, - - [parameter(Mandatory = $true)] - [System.String] - $RelativeUrl, - - [parameter(Mandatory = $true)] - [System.Boolean] - $Explicit, - - [parameter(Mandatory = $true)] - [System.Boolean] - $HostHeader + [parameter(Mandatory = $true)] [System.String] $WebAppUrl, + [parameter(Mandatory = $true)] [System.String] $RelativeUrl, + [parameter(Mandatory = $true)] [System.Boolean] $Explicit, + [parameter(Mandatory = $true)] [System.Boolean] $HostHeader, + [parameter(Mandatory = $false)] [System.Management.Automation.PSCredential] $InstallAccount ) - $result = Get-TargetResource -WebAppUrl $WebAppUrl -InstallAccount $InstallAccount -RelativeUrl $RelativeUrl -Explicit $Explicit -HostHeader $HostHeader + $CurrentValues = Get-TargetResource @PSBoundParameters Write-Verbose -Message "Looking up the managed path $RelativeUrl in $WebAppUrl" - if ($result.Count -eq 0) { return $false } - else { - if ($Explicit) { - if ($result.PathType -ne "ExplicitInclusion") { return $false } - } - else { - if ($result.PathType -ne "WildcardInclusion") { return $false } - } - } - return $true + if ($CurrentValues -eq $null) { return $false } + return Test-xSharePointSpecificParameters -CurrentValues $CurrentValues -DesiredValues $PSBoundParameters -ValuesToCheck @("WebAppUrl","RelativeUrl","Explicit","HostHeader") } diff --git a/Modules/xSharePoint/DSCResources/MSFT_xSPManagedPath/MSFT_xSPManagedPath.schema.mof b/Modules/xSharePoint/DSCResources/MSFT_xSPManagedPath/MSFT_xSPManagedPath.schema.mof index f162c8719..db74c22c0 100644 --- a/Modules/xSharePoint/DSCResources/MSFT_xSPManagedPath/MSFT_xSPManagedPath.schema.mof +++ b/Modules/xSharePoint/DSCResources/MSFT_xSPManagedPath/MSFT_xSPManagedPath.schema.mof @@ -2,7 +2,7 @@ class MSFT_xSPManagedPath : OMI_BaseResource { [Key] string WebAppUrl; - [Required, EmbeddedInstance("MSFT_Credential")] String InstallAccount; + [Write, EmbeddedInstance("MSFT_Credential")] String InstallAccount; [Key] string RelativeUrl; [Required] boolean Explicit; [Required] boolean HostHeader; diff --git a/Modules/xSharePoint/DSCResources/MSFT_xSPSearchServiceApp/MSFT_xSPSearchServiceApp.psm1 b/Modules/xSharePoint/DSCResources/MSFT_xSPSearchServiceApp/MSFT_xSPSearchServiceApp.psm1 index 81fc03b69..ff62feb88 100644 --- a/Modules/xSharePoint/DSCResources/MSFT_xSPSearchServiceApp/MSFT_xSPSearchServiceApp.psm1 +++ b/Modules/xSharePoint/DSCResources/MSFT_xSPSearchServiceApp/MSFT_xSPSearchServiceApp.psm1 @@ -4,40 +4,39 @@ function Get-TargetResource [OutputType([System.Collections.Hashtable])] param ( - [parameter(Mandatory = $true)] - [System.String] - $Name, - - [parameter(Mandatory = $true)] - [System.String] - $ApplicationPool, - - [parameter(Mandatory = $true)] - [System.Management.Automation.PSCredential] - $InstallAccount + [parameter(Mandatory = $true)] [System.String] $Name, + [parameter(Mandatory = $true)] [System.String] $ApplicationPool, + [parameter(Mandatory = $false)] [System.String] $DatabaseServer, + [parameter(Mandatory = $false)] [System.String] $DatabaseName, + [parameter(Mandatory = $false)] [System.Management.Automation.PSCredential] $InstallAccount ) Write-Verbose -Message "Getting Search service application '$Name'" - $session = Get-xSharePointAuthenticatedPSSession -Credential $InstallAccount - - $result = Invoke-Command -Session $session -ArgumentList $PSBoundParameters -ScriptBlock { + $result = Invoke-xSharePointCommand -Credential $InstallAccount -Arguments $PSBoundParameters -ScriptBlock { $params = $args[0] - $serviceApp = Get-SPServiceApplication -Name $params.Name -ErrorAction SilentlyContinue | - Where-Object { $_.TypeName -eq "Search Service Application" } - If ($null -eq $serviceApp) - { - return @{} + + + $serviceApps = Get-SPServiceApplication -Name $params.Name -ErrorAction SilentlyContinue + if ($null -eq $serviceApps) { + return $null } - else - { - return @{ + $serviceApp = $serviceApps | Where-Object { $_.TypeName -eq "Search Service Application" } + + If ($null -eq $serviceApp) { + return $null + } else { + $returnVal = @{ Name = $serviceApp.DisplayName ApplicationPool = $serviceApp.ApplicationPool.Name + DatabaseName = $serviceApp.Database.Name + DatabaseServer = $serviceApp.Database.Server.Name + InstallAccount = $params.InstallAccount } + return $returnVal } } - $result + return $result } @@ -46,50 +45,39 @@ function Set-TargetResource [CmdletBinding()] param ( - [parameter(Mandatory = $true)] - [System.String] - $Name, - - [parameter(Mandatory = $true)] - [System.String] - $ApplicationPool, - - [System.String] - $DatabaseServer = $null, - - [System.String] - $DatabaseName = $null, - - [parameter(Mandatory = $true)] - [System.Management.Automation.PSCredential] - $InstallAccount + [parameter(Mandatory = $true)] [System.String] $Name, + [parameter(Mandatory = $true)] [System.String] $ApplicationPool, + [parameter(Mandatory = $false)] [System.String] $DatabaseServer, + [parameter(Mandatory = $false)] [System.String] $DatabaseName, + [parameter(Mandatory = $false)] [System.Management.Automation.PSCredential] $InstallAccount ) + $result = Get-TargetResource @PSBoundParameters - $result = Get-TargetResource -Name $Name -ApplicationPool $ApplicationPool -InstallAccount $InstallAccount - $session = Get-xSharePointAuthenticatedPSSession -Credential $InstallAccount - if ($result.Count -eq 0) { + if ($result -eq $null) { Write-Verbose -Message "Creating Search Service Application $Name" - Invoke-Command -Session $session -ArgumentList $PSBoundParameters -ScriptBlock { + Invoke-xSharePointCommand -Credential $InstallAccount -Arguments $PSBoundParameters -ScriptBlock { $params = $args[0] - $params = Remove-xSharePointNullParamValues -Params $params - $params.Remove("InstallAccount") | Out-Null + - Get-SPEnterpriseSearchServiceInstance -Local | Start-SPEnterpriseSearchServiceInstance -ErrorAction SilentlyContinue + if ($params.ContainsKey("InstallAccount")) { $params.Remove("InstallAccount") | Out-Null } + + $serviceInstance = Get-SPEnterpriseSearchServiceInstance -Local + Start-SPEnterpriseSearchServiceInstance -Identity $serviceInstance -ErrorAction SilentlyContinue $app = New-SPEnterpriseSearchServiceApplication @params if ($app) { - New-SPEnterpriseSearchServiceApplicationProxy -Name ($params.Name + " Proxy") -SearchApplication $app + New-SPEnterpriseSearchServiceApplicationProxy -Name "$($params.Name) Proxy" -SearchApplication $app } } - } - else { + } else { if ([string]::IsNullOrEmpty($ApplicationPool) -eq $false -and $ApplicationPool -ne $result.ApplicationPool) { Write-Verbose -Message "Updating Search Service Application $Name" - Invoke-Command -Session $session -ArgumentList $PSBoundParameters -ScriptBlock { + Invoke-xSharePointCommand -Credential $InstallAccount -Arguments $PSBoundParameters -ScriptBlock { $params = $args[0] - $params = Remove-xSharePointNullParamValues -Params $params - $serviceApp = Get-SPServiceApplication -Name $params.Name -ErrorAction SilentlyContinue | - Where-Object { $_.TypeName -eq "Search Service Application" } - $serviceApp | Set-SPEnterpriseSearchServiceApplication -ApplicationPool (Get-SPServiceApplicationPool $params.ApplicationPool) + + + $serviceApp = Get-SPServiceApplication -Name $params.Name | Where-Object { $_.TypeName -eq "Search Service Application" } + $appPool = Get-SPServiceApplicationPool -Identity $params.ApplicationPool + Set-SPEnterpriseSearchServiceApplication -Identity $serviceApp -ApplicationPool $appPool } } } @@ -102,33 +90,17 @@ function Test-TargetResource [OutputType([System.Boolean])] param ( - [parameter(Mandatory = $true)] - [System.String] - $Name, - - [parameter(Mandatory = $true)] - [System.String] - $ApplicationPool, - - [System.String] - $DatabaseServer = $null, - - [System.String] - $DatabaseName = $null, - - [parameter(Mandatory = $true)] - [System.Management.Automation.PSCredential] - $InstallAccount + [parameter(Mandatory = $true)] [System.String] $Name, + [parameter(Mandatory = $true)] [System.String] $ApplicationPool, + [parameter(Mandatory = $false)] [System.String] $DatabaseServer, + [parameter(Mandatory = $false)] [System.String] $DatabaseName, + [parameter(Mandatory = $false)] [System.Management.Automation.PSCredential] $InstallAccount ) - $result = Get-TargetResource -Name $Name -ApplicationPool $ApplicationPool -InstallAccount $InstallAccount + $CurrentValues = Get-TargetResource @PSBoundParameters Write-Verbose -Message "Testing Search service application '$Name'" - - if ($result.Count -eq 0) { return $false } - else { - if ($ApplicationPool -ne $result.ApplicationPool) { return $false } - } - return $true + If ($null -eq $CurrentValues) { return $false } + return Test-xSharePointSpecificParameters -CurrentValues $CurrentValues -DesiredValues $PSBoundParameters -ValuesToCheck @("ApplicationPool") } Export-ModuleMember -Function *-TargetResource diff --git a/Modules/xSharePoint/DSCResources/MSFT_xSPSearchServiceApp/MSFT_xSPSearchServiceApp.schema.mof b/Modules/xSharePoint/DSCResources/MSFT_xSPSearchServiceApp/MSFT_xSPSearchServiceApp.schema.mof index 91442b613..09d9cd3da 100644 --- a/Modules/xSharePoint/DSCResources/MSFT_xSPSearchServiceApp/MSFT_xSPSearchServiceApp.schema.mof +++ b/Modules/xSharePoint/DSCResources/MSFT_xSPSearchServiceApp/MSFT_xSPSearchServiceApp.schema.mof @@ -5,6 +5,6 @@ class MSFT_xSPSearchServiceApp : OMI_BaseResource [Required] string ApplicationPool; [Write] string DatabaseName; [Write] string DatabaseServer; - [Required, EmbeddedInstance("MSFT_Credential")] String InstallAccount; + [Write, EmbeddedInstance("MSFT_Credential")] String InstallAccount; }; diff --git a/Modules/xSharePoint/DSCResources/MSFT_xSPSecureStoreServiceApp/MSFT_xSPSecureStoreServiceApp.psm1 b/Modules/xSharePoint/DSCResources/MSFT_xSPSecureStoreServiceApp/MSFT_xSPSecureStoreServiceApp.psm1 index 76efdc33b..a27731b3c 100644 --- a/Modules/xSharePoint/DSCResources/MSFT_xSPSecureStoreServiceApp/MSFT_xSPSecureStoreServiceApp.psm1 +++ b/Modules/xSharePoint/DSCResources/MSFT_xSPSecureStoreServiceApp/MSFT_xSPSecureStoreServiceApp.psm1 @@ -4,44 +4,47 @@ function Get-TargetResource [OutputType([System.Collections.Hashtable])] param ( - [parameter(Mandatory = $true)] - [System.String] - $Name, - - [parameter(Mandatory = $true)] - [System.String] - $ApplicationPool, - - [parameter(Mandatory = $true)] - [System.Boolean] - $AuditingEnabled, - - [parameter(Mandatory = $true)] - [System.Management.Automation.PSCredential] - $InstallAccount + [parameter(Mandatory = $true)] [System.String] $Name, + [parameter(Mandatory = $true)] [System.String] $ApplicationPool, + [parameter(Mandatory = $true)] [System.Boolean] $AuditingEnabled, + [parameter(Mandatory = $false)] [System.UInt32] $AuditlogMaxSize, + [parameter(Mandatory = $false)] [System.String] $DatabaseName, + [parameter(Mandatory = $false)] [System.String] $DatabasePassword, + [parameter(Mandatory = $false)] [System.String] $DatabaseServer, + [parameter(Mandatory = $false)] [System.String] $DatabaseUsername, + [parameter(Mandatory = $false)] [System.String] $FailoverDatabaseServer, + [parameter(Mandatory = $false)] [System.Boolean] $PartitionMode, + [parameter(Mandatory = $false)] [System.Boolean] $Sharing, + [parameter(Mandatory = $false)] [System.Management.Automation.PSCredential] $DatabaseCredentials, + [parameter(Mandatory = $false)] [System.Management.Automation.PSCredential] $InstallAccount ) Write-Verbose -Message "Getting secure store service application '$Name'" - - $session = Get-xSharePointAuthenticatedPSSession -Credential $InstallAccount - $result = Invoke-Command -Session $session -ArgumentList $PSBoundParameters -ScriptBlock { + $result = Invoke-xSharePointCommand -Credential $InstallAccount -Arguments $PSBoundParameters -ScriptBlock { $params = $args[0] - $serviceApp = Get-SPServiceApplication -Name $params.Name -ErrorAction SilentlyContinue | - Where-Object { $_.TypeName -eq "Secure Store Service Application" } - If ($null -eq $serviceApp) - { - return @{} + + + $serviceApps = Get-SPServiceApplication -Name $params.Name -ErrorAction SilentlyContinue + if ($null -eq $serviceApps) { + return $null } - else - { - return @{ + $serviceApp = $serviceApps | Where-Object { $_.TypeName -eq "Secure Store Service Application" } + + If ($null -eq $serviceApp) { + return $null + } else { + $returnVal = @{ Name = $serviceApp.DisplayName ApplicationPool = $serviceApp.ApplicationPool.Name + DatabaseName = $serviceApp.Database.Name + DatabaseServer = $serviceApp.Database.Server.Name + InstallAccount = $params.InstallAccount } + return $returnVal } } - $result + return $result } @@ -50,77 +53,66 @@ function Set-TargetResource [CmdletBinding()] param ( - [parameter(Mandatory = $true)] - [System.String] - $Name, - - [parameter(Mandatory = $true)] - [System.String] - $ApplicationPool, - - [parameter(Mandatory = $true)] - [System.Boolean] - $AuditingEnabled, - - [System.UInt32] - $AuditlogMaxSize = 30, - - [System.Management.Automation.PSCredential] - $DatabaseCredentials = $null, - - [System.String] - $DatabaseName = $null, - - [System.String] - $DatabasePassword = $null, - - [System.String] - $DatabaseServer = $null, - - [System.String] - $DatabaseUsername = $null, - - [System.String] - $FailoverDatabaseServer = $null, - - [System.Boolean] - $PartitionMode = $false, + [parameter(Mandatory = $true)] [System.String] $Name, + [parameter(Mandatory = $true)] [System.String] $ApplicationPool, + [parameter(Mandatory = $true)] [System.Boolean] $AuditingEnabled, + [parameter(Mandatory = $false)] [System.UInt32] $AuditlogMaxSize, + [parameter(Mandatory = $false)] [System.String] $DatabaseName, + [parameter(Mandatory = $false)] [System.String] $DatabasePassword, + [parameter(Mandatory = $false)] [System.String] $DatabaseServer, + [parameter(Mandatory = $false)] [System.String] $DatabaseUsername, + [parameter(Mandatory = $false)] [System.String] $FailoverDatabaseServer, + [parameter(Mandatory = $false)] [System.Boolean] $PartitionMode, + [parameter(Mandatory = $false)] [System.Boolean] $Sharing, + [parameter(Mandatory = $false)] [System.Management.Automation.PSCredential] $DatabaseCredentials, + [parameter(Mandatory = $false)] [System.Management.Automation.PSCredential] $InstallAccount + ) - [System.Boolean] - $Sharing = $true, + $result = Get-TargetResource @PSBoundParameters + $params = $PSBoundParameters - [parameter(Mandatory = $true)] - [System.Management.Automation.PSCredential] - $InstallAccount - ) + switch((Get-xSharePointInstalledProductVersion).FileMajorPart) { + 16 { + $hasOptionalParams = $false + @("AuditlogMaxSize","DatabaseName","DatabasePassword","DatabaseServer","DatabaseUsername", ` + "FailoverDatabaseServer","PartitionMode","Sharing","DatabaseCredentials") | ForEach-Object { + if ($PSBoundParameters.ContainsKey($_) -eq $true) { $hasOptionalParams = $true } + } + if ($hasOptionalParams -eq $false) { + # Add the MinDB param to ensure that the cmdlet call gets differentiated without the optional params being set + $params.Add("EnableMinDB", $false) + } + } + } - $result = Get-TargetResource -Name $Name -ApplicationPool $ApplicationPool -AuditingEnabled $AuditingEnabled -InstallAccount $InstallAccount - $session = Get-xSharePointAuthenticatedPSSession -Credential $InstallAccount - if ($result.Count -eq 0) { + if ($null -eq $result) { Write-Verbose -Message "Creating Secure Store Service Application $Name" - Invoke-Command -Session $session -ArgumentList $PSBoundParameters -ScriptBlock { + Invoke-xSharePointCommand -Credential $InstallAccount -Arguments $params -ScriptBlock { $params = $args[0] - $params = Remove-xSharePointNullParamValues -Params $params - $params.Remove("InstallAccount") | Out-Null + + if ($params.ContainsKey("InstallAccount")) { $params.Remove("InstallAccount") | Out-Null } - $app = New-SPSecureStoreServiceApplication @params - if ($null -ne $app) { - New-SPSecureStoreServiceApplicationProxy -Name ($params.Name + " Proxy") -ServiceApplication $app - } + New-SPSecureStoreServiceApplication @params | New-SPSecureStoreServiceApplicationProxy -Name "$($params.Name) Proxy" } - } - else { + } else { if ([string]::IsNullOrEmpty($ApplicationPool) -eq $false -and $ApplicationPool -ne $result.ApplicationPool) { Write-Verbose -Message "Updating Secure Store Service Application $Name" - Invoke-Command -Session $session -ArgumentList $PSBoundParameters -ScriptBlock { + Invoke-xSharePointCommand -Credential $InstallAccount -Arguments $PSBoundParameters -ScriptBlock { $params = $args[0] - $params = Remove-xSharePointNullParamValues -Params $params - $params.Remove("Name") | Out-Null - if ($params.ContainsKey("PartitionMode")) { $params.Remove("PartitionMode") | Out-Null } - $serviceApp = Get-SPServiceApplication -Name $params.Name -ErrorAction SilentlyContinue | - Where-Object { $_.TypeName -eq "Secure Store Service Application" } - $serviceApp | Set-SPSecureStoreServiceApplication @params + $serviceApp = Get-SPServiceApplication -Name $params.Name | Where-Object { $_.TypeName -eq "Secure Store Service Application" } + $appPool = Get-SPServiceApplicationPool -Identity $params.ApplicationPool + switch((Get-xSharePointInstalledProductVersion).FileMajorPart) { + 15 { + Set-SPSecureStoreServiceApplication -Identity $serviceApp -ApplicationPool $appPool + } + 16 { + Set-SPSecureStoreServiceApplication -Identity $serviceApp -ApplicationPool $appPool -EnableMinDB:$false + } + Default { + throw [Exception] "An unknown version of SharePoint (Major version $_) was detected. Only versions 15 (SharePoint 2013) or 16 (SharePoint 2016) are supported." + } + } } } } @@ -133,57 +125,25 @@ function Test-TargetResource [OutputType([System.Boolean])] param ( - [parameter(Mandatory = $true)] - [System.String] - $Name, - - [parameter(Mandatory = $true)] - [System.String] - $ApplicationPool, - - [parameter(Mandatory = $true)] - [System.Boolean] - $AuditingEnabled, - - [System.UInt32] - $AuditlogMaxSize = 30, - - [System.Management.Automation.PSCredential] - $DatabaseCredentials = $null, - - [System.String] - $DatabaseName = $null, - - [System.String] - $DatabasePassword = $null, - - [System.String] - $DatabaseServer = $null, - - [System.String] - $DatabaseUsername = $null, - - [System.String] - $FailoverDatabaseServer = $null, - - [System.Boolean] - $PartitionMode = $false, - - [System.Boolean] - $Sharing = $true, - - [parameter(Mandatory = $true)] - [System.Management.Automation.PSCredential] - $InstallAccount + [parameter(Mandatory = $true)] [System.String] $Name, + [parameter(Mandatory = $true)] [System.String] $ApplicationPool, + [parameter(Mandatory = $true)] [System.Boolean] $AuditingEnabled, + [parameter(Mandatory = $false)] [System.UInt32] $AuditlogMaxSize, + [parameter(Mandatory = $false)] [System.String] $DatabaseName, + [parameter(Mandatory = $false)] [System.String] $DatabasePassword, + [parameter(Mandatory = $false)] [System.String] $DatabaseServer, + [parameter(Mandatory = $false)] [System.String] $DatabaseUsername, + [parameter(Mandatory = $false)] [System.String] $FailoverDatabaseServer, + [parameter(Mandatory = $false)] [System.Boolean] $PartitionMode, + [parameter(Mandatory = $false)] [System.Boolean] $Sharing, + [parameter(Mandatory = $false)] [System.Management.Automation.PSCredential] $DatabaseCredentials, + [parameter(Mandatory = $false)] [System.Management.Automation.PSCredential] $InstallAccount ) - $result = Get-TargetResource -Name $Name -ApplicationPool $ApplicationPool -AuditingEnabled $AuditingEnabled -InstallAccount $InstallAccount + $CurrentValues = Get-TargetResource @PSBoundParameters Write-Verbose -Message "Testing secure store service application $Name" - if ($result.Count -eq 0) { return $false } - else { - if ($ApplicationPool -ne $result.ApplicationPool) { return $false } - } - return $true + if ($null -eq $CurrentValues) { return $false } + return Test-xSharePointSpecificParameters -CurrentValues $CurrentValues -DesiredValues $PSBoundParameters -ValuesToCheck @("ApplicationPool") } diff --git a/Modules/xSharePoint/DSCResources/MSFT_xSPSecureStoreServiceApp/MSFT_xSPSecureStoreServiceApp.schema.mof b/Modules/xSharePoint/DSCResources/MSFT_xSPSecureStoreServiceApp/MSFT_xSPSecureStoreServiceApp.schema.mof index 7686236ff..8b4bc052d 100644 --- a/Modules/xSharePoint/DSCResources/MSFT_xSPSecureStoreServiceApp/MSFT_xSPSecureStoreServiceApp.schema.mof +++ b/Modules/xSharePoint/DSCResources/MSFT_xSPSecureStoreServiceApp/MSFT_xSPSecureStoreServiceApp.schema.mof @@ -13,6 +13,6 @@ class MSFT_xSPSecureStoreServiceApp : OMI_BaseResource [Write] string FailoverDatabaseServer; [Write] boolean PartitionMode; [Write] boolean Sharing; - [Required, EmbeddedInstance("MSFT_Credential")] String InstallAccount; + [Write, EmbeddedInstance("MSFT_Credential")] String InstallAccount; }; diff --git a/Modules/xSharePoint/DSCResources/MSFT_xSPServiceAppPool/MSFT_xSPServiceAppPool.psm1 b/Modules/xSharePoint/DSCResources/MSFT_xSPServiceAppPool/MSFT_xSPServiceAppPool.psm1 index 99b086056..7ebe121e8 100644 --- a/Modules/xSharePoint/DSCResources/MSFT_xSPServiceAppPool/MSFT_xSPServiceAppPool.psm1 +++ b/Modules/xSharePoint/DSCResources/MSFT_xSPServiceAppPool/MSFT_xSPServiceAppPool.psm1 @@ -4,35 +4,27 @@ function Get-TargetResource [OutputType([System.Collections.Hashtable])] param ( - [parameter(Mandatory = $true)] - [System.String] - $Name, - - [parameter(Mandatory = $true)] - [System.String] - $ServiceAccount, - - [parameter(Mandatory = $true)] - [System.Management.Automation.PSCredential] - $InstallAccount + [parameter(Mandatory = $true)] [System.String] $Name, + [parameter(Mandatory = $true)] [System.String] $ServiceAccount, + [parameter(Mandatory = $false)] [System.Management.Automation.PSCredential] $InstallAccount ) Write-Verbose -Message "Getting service application pool '$Name'" - $session = Get-xSharePointAuthenticatedPSSession -Credential $InstallAccount - - $result = Invoke-Command -Session $session -ArgumentList $PSBoundParameters -ScriptBlock { + $result = Invoke-xSharePointCommand -Credential $InstallAccount -Arguments $PSBoundParameters -ScriptBlock { $params = $args[0] + - $sap = Get-SPServiceApplicationPool $params.Name -ErrorAction SilentlyContinue - if ($null -eq $sap) { return @{} } + $sap = Get-SPServiceApplicationPool -Identity $params.Name -ErrorAction SilentlyContinue + if ($null -eq $sap) { return $null } return @{ Name = $sap.Name - ProcessAccountName = $sap.ProcessAccountName + ServiceAccount = $sap.ProcessAccountName + InstallAccount = $params.InstallAccount } } - $result + return $result } @@ -41,31 +33,23 @@ function Set-TargetResource [CmdletBinding()] param ( - [parameter(Mandatory = $true)] - [System.String] - $Name, - - [parameter(Mandatory = $true)] - [System.String] - $ServiceAccount, - - [parameter(Mandatory = $true)] - [System.Management.Automation.PSCredential] - $InstallAccount + [parameter(Mandatory = $true)] [System.String] $Name, + [parameter(Mandatory = $true)] [System.String] $ServiceAccount, + [parameter(Mandatory = $false)] [System.Management.Automation.PSCredential] $InstallAccount ) Write-Verbose -Message "Creating service application pool '$Name'" - $session = Get-xSharePointAuthenticatedPSSession -Credential $InstallAccount - $result = Invoke-Command -Session $session -ArgumentList $PSBoundParameters -ScriptBlock { + $result = Invoke-xSharePointCommand -Credential $InstallAccount -Arguments $PSBoundParameters -ScriptBlock { $params = $args[0] + - $sap = Get-SPServiceApplicationPool $params.Name -ErrorAction SilentlyContinue + $sap = Get-SPServiceApplicationPool -Identity $params.Name -ErrorAction SilentlyContinue if ($null -eq $sap) { - New-SPServiceApplicationPool -Name $params.Name -Account $params.ServiceAccount + New-SPServiceApplicationPool -Name $params.Name -Account $params.ServiceAccount } else { if ($sap.ProcessAccountName -ne $params.ServiceAccount) { - Set-SPServiceApplicationPool -Identity $params.Name -Account $params.ServiceAccount + Set-SPServiceApplicationPool -Identity $params.Name -Account $params.ServiceAccount } } } @@ -78,26 +62,15 @@ function Test-TargetResource [OutputType([System.Boolean])] param ( - [parameter(Mandatory = $true)] - [System.String] - $Name, - - [parameter(Mandatory = $true)] - [System.String] - $ServiceAccount, - - [parameter(Mandatory = $true)] - [System.Management.Automation.PSCredential] - $InstallAccount + [parameter(Mandatory = $true)] [System.String] $Name, + [parameter(Mandatory = $true)] [System.String] $ServiceAccount, + [parameter(Mandatory = $false)] [System.Management.Automation.PSCredential] $InstallAccount ) - $result = Get-TargetResource -Name $Name -ServiceAccount $ServiceAccount -InstallAccount $InstallAccount + $CurrentValues = Get-TargetResource @PSBoundParameters Write-Verbose -Message "Testing service application pool '$Name'" - if ($result.Count -eq 0) { return $false } - else { - if ($ServiceAccount -ne $result.ProcessAccountName) { return $false } - } - return $true + if ($null -eq $CurrentValues) { return $false } + return Test-xSharePointSpecificParameters -CurrentValues $CurrentValues -DesiredValues $PSBoundParameters -ValuesToCheck @("ServiceAccount") } diff --git a/Modules/xSharePoint/DSCResources/MSFT_xSPServiceAppPool/MSFT_xSPServiceAppPool.schema.mof b/Modules/xSharePoint/DSCResources/MSFT_xSPServiceAppPool/MSFT_xSPServiceAppPool.schema.mof index 668fe9984..6db5884ac 100644 --- a/Modules/xSharePoint/DSCResources/MSFT_xSPServiceAppPool/MSFT_xSPServiceAppPool.schema.mof +++ b/Modules/xSharePoint/DSCResources/MSFT_xSPServiceAppPool/MSFT_xSPServiceAppPool.schema.mof @@ -3,6 +3,6 @@ class MSFT_xSPServiceAppPool : OMI_BaseResource { [Key] string Name; [Required] string ServiceAccount; - [Required, EmbeddedInstance("MSFT_Credential")] String InstallAccount; + [Write, EmbeddedInstance("MSFT_Credential")] String InstallAccount; }; diff --git a/Modules/xSharePoint/DSCResources/MSFT_xSPServiceInstance/MSFT_xSPServiceInstance.psm1 b/Modules/xSharePoint/DSCResources/MSFT_xSPServiceInstance/MSFT_xSPServiceInstance.psm1 index e64673c24..2fefb2ef4 100644 --- a/Modules/xSharePoint/DSCResources/MSFT_xSPServiceInstance/MSFT_xSPServiceInstance.psm1 +++ b/Modules/xSharePoint/DSCResources/MSFT_xSPServiceInstance/MSFT_xSPServiceInstance.psm1 @@ -4,36 +4,32 @@ function Get-TargetResource [OutputType([System.Collections.Hashtable])] param ( - [parameter(Mandatory = $true)] - [System.String] - $Name, - - [parameter(Mandatory = $true)] - [System.Management.Automation.PSCredential] - $InstallAccount, - - [parameter(Mandatory = $true)] - [ValidateSet("Present","Absent")] - [System.String] - $Ensure + [parameter(Mandatory = $true)] [System.String] $Name, + [parameter(Mandatory = $false)] [System.Management.Automation.PSCredential] $InstallAccount, + [parameter(Mandatory = $true)] [ValidateSet("Present","Absent")] [System.String] $Ensure ) Write-Verbose -Message "Getting service instance '$Name'" - $session = Get-xSharePointAuthenticatedPSSession -Credential $InstallAccount - - $result = Invoke-Command -Session $session -ArgumentList $PSBoundParameters -ScriptBlock { + $result = Invoke-xSharePointCommand -Credential $InstallAccount -Arguments $PSBoundParameters -ScriptBlock { $params = $args[0] + $si = Get-SPServiceInstance -Server $env:COMPUTERNAME | Where-Object { $_.TypeName -eq $params.Name } - if ($null -eq $si) { return @{} } + if ($null -eq $si) { return @{ + Name = $params.Name + Ensure = "Absent" + InstallAccount = $params.InstallAccount + } } + if ($si.Status -eq "Online") { $localEnsure = "Present" } else { $localEnsure = "Absent" } return @{ Name = $params.Name - Status = $si.Status + Ensure = $localEnsure + InstallAccount = $params.InstallAccount } } - $result + return $result } @@ -42,41 +38,36 @@ function Set-TargetResource [CmdletBinding()] param ( - [parameter(Mandatory = $true)] - [System.String] - $Name, - - [parameter(Mandatory = $true)] - [System.Management.Automation.PSCredential] - $InstallAccount, - - [parameter(Mandatory = $true)] - [ValidateSet("Present","Absent")] - [System.String] - $Ensure + [parameter(Mandatory = $true)] [System.String] $Name, + [parameter(Mandatory = $false)] [System.Management.Automation.PSCredential] $InstallAccount, + [parameter(Mandatory = $true)] [ValidateSet("Present","Absent")] [System.String] $Ensure ) - $session = Get-xSharePointAuthenticatedPSSession -Credential $InstallAccount - if ($Ensure -eq "Present") { Write-Verbose -Message "Provisioning service instance '$Name'" - Invoke-Command -Session $session -ArgumentList $PSBoundParameters -ScriptBlock { + Invoke-xSharePointCommand -Credential $InstallAccount -Arguments $PSBoundParameters -ScriptBlock { $params = $args[0] + $si = Get-SPServiceInstance -Server $env:COMPUTERNAME | Where-Object { $_.TypeName -eq $params.Name } - if ($null -eq $si) { return $false } - Start-SPServiceInstance $si + if ($null -eq $si) { + throw [Exception] "Unable to locate service application '$($params.Name)'" + } + Start-SPServiceInstance -Identity $si } } else { Write-Verbose -Message "Deprovioning service instance '$Name'" - Invoke-Command -Session $session -ArgumentList $PSBoundParameters -ScriptBlock { + Invoke-xSharePointCommand -Credential $InstallAccount -Arguments $PSBoundParameters -ScriptBlock { $params = $args[0] + $si = Get-SPServiceInstance -Server $env:COMPUTERNAME | Where-Object { $_.TypeName -eq $params.Name } - if ($null -eq $si) { return $false } - Stop-SPServiceInstance $si + if ($null -eq $si) { + throw [Exception] "Unable to locate service application '$($params.Name)'" + } + Stop-SPServiceInstance -Identity $si } } } @@ -88,32 +79,14 @@ function Test-TargetResource [OutputType([System.Boolean])] param ( - [parameter(Mandatory = $true)] - [System.String] - $Name, - - [parameter(Mandatory = $true)] - [System.Management.Automation.PSCredential] - $InstallAccount, - - [parameter(Mandatory = $true)] - [ValidateSet("Present","Absent")] - [System.String] - $Ensure + [parameter(Mandatory = $true)] [System.String] $Name, + [parameter(Mandatory = $false)] [System.Management.Automation.PSCredential] $InstallAccount, + [parameter(Mandatory = $true)] [ValidateSet("Present","Absent")] [System.String] $Ensure ) - $result = Get-TargetResource -Name $Name -InstallAccount $InstallAccount -Ensure $Ensure + $CurrentValues = Get-TargetResource @PSBoundParameters Write-Verbose -Message "Getting service instance '$Name'" - if ($result.Count -eq 0) { return $false } - else { - if ($Ensure -eq "Present" -and $result.Status -eq "Disabled") { - return $false - } - if ($Ensure -eq "Absent" -and $result.Status -eq "Online") { - return $false - } - } - return $true + return Test-xSharePointSpecificParameters -CurrentValues $CurrentValues -DesiredValues $PSBoundParameters -ValuesToCheck @("Name", "Ensure") } diff --git a/Modules/xSharePoint/DSCResources/MSFT_xSPServiceInstance/MSFT_xSPServiceInstance.schema.mof b/Modules/xSharePoint/DSCResources/MSFT_xSPServiceInstance/MSFT_xSPServiceInstance.schema.mof index aaa5c44f0..04d098e42 100644 --- a/Modules/xSharePoint/DSCResources/MSFT_xSPServiceInstance/MSFT_xSPServiceInstance.schema.mof +++ b/Modules/xSharePoint/DSCResources/MSFT_xSPServiceInstance/MSFT_xSPServiceInstance.schema.mof @@ -2,6 +2,6 @@ class MSFT_xSPServiceInstance : OMI_BaseResource { [Key] string Name; - [Required, EmbeddedInstance("MSFT_Credential")] String InstallAccount; + [Write, EmbeddedInstance("MSFT_Credential")] String InstallAccount; [Required, ValueMap{"Present","Absent"}, Values{"Present","Absent"}] string Ensure; }; diff --git a/Modules/xSharePoint/DSCResources/MSFT_xSPSite/MSFT_xSPSite.psm1 b/Modules/xSharePoint/DSCResources/MSFT_xSPSite/MSFT_xSPSite.psm1 index 0f0210364..fe9206883 100644 --- a/Modules/xSharePoint/DSCResources/MSFT_xSPSite/MSFT_xSPSite.psm1 +++ b/Modules/xSharePoint/DSCResources/MSFT_xSPSite/MSFT_xSPSite.psm1 @@ -4,36 +4,74 @@ function Get-TargetResource [OutputType([System.Collections.Hashtable])] param ( - [parameter(Mandatory = $true)] - [System.String] - $Url, - - [parameter(Mandatory = $true)] - [System.String] - $OwnerAlias, - - [parameter(Mandatory = $true)] - [System.Management.Automation.PSCredential] - $InstallAccount + [parameter(Mandatory = $true)] [System.String] $Url, + [parameter(Mandatory = $true)] [System.String] $OwnerAlias, + [parameter(Mandatory = $false)] [System.UInt32] $CompatibilityLevel, + [parameter(Mandatory = $false)] [System.String] $ContentDatabase, + [parameter(Mandatory = $false)] [System.String] $Description, + [parameter(Mandatory = $false)] [System.String] $HostHeaderWebApplication, + [parameter(Mandatory = $false)] [System.UInt32] $Language, + [parameter(Mandatory = $false)] [System.String] $Name, + [parameter(Mandatory = $false)] [System.String] $OwnerEmail, + [parameter(Mandatory = $false)] [System.String] $QuotaTemplate, + [parameter(Mandatory = $false)] [System.String] $SecondaryEmail, + [parameter(Mandatory = $false)] [System.String] $SecondaryOwnerAlias, + [parameter(Mandatory = $false)] [System.String] $Template, + [parameter(Mandatory = $false)] [System.Management.Automation.PSCredential] $InstallAccount ) Write-Verbose -Message "Getting site collection $Url" - $session = Get-xSharePointAuthenticatedPSSession -Credential $InstallAccount - - $result = Invoke-Command -Session $session -ArgumentList $PSBoundParameters -ScriptBlock { + $result = Invoke-xSharePointCommand -Credential $InstallAccount -Arguments $PSBoundParameters -ScriptBlock { $params = $args[0] - $site = Get-SPSite $params.Url -ErrorAction SilentlyContinue + + + $site = Get-SPSite -Identity $params.Url -ErrorAction SilentlyContinue + + if ($null -eq $site) { + return $null + } else { + if ($site.HostHeaderIsSiteName) { $HostHeaderWebApplication = $site.WebApplication.Url } + + if ($null -eq $site.Owner) { + $owner = $null + } else { + if ($site.WebApplication.UseClaimsAuthentication) { + $owner = (New-SPClaimsPrincipal -Identity $site.Owner.UserLogin -IdentityType "EncodedClaim").Value + } else { + $owner = $site.Owner.UserLogin + } + } + + if ($null -eq $site.SecondaryContact) { + $secondaryOwner = $null + } else { + if ($site.WebApplication.UseClaimsAuthentication) { + $secondaryOwner = (New-SPClaimsPrincipal -Identity $site.SecondaryContact.UserLogin -IdentityType "EncodedClaim").Value + } else { + $secondaryOwner = $site.SecondaryContact.UserLogin + } + } - if ($null -eq $site) { return @{} } - else { return @{ Url = $site.Url - OwnerAlias = $site.OwnerAlias + OwnerAlias = $owner + CompatibilityLevel = $site.CompatibilityLevel + ContentDatabase = $site.ContentDatabase.Name + Description = $site.RootWeb.Description + HostHeaderWebApplication = $HostHeaderWebApplication + Language = $site.RootWeb.Language + Name = $site.RootWeb.Name + OwnerEmail = $site.Owner.Email + QuotaTemplate = $site.Quota + SecondaryEmail = $site.SecondaryContact.Email + SecondaryOwnerAlias = $secondaryOwner + Template = "$($site.RootWeb.WebTemplate)#$($site.RootWeb.WebTemplateId)" + InstallAccount = $params.InstallAccount } } } - $result + return $result } @@ -42,62 +80,31 @@ function Set-TargetResource [CmdletBinding()] param ( - [parameter(Mandatory = $true)] - [System.String] - $Url, - - [parameter(Mandatory = $true)] - [System.String] - $OwnerAlias, - - [System.UInt32] - $CompatibilityLevel = $null, - - [System.String] - $ContentDatabase = $null, - - [System.String] - $Description = $null, - - [System.String] - $HostHeaderWebApplication = $null, - - [System.UInt32] - $Language = $null, - - [System.String] - $Name = $null, - - [System.String] - $OwnerEmail = $null, - - [System.String] - $QuotaTemplate = $null, - - [System.String] - $SecondaryEmail = $null, - - [System.String] - $SecondaryOwnerAlias = $null, - - [System.String] - $Template = $null, - - [parameter(Mandatory = $true)] - [System.Management.Automation.PSCredential] - $InstallAccount + [parameter(Mandatory = $true)] [System.String] $Url, + [parameter(Mandatory = $true)] [System.String] $OwnerAlias, + [parameter(Mandatory = $false)] [System.UInt32] $CompatibilityLevel, + [parameter(Mandatory = $false)] [System.String] $ContentDatabase, + [parameter(Mandatory = $false)] [System.String] $Description, + [parameter(Mandatory = $false)] [System.String] $HostHeaderWebApplication, + [parameter(Mandatory = $false)] [System.UInt32] $Language, + [parameter(Mandatory = $false)] [System.String] $Name, + [parameter(Mandatory = $false)] [System.String] $OwnerEmail, + [parameter(Mandatory = $false)] [System.String] $QuotaTemplate, + [parameter(Mandatory = $false)] [System.String] $SecondaryEmail, + [parameter(Mandatory = $false)] [System.String] $SecondaryOwnerAlias, + [parameter(Mandatory = $false)] [System.String] $Template, + [parameter(Mandatory = $false)] [System.Management.Automation.PSCredential] $InstallAccount ) Write-Verbose -Message "Creating site collection $Url" - $session = Get-xSharePointAuthenticatedPSSession -Credential $InstallAccount - - $result = Invoke-Command -Session $session -ArgumentList $PSBoundParameters -ScriptBlock { + $result = Invoke-xSharePointCommand -Credential $InstallAccount -Arguments $PSBoundParameters -ScriptBlock { $params = $args[0] - $params = Remove-xSharePointNullParamValues -Params $params + + $params.Remove("InstallAccount") | Out-Null - $site = Get-SPSite $params.Url -ErrorAction SilentlyContinue + $site = Get-SPSite -Identity $params.Url -ErrorAction SilentlyContinue if ($null -eq $site) { New-SPSite @params | Out-Null @@ -112,59 +119,26 @@ function Test-TargetResource [OutputType([System.Boolean])] param ( - [parameter(Mandatory = $true)] - [System.String] - $Url, - - [parameter(Mandatory = $true)] - [System.String] - $OwnerAlias, - - [System.UInt32] - $CompatibilityLevel = $null, - - [System.String] - $ContentDatabase = $null, - - [System.String] - $Description = $null, - - [System.String] - $HostHeaderWebApplication = $null, - - [System.UInt32] - $Language = $null, - - [System.String] - $Name = $null, - - [System.String] - $OwnerEmail = $null, - - [System.String] - $QuotaTemplate = $null, - - [System.String] - $SecondaryEmail = $null, - - [System.String] - $SecondaryOwnerAlias = $null, - - [System.String] - $Template = $null, - - [parameter(Mandatory = $true)] - [System.Management.Automation.PSCredential] - $InstallAccount + [parameter(Mandatory = $true)] [System.String] $Url, + [parameter(Mandatory = $true)] [System.String] $OwnerAlias, + [parameter(Mandatory = $false)] [System.UInt32] $CompatibilityLevel, + [parameter(Mandatory = $false)] [System.String] $ContentDatabase, + [parameter(Mandatory = $false)] [System.String] $Description, + [parameter(Mandatory = $false)] [System.String] $HostHeaderWebApplication, + [parameter(Mandatory = $false)] [System.UInt32] $Language, + [parameter(Mandatory = $false)] [System.String] $Name, + [parameter(Mandatory = $false)] [System.String] $OwnerEmail, + [parameter(Mandatory = $false)] [System.String] $QuotaTemplate, + [parameter(Mandatory = $false)] [System.String] $SecondaryEmail, + [parameter(Mandatory = $false)] [System.String] $SecondaryOwnerAlias, + [parameter(Mandatory = $false)] [System.String] $Template, + [parameter(Mandatory = $false)] [System.Management.Automation.PSCredential] $InstallAccount ) - $result = Get-TargetResource -Url $Url -OwnerAlias $OwnerAlias -InstallAccount $InstallAccount + $CurrentValues = Get-TargetResource @PSBoundParameters Write-Verbose -Message "Testing site collection $Url" - if ($result.Count -eq 0) { return $false } - else { - - } - return $true + if ($null -eq $CurrentValues) { return $false } + return Test-xSharePointSpecificParameters -CurrentValues $CurrentValues -DesiredValues $PSBoundParameters -ValuesToCheck @("Url") } diff --git a/Modules/xSharePoint/DSCResources/MSFT_xSPSite/MSFT_xSPSite.schema.mof b/Modules/xSharePoint/DSCResources/MSFT_xSPSite/MSFT_xSPSite.schema.mof index f6194c335..57f943d3a 100644 --- a/Modules/xSharePoint/DSCResources/MSFT_xSPSite/MSFT_xSPSite.schema.mof +++ b/Modules/xSharePoint/DSCResources/MSFT_xSPSite/MSFT_xSPSite.schema.mof @@ -14,6 +14,6 @@ class MSFT_xSPSite : OMI_BaseResource [Write] string SecondaryEmail; [Write] string SecondaryOwnerAlias; [Write] string Template; - [Required, EmbeddedInstance("MSFT_Credential")] String InstallAccount; + [Write, EmbeddedInstance("MSFT_Credential")] String InstallAccount; }; diff --git a/Modules/xSharePoint/DSCResources/MSFT_xSPStateServiceApp/MSFT_xSPStateServiceApp.psm1 b/Modules/xSharePoint/DSCResources/MSFT_xSPStateServiceApp/MSFT_xSPStateServiceApp.psm1 index d26270c1d..1637f5c3c 100644 --- a/Modules/xSharePoint/DSCResources/MSFT_xSPStateServiceApp/MSFT_xSPStateServiceApp.psm1 +++ b/Modules/xSharePoint/DSCResources/MSFT_xSPStateServiceApp/MSFT_xSPStateServiceApp.psm1 @@ -4,31 +4,31 @@ function Get-TargetResource [OutputType([System.Collections.Hashtable])] param ( - [parameter(Mandatory = $true)] - [System.String] - $Name, - - [parameter(Mandatory = $true)] - [System.Management.Automation.PSCredential] - $InstallAccount + [parameter(Mandatory = $true)] [System.String] $Name, + [parameter(Mandatory = $true)] [System.String] $DatabaseName, + [parameter(Mandatory = $false)] [System.String] $DatabaseServer, + [parameter(Mandatory = $false)] [System.Management.Automation.PSCredential] $DatabaseCredentials, + [parameter(Mandatory = $false)] [System.Management.Automation.PSCredential] $InstallAccount ) Write-Verbose -Message "Getting state service application '$Name'" - $session = Get-xSharePointAuthenticatedPSSession -Credential $InstallAccount - - $result = Invoke-Command -Session $session -ArgumentList $PSBoundParameters -ScriptBlock { + $result = Invoke-xSharePointCommand -Credential $InstallAccount -Arguments $PSBoundParameters -ScriptBlock { $params = $args[0] + - $app = Get-SPStateServiceApplication -Identity $params.Name -ErrorAction SilentlyContinue + $serviceApp = Get-SPStateServiceApplication -Identity $params.Name -ErrorAction SilentlyContinue - if ($null -eq $app) { return @{} } + if ($null -eq $serviceApp) { return $null } return @{ - Name = $app.DisplayName + Name = $serviceApp.DisplayName + DatabaseName = $serviceApp.Databases.Name + DatabaseServer = $serviceApp.Databases.Server.Name + InstallAccount = $params.InstallAccount } } - $result + return $result } @@ -37,31 +37,18 @@ function Set-TargetResource [CmdletBinding()] param ( - [parameter(Mandatory = $true)] - [System.String] - $Name, - - [System.Management.Automation.PSCredential] - $DatabaseCredentials = $null, - - [System.String] - $DatabaseName = $null, - - [System.String] - $DatabaseServer = $null, - - [parameter(Mandatory = $true)] - [System.Management.Automation.PSCredential] - $InstallAccount + [parameter(Mandatory = $true)] [System.String] $Name, + [parameter(Mandatory = $true)] [System.String] $DatabaseName, + [parameter(Mandatory = $false)] [System.String] $DatabaseServer, + [parameter(Mandatory = $false)] [System.Management.Automation.PSCredential] $DatabaseCredentials, + [parameter(Mandatory = $false)] [System.Management.Automation.PSCredential] $InstallAccount ) Write-Verbose -Message "Creating state service application $Name" - $session = Get-xSharePointAuthenticatedPSSession -Credential $InstallAccount - - $result = Invoke-Command -Session $session -ArgumentList $PSBoundParameters -ScriptBlock { + $result = Invoke-xSharePointCommand -Credential $InstallAccount -Arguments $PSBoundParameters -ScriptBlock { $params = $args[0] - $params = Remove-xSharePointNullParamValues -Params $params + $app = Get-SPStateServiceApplication -Identity $params.Name -ErrorAction SilentlyContinue if ($null -eq $app) { @@ -71,7 +58,9 @@ function Set-TargetResource if ($params.ContainsKey("DatabaseServer")) { $dbParams.Add("DatabaseServer", $params.DatabaseServer) } if ($params.ContainsKey("DatabaseCredentials")) { $dbParams.Add("DatabaseCredentials", $params.DatabaseCredentials) } - New-SPStateServiceDatabase @dbParams| New-SPStateServiceApplication -Name $params.Name | New-SPStateServiceApplicationProxy -DefaultProxyGroup + $database = New-SPStateServiceDatabase @dbParams + $app = New-SPStateServiceApplication -Name $params.Name -Database $database + New-SPStateServiceApplicationProxy -ServiceApplication $app -DefaultProxyGroup | Out-Null } } } @@ -83,28 +72,17 @@ function Test-TargetResource [OutputType([System.Boolean])] param ( - [parameter(Mandatory = $true)] - [System.String] - $Name, - - [System.Management.Automation.PSCredential] - $DatabaseCredentials = $null, - - [System.String] - $DatabaseName = $null, - - [System.String] - $DatabaseServer = $null, - - [parameter(Mandatory = $true)] - [System.Management.Automation.PSCredential] - $InstallAccount + [parameter(Mandatory = $true)] [System.String] $Name, + [parameter(Mandatory = $true)] [System.String] $DatabaseName, + [parameter(Mandatory = $false)] [System.String] $DatabaseServer, + [parameter(Mandatory = $false)] [System.Management.Automation.PSCredential] $DatabaseCredentials, + [parameter(Mandatory = $false)] [System.Management.Automation.PSCredential] $InstallAccount ) - $result = Get-TargetResource -Name $Name -InstallAccount $InstallAccount + $CurrentValues = Get-TargetResource @PSBoundParameters Write-Verbose -Message "Testing for state service application $Name" - if ($result.Count -eq 0) { return $false } - return $true + if ($null -eq $CurrentValues) { return $false } + return Test-xSharePointSpecificParameters -CurrentValues $CurrentValues -DesiredValues $PSBoundParameters -ValuesToCheck @("Name") } diff --git a/Modules/xSharePoint/DSCResources/MSFT_xSPStateServiceApp/MSFT_xSPStateServiceApp.schema.mof b/Modules/xSharePoint/DSCResources/MSFT_xSPStateServiceApp/MSFT_xSPStateServiceApp.schema.mof index 13c98d187..c068a9051 100644 --- a/Modules/xSharePoint/DSCResources/MSFT_xSPStateServiceApp/MSFT_xSPStateServiceApp.schema.mof +++ b/Modules/xSharePoint/DSCResources/MSFT_xSPStateServiceApp/MSFT_xSPStateServiceApp.schema.mof @@ -3,7 +3,7 @@ class MSFT_xSPStateServiceApp : OMI_BaseResource { [Key] string Name; [Write, EmbeddedInstance("MSFT_Credential")] String DatabaseCredentials; - [Write] string DatabaseName; + [Required] string DatabaseName; [Write] string DatabaseServer; - [Required, EmbeddedInstance("MSFT_Credential")] String InstallAccount; + [Write, EmbeddedInstance("MSFT_Credential")] String InstallAccount; }; diff --git a/Modules/xSharePoint/DSCResources/MSFT_xSPUsageApplication/MSFT_xSPUsageApplication.psm1 b/Modules/xSharePoint/DSCResources/MSFT_xSPUsageApplication/MSFT_xSPUsageApplication.psm1 index 1f726a84d..4fd51fefe 100644 --- a/Modules/xSharePoint/DSCResources/MSFT_xSPUsageApplication/MSFT_xSPUsageApplication.psm1 +++ b/Modules/xSharePoint/DSCResources/MSFT_xSPUsageApplication/MSFT_xSPUsageApplication.psm1 @@ -4,40 +4,54 @@ function Get-TargetResource [OutputType([System.Collections.Hashtable])] param ( - [parameter(Mandatory = $true)] - [System.String] - $Name, - - [parameter(Mandatory = $true)] - [System.Management.Automation.PSCredential] - $InstallAccount + [parameter(Mandatory = $true)] [System.String] $Name, + [parameter(Mandatory = $false)] [System.Management.Automation.PSCredential] $InstallAccount, + [parameter(Mandatory = $false)] [System.String] $DatabaseName, + [parameter(Mandatory = $false)] [System.String] $DatabasePassword, + [parameter(Mandatory = $false)] [System.String] $DatabaseServer, + [parameter(Mandatory = $false)] [System.String] $DatabaseUsername, + [parameter(Mandatory = $false)] [System.String] $FailoverDatabaseServer, + [parameter(Mandatory = $false)] [System.UInt32] $UsageLogCutTime, + [parameter(Mandatory = $false)] [System.String] $UsageLogLocation, + [parameter(Mandatory = $false)] [System.UInt32] $UsageLogMaxFileSizeKB, + [parameter(Mandatory = $false)] [System.UInt32] $UsageLogMaxSpaceGB ) Write-Verbose -Message "Getting usage application '$Name'" - $session = Get-xSharePointAuthenticatedPSSession -Credential $InstallAccount - - $result = Invoke-Command -Session $session -ArgumentList $PSBoundParameters -ScriptBlock { + $result = Invoke-xSharePointCommand -Credential $InstallAccount -Arguments $PSBoundParameters -ScriptBlock { $params = $args[0] - $serviceApp = Get-SPServiceApplication -Name $params.Name -ErrorAction SilentlyContinue | - Where-Object { $_.TypeName -eq "Usage and Health Data Collection Service Application" } + + + $serviceApps = Get-SPServiceApplication -Name $params.Name -ErrorAction SilentlyContinue + if ($null -eq $serviceApps) { + return $null + } + $serviceApp = $serviceApps | Where-Object { $_.TypeName -eq "Usage and Health Data Collection Service Application" } + If ($null -eq $serviceApp) { - return @{} + return $null } else { $service = Get-SPUsageService return @{ Name = $serviceApp.DisplayName + InstallAccount = $params.InstallAccount + DatabaseName = $serviceApp.UsageDatabase.Name + DatabaseServer = $serviceApp.UsageDatabase.Server.Name + DatabasePassword = $serviceApp.UsageDatabase.Password + DatabaseUsername = $serviceApp.UsageDatabase.Username + FailoverDatabaseServer = $serviceApp.UsageDatabase.FailoverServer UsageLogCutTime = $service.UsageLogCutTime - UsageLogDir = $service.UsageLogDir - UsageLogMaxFileSize = $service.UsageLogMaxFileSize + UsageLogLocation = $service.UsageLogDir + UsageLogMaxFileSizeKB = $service.UsageLogMaxFileSize / 1024 UsageLogMaxSpaceGB = $service.UsageLogMaxSpaceGB } } } - $result + return $result } @@ -46,55 +60,31 @@ function Set-TargetResource [CmdletBinding()] param ( - [parameter(Mandatory = $true)] - [System.String] - $Name, - - [parameter(Mandatory = $true)] - [System.Management.Automation.PSCredential] - $InstallAccount, - - [System.String] - $DatabaseName = $null, - - [System.String] - $DatabasePassword = $null, - - [System.String] - $DatabaseServer = $null, - - [System.String] - $DatabaseUsername = $null, - - [System.String] - $FailoverDatabaseServer = $null, - - [System.UInt32] - $UsageLogCutTime = 5, - - [System.String] - $UsageLogLocation = $null, - - [System.UInt32] - $UsageLogMaxFileSizeKB = 1024, - - [System.UInt32] - $UsageLogMaxSpaceGB = $null + [parameter(Mandatory = $true)] [System.String] $Name, + [parameter(Mandatory = $false)] [System.Management.Automation.PSCredential] $InstallAccount, + [parameter(Mandatory = $false)] [System.String] $DatabaseName, + [parameter(Mandatory = $false)] [System.String] $DatabasePassword, + [parameter(Mandatory = $false)] [System.String] $DatabaseServer, + [parameter(Mandatory = $false)] [System.String] $DatabaseUsername, + [parameter(Mandatory = $false)] [System.String] $FailoverDatabaseServer, + [parameter(Mandatory = $false)] [System.UInt32] $UsageLogCutTime, + [parameter(Mandatory = $false)] [System.String] $UsageLogLocation, + [parameter(Mandatory = $false)] [System.UInt32] $UsageLogMaxFileSizeKB, + [parameter(Mandatory = $false)] [System.UInt32] $UsageLogMaxSpaceGB ) Write-Verbose -Message "Setting usage application $Name" - $session = Get-xSharePointAuthenticatedPSSession -Credential $InstallAccount - Invoke-Command -Session $session -ArgumentList $PSBoundParameters -ScriptBlock { - $params = $args[0] - - $app = Get-SPServiceApplication -Name $params.Name -ErrorAction SilentlyContinue + $CurrentState = Get-TargetResource @PSBoundParameters - if ($null -eq $app) { + if ($null -eq $CurrentState) { + Invoke-xSharePointCommand -Credential $InstallAccount -Arguments $PSBoundParameters -ScriptBlock { + $params = $args[0] + $newParams = @{} $newParams.Add("Name", $params.Name) if ($params.ContainsKey("DatabaseName")) { $newParams.Add("DatabaseName", $params.DatabaseName) } - if ($params.ContainsKey("DatabasePassword")) { $newParams.Add("DatabasePassword", $params.DatabasePassword) } + if ($params.ContainsKey("DatabasePassword")) { $newParams.Add("DatabasePassword", (ConvertTo-SecureString -String $params.DatabasePassword -AsPlainText -force)) } if ($params.ContainsKey("DatabaseServer")) { $newParams.Add("DatabaseServer", $params.DatabaseServer) } if ($params.ContainsKey("DatabaseUsername")) { $newParams.Add("DatabaseUsername", $params.DatabaseUsername) } if ($params.ContainsKey("FailoverDatabaseServer")) { $newParams.Add("FailoverDatabaseServer", $params.FailoverDatabaseServer) } @@ -104,9 +94,9 @@ function Set-TargetResource } Write-Verbose -Message "Configuring usage application $Name" - Invoke-Command -Session $session -ArgumentList $PSBoundParameters -ScriptBlock { + Invoke-xSharePointCommand -Credential $InstallAccount -Arguments $PSBoundParameters -ScriptBlock { $params = $args[0] - $params = Remove-xSharePointNullParamValues -Params $params + $setParams = @{} $setParams.Add("LoggingEnabled", $true) @@ -125,52 +115,23 @@ function Test-TargetResource [OutputType([System.Boolean])] param ( - [parameter(Mandatory = $true)] - [System.String] - $Name, - - [parameter(Mandatory = $true)] - [System.Management.Automation.PSCredential] - $InstallAccount, - - [System.String] - $DatabaseName = $null, - - [System.String] - $DatabasePassword = $null, - - [System.String] - $DatabaseServer = $null, - - [System.String] - $DatabaseUsername = $null, - - [System.String] - $FailoverDatabaseServer = $null, - - [System.UInt32] - $UsageLogCutTime = 5, - - [System.String] - $UsageLogLocation = $null, - - [System.UInt32] - $UsageLogMaxFileSizeKB = 1024, - - [System.UInt32] - $UsageLogMaxSpaceGB = $null + [parameter(Mandatory = $true)] [System.String] $Name, + [parameter(Mandatory = $false)] [System.Management.Automation.PSCredential] $InstallAccount, + [parameter(Mandatory = $false)] [System.String] $DatabaseName, + [parameter(Mandatory = $false)] [System.String] $DatabasePassword, + [parameter(Mandatory = $false)] [System.String] $DatabaseServer, + [parameter(Mandatory = $false)] [System.String] $DatabaseUsername, + [parameter(Mandatory = $false)] [System.String] $FailoverDatabaseServer, + [parameter(Mandatory = $false)] [System.UInt32] $UsageLogCutTime, + [parameter(Mandatory = $false)] [System.String] $UsageLogLocation, + [parameter(Mandatory = $false)] [System.UInt32] $UsageLogMaxFileSizeKB, + [parameter(Mandatory = $false)] [System.UInt32] $UsageLogMaxSpaceGB ) - $result = Get-TargetResource -Name $Name -InstallAccount $InstallAccount + $CurrentValues = Get-TargetResource @PSBoundParameters Write-Verbose -Message "Testing for usage application '$Name'" - if ($result.Count -eq 0) { return $false } - else { - if ($PSBoundParameters.ContainsKey("UsageLogCutTime") -and $result.UsageLogCutTime -ne $UsageLogCutTime) { return $false } - if ($PSBoundParameters.ContainsKey("UsageLogLocation") -and $result.UsageLogDir -ne $UsageLogLocation) { return $false } - if ($PSBoundParameters.ContainsKey("UsageLogMaxFileSizeKB") -and $result.UsageLogMaxFileSize -ne $UsageLogMaxFileSizeKB) { return $false } - if ($PSBoundParameters.ContainsKey("UsageLogMaxSpaceGB") -and $result.UsageLogMaxSpaceGB -ne $UsageLogMaxSpaceGB) { return $false } - } - return $true + if ($null -eq $CurrentValues) { return $false } + return Test-xSharePointSpecificParameters -CurrentValues $CurrentValues -DesiredValues $PSBoundParameters -ValuesToCheck @("UsageLogCutTime", "UsageLogLocation", "UsageLogMaxFileSizeKB", "UsageLogMaxSpaceGB") } diff --git a/Modules/xSharePoint/DSCResources/MSFT_xSPUsageApplication/MSFT_xSPUsageApplication.schema.mof b/Modules/xSharePoint/DSCResources/MSFT_xSPUsageApplication/MSFT_xSPUsageApplication.schema.mof index f263823e7..81c7bdd83 100644 --- a/Modules/xSharePoint/DSCResources/MSFT_xSPUsageApplication/MSFT_xSPUsageApplication.schema.mof +++ b/Modules/xSharePoint/DSCResources/MSFT_xSPUsageApplication/MSFT_xSPUsageApplication.schema.mof @@ -2,7 +2,7 @@ class MSFT_xSPUsageApplication : OMI_BaseResource { [Key] string Name; - [Required, EmbeddedInstance("MSFT_Credential")] String InstallAccount; + [Write, EmbeddedInstance("MSFT_Credential")] String InstallAccount; [Write] string DatabaseName; [Write] string DatabasePassword; [Write] string DatabaseServer; diff --git a/Modules/xSharePoint/DSCResources/MSFT_xSPUserProfileServiceApp/MSFT_xSPUserProfileServiceApp.psm1 b/Modules/xSharePoint/DSCResources/MSFT_xSPUserProfileServiceApp/MSFT_xSPUserProfileServiceApp.psm1 index d9eb2e607..1c7f12ca4 100644 --- a/Modules/xSharePoint/DSCResources/MSFT_xSPUserProfileServiceApp/MSFT_xSPUserProfileServiceApp.psm1 +++ b/Modules/xSharePoint/DSCResources/MSFT_xSPUserProfileServiceApp/MSFT_xSPUserProfileServiceApp.psm1 @@ -4,119 +4,118 @@ function Get-TargetResource [OutputType([System.Collections.Hashtable])] param ( - [parameter(Mandatory = $true)] - [System.String] - $Name, - - [parameter(Mandatory = $true)] - [System.String] - $ApplicationPool, - - [parameter(Mandatory = $true)] - [System.Management.Automation.PSCredential] - $FarmAccount, - - [parameter(Mandatory = $true)] - [System.Management.Automation.PSCredential] - $InstallAccount + [parameter(Mandatory = $true)] [System.String] $Name, + [parameter(Mandatory = $true)] [System.String] $ApplicationPool, + [parameter(Mandatory = $true)] [System.Management.Automation.PSCredential] $FarmAccount, + [parameter(Mandatory = $false)] [System.String] $MySiteHostLocation, + [parameter(Mandatory = $false)] [System.String] $ProfileDBName, + [parameter(Mandatory = $false)] [System.String] $ProfileDBServer, + [parameter(Mandatory = $false)] [System.String] $SocialDBName, + [parameter(Mandatory = $false)] [System.String] $SocialDBServer, + [parameter(Mandatory = $false)] [System.String] $SyncDBName, + [parameter(Mandatory = $false)] [System.String] $SyncDBServer, + [parameter(Mandatory = $false)] [System.Management.Automation.PSCredential] $InstallAccount ) Write-Verbose -Message "Getting user profile service application $Name" - $session = Get-xSharePointAuthenticatedPSSession -Credential $InstallAccount - $result = Invoke-Command -Session $session -ArgumentList $PSBoundParameters -ScriptBlock { + + $result = Invoke-xSharePointCommand -Credential $InstallAccount -Arguments $PSBoundParameters -ScriptBlock { $params = $args[0] - $serviceApp = Get-SPServiceApplication -Name $params.Name -ErrorAction SilentlyContinue | - Where-Object { $_.TypeName -eq "User Profile Service Application" } + + + $serviceApps = Get-SPServiceApplication -Name $params.Name -ErrorAction SilentlyContinue + if ($null -eq $serviceApps) { + return $null + } + $serviceApp = $serviceApps | Where-Object { $_.TypeName -eq "User Profile Service Application" } + If ($null -eq $serviceApp) { - return @{} + return $null } else { + $databases = @{} + $propData = $serviceApp.GetType().GetProperties([System.Reflection.BindingFlags]::Instance -bor [System.Reflection.BindingFlags]::NonPublic) + + $socialProp = $propData | Where-Object {$_.Name -eq "SocialDatabase"} + $databases.Add("SocialDatabase", $socialProp.GetValue($serviceApp)) + + $profileProp = $propData | Where-Object {$_.Name -eq "ProfileDatabase"} + $databases.Add("ProfileDatabase", $profileProp.GetValue($serviceApp)) + + $syncProp = $propData | Where-Object {$_.Name -eq "SynchronizationDatabase"} + $databases.Add("SynchronizationDatabase", $syncProp.GetValue($serviceApp)) + + $spFarm = Get-SPFarm + + if ($params.FarmAccount.UserName -eq $spFarm.DefaultServiceAccount.Name) { + $farmAccount = $params.FarmAccount + } else { + $farmAccount = $spFarm.DefaultServiceAccount.Name + } + return @{ Name = $serviceApp.DisplayName ApplicationPool = $serviceApp.ApplicationPool.Name + FarmAccount = $farmAccount + MySiteHostLocation = $params.MySiteHostLocation + ProfileDBName = $databases.ProfileDatabase.Name + ProfileDBServer = $databases.ProfileDatabase.Server.Name + SocialDBName = $databases.SocialDatabase.Name + SocialDBServer = $databases.SocialDatabase.Server.Name + SyncDBName = $databases.SynchronizationDatabase.Name + SyncDBServer = $databases.SynchronizationDatabase.Server.Name + InstallAccount = $params.InstallAccount } } } - $result + return $result } - function Set-TargetResource { [CmdletBinding()] param ( - [parameter(Mandatory = $true)] - [System.String] - $Name, - - [parameter(Mandatory = $true)] - [System.String] - $ApplicationPool, - - [parameter(Mandatory = $true)] - [System.Management.Automation.PSCredential] - $FarmAccount, - - [System.String] - $MySiteHostLocation = $null, - - [System.String] - $ProfileDBName = $null, - - [System.String] - $ProfileDBServer = $null, - - [System.String] - $SocialDBName = $null, - - [System.String] - $SocialDBServer = $null, - - [System.String] - $SyncDBName = $null, - - [System.String] - $SyncDBServer = $null, - - [parameter(Mandatory = $true)] - [System.Management.Automation.PSCredential] - $InstallAccount + [parameter(Mandatory = $true)] [System.String] $Name, + [parameter(Mandatory = $true)] [System.String] $ApplicationPool, + [parameter(Mandatory = $true)] [System.Management.Automation.PSCredential] $FarmAccount, + [parameter(Mandatory = $false)] [System.String] $MySiteHostLocation, + [parameter(Mandatory = $false)] [System.String] $ProfileDBName, + [parameter(Mandatory = $false)] [System.String] $ProfileDBServer, + [parameter(Mandatory = $false)] [System.String] $SocialDBName, + [parameter(Mandatory = $false)] [System.String] $SocialDBServer, + [parameter(Mandatory = $false)] [System.String] $SyncDBName, + [parameter(Mandatory = $false)] [System.String] $SyncDBServer, + [parameter(Mandatory = $false)] [System.Management.Automation.PSCredential] $InstallAccount ) Write-Verbose -Message "Creating user profile service application $Name" - $domainName = $FarmAccount.UserName.Split('\')[0] - $userName = $FarmAccount.UserName.Split('\')[1] - $computerName = "$env:computername" # Add the FarmAccount to the local Administrators group, if it's not already there - $isLocalAdmin = ([ADSI]"WinNT://$computerName/Administrators,group").PSBase.Invoke("Members") | - ForEach-Object {$_.GetType().InvokeMember("Name", 'GetProperty', $null, $_, $null)} | - Where-Object { $_ -eq $userName } + $isLocalAdmin = Test-xSharePointUserIsLocalAdmin -UserName $FarmAccount.UserName if (!$isLocalAdmin) { - Write-Verbose -Message "Adding $domainName\$userName to local admin group" - ([ADSI]"WinNT://$computerName/Administrators,group").Add("WinNT://$domainName/$userName") | Out-Null + Add-xSharePointUserToLocalAdmin -UserName $FarmAccount.UserName } - $session = Get-xSharePointAuthenticatedPSSession -Credential $FarmAccount -ForceNewSession $true - $result = Invoke-Command -Session $session -ArgumentList $PSBoundParameters -ScriptBlock { + $result = Invoke-xSharePointCommand -Credential $FarmAccount -Arguments $PSBoundParameters -ScriptBlock { $params = $args[0] - $params = Remove-xSharePointNullParamValues -Params $params - $params.Remove("InstallAccount") | Out-Null + + + if ($params.ContainsKey("InstallAccount")) { $params.Remove("InstallAccount") | Out-Null } $params.Remove("FarmAccount") | Out-Null $params = Rename-xSharePointParamValue -params $params -oldName "SyncDBName" -newName "ProfileSyncDBName" $params = Rename-xSharePointParamValue -params $params -oldName "SyncDBServer" -newName "ProfileSyncDBServer" - $app = Get-SPServiceApplication -Name $params.Name -ErrorAction SilentlyContinue - if ($null -eq $app) { + $serviceApps = Get-SPServiceApplication -Name $params.Name -ErrorAction SilentlyContinue + if ($null -eq $serviceApps) { $app = New-SPProfileServiceApplication @params if ($null -ne $app) { - New-SPProfileServiceApplicationProxy -Name ($params.Name + " Proxy") -ServiceApplication $app -DefaultProxyGroup + New-SPProfileServiceApplicationProxy -Name "$($params.Name) Proxy" -ServiceApplication $app -DefaultProxyGroup } } } @@ -124,8 +123,7 @@ function Set-TargetResource # Remove the FarmAccount from the local Administrators group, if it was added above if (!$isLocalAdmin) { - Write-Verbose -Message "Removing $domainName\$userName from local admin group" - ([ADSI]"WinNT://$computerName/Administrators,group").Remove("WinNT://$domainName/$userName") | Out-Null + Remove-xSharePointUserToLocalAdmin -UserName $FarmAccount.UserName } } @@ -136,52 +134,23 @@ function Test-TargetResource [OutputType([System.Boolean])] param ( - [parameter(Mandatory = $true)] - [System.String] - $Name, - - [parameter(Mandatory = $true)] - [System.String] - $ApplicationPool, - - [parameter(Mandatory = $true)] - [System.Management.Automation.PSCredential] - $FarmAccount, - - [System.String] - $MySiteHostLocation = $null, - - [System.String] - $ProfileDBName = $null, - - [System.String] - $ProfileDBServer = $null, - - [System.String] - $SocialDBName = $null, - - [System.String] - $SocialDBServer = $null, - - [System.String] - $SyncDBName = $null, - - [System.String] - $SyncDBServer = $null, - - [parameter(Mandatory = $true)] - [System.Management.Automation.PSCredential] - $InstallAccount + [parameter(Mandatory = $true)] [System.String] $Name, + [parameter(Mandatory = $true)] [System.String] $ApplicationPool, + [parameter(Mandatory = $true)] [System.Management.Automation.PSCredential] $FarmAccount, + [parameter(Mandatory = $false)] [System.String] $MySiteHostLocation, + [parameter(Mandatory = $false)] [System.String] $ProfileDBName, + [parameter(Mandatory = $false)] [System.String] $ProfileDBServer, + [parameter(Mandatory = $false)] [System.String] $SocialDBName, + [parameter(Mandatory = $false)] [System.String] $SocialDBServer, + [parameter(Mandatory = $false)] [System.String] $SyncDBName, + [parameter(Mandatory = $false)] [System.String] $SyncDBServer, + [parameter(Mandatory = $false)] [System.Management.Automation.PSCredential] $InstallAccount ) - $result = Get-TargetResource -Name $Name -ApplicationPool $ApplicationPool -FarmAccount $FarmAccount -InstallAccount $InstallAccount + $CurrentValues = Get-TargetResource @PSBoundParameters Write-Verbose -Message "Testing for user profile service application $Name" - - if ($result.Count -eq 0) { return $false } - else { - if ($ApplicationPool -ne $result.ApplicationPool) { return $false } - } - return $true + if ($null -eq $CurrentValues) { return $false } + return Test-xSharePointSpecificParameters -CurrentValues $CurrentValues -DesiredValues $PSBoundParameters -ValuesToCheck @("Name") } Export-ModuleMember -Function *-TargetResource diff --git a/Modules/xSharePoint/DSCResources/MSFT_xSPUserProfileServiceApp/MSFT_xSPUserProfileServiceApp.schema.mof b/Modules/xSharePoint/DSCResources/MSFT_xSPUserProfileServiceApp/MSFT_xSPUserProfileServiceApp.schema.mof index 1345bfba8..6e5592696 100644 --- a/Modules/xSharePoint/DSCResources/MSFT_xSPUserProfileServiceApp/MSFT_xSPUserProfileServiceApp.schema.mof +++ b/Modules/xSharePoint/DSCResources/MSFT_xSPUserProfileServiceApp/MSFT_xSPUserProfileServiceApp.schema.mof @@ -4,7 +4,7 @@ class MSFT_xSPUserProfileServiceApp : OMI_BaseResource [Key] string Name; [Required] string ApplicationPool; [Required, EmbeddedInstance("MSFT_Credential")] String FarmAccount; - [Required, EmbeddedInstance("MSFT_Credential")] String InstallAccount; + [Write, EmbeddedInstance("MSFT_Credential")] String InstallAccount; [Write] string MySiteHostLocation; [Write] string ProfileDBName; [Write] string ProfileDBServer; diff --git a/Modules/xSharePoint/DSCResources/MSFT_xSPUserProfileSyncService/MSFT_xSPUserProfileSyncService.psm1 b/Modules/xSharePoint/DSCResources/MSFT_xSPUserProfileSyncService/MSFT_xSPUserProfileSyncService.psm1 index 9c426e7e5..eac5b8704 100644 --- a/Modules/xSharePoint/DSCResources/MSFT_xSPUserProfileSyncService/MSFT_xSPUserProfileSyncService.psm1 +++ b/Modules/xSharePoint/DSCResources/MSFT_xSPUserProfileSyncService/MSFT_xSPUserProfileSyncService.psm1 @@ -4,40 +4,52 @@ function Get-TargetResource [OutputType([System.Collections.Hashtable])] param ( - [parameter(Mandatory = $true)] - [System.String] - $UserProfileServiceAppName, - - [parameter(Mandatory = $true)] - [ValidateSet("Present","Absent")] - [System.String] - $Ensure, - - [parameter(Mandatory = $true)] - [System.Management.Automation.PSCredential] - $FarmAccount, - - [parameter(Mandatory = $true)] - [System.Management.Automation.PSCredential] - $InstallAccount + [parameter(Mandatory = $true)] [System.String] $UserProfileServiceAppName, + [parameter(Mandatory = $true)] [ValidateSet("Present","Absent")] [System.String] $Ensure, + [parameter(Mandatory = $true)] [System.Management.Automation.PSCredential] $FarmAccount, + [parameter(Mandatory = $false)] [System.Management.Automation.PSCredential] $InstallAccount ) + + if ((Get-xSharePointInstalledProductVersion).FileMajorPart -ne 15) { + throw [Exception] "Only SharePoint 2013 is supported to deploy the user profile sync service via DSC, as 2016 does not use the FIM based sync service." + } + Write-Verbose -Message "Getting the local user profile sync service instance" - $session = Get-xSharePointAuthenticatedPSSession -Credential $InstallAccount - $result = Invoke-Command -Session $session -ArgumentList $PSBoundParameters -ScriptBlock { + $result = Invoke-xSharePointCommand -Credential $InstallAccount -Arguments $PSBoundParameters -ScriptBlock { $params = $args[0] - $computerName = $env:COMPUTERNAME - - $syncService = Get-SPServiceInstance | - Where-Object {$_.TypeName -match "User Profile Synchronization Service" -and $_.Server -match "SPServer Name=$computerName" } - if ($null -eq $syncService) { return @{} } + + $syncService = Get-SPServiceInstance -Server $env:COMPUTERNAME | Where-Object { $_.TypeName -eq "User Profile Synchronization Service" } + + if ($null -eq $syncService) { return @{ + UserProfileServiceAppName = $params.UserProfileServiceAppName + Ensure = "Absent" + FarmAccount = $params.FarmAccount + InstallAccount = $params.InstallAccount + } } + if ($syncService.UserProfileApplicationGuid -ne $null -and $syncService.UserProfileApplicationGuid -ne [Guid]::Empty) { + $upa = Get-SPServiceInstance -Identity $syncService.UserProfileApplicationGuid -ErrorAction SilentlyContinue + } + if ($syncService.Status -eq "Online") { $localEnsure = "Present" } else { $localEnsure = "Absent" } + + $spFarm = Get-SPFarm + + if ($params.FarmAccount.UserName -eq $spFarm.DefaultServiceAccount.Name) { + $farmAccount = $params.FarmAccount + } else { + $farmAccount = $spFarm.DefaultServiceAccount.Name + } return @{ + UserProfileServiceAppName = $upa.Name + Ensure = $localEnsure + FarmAccount = $farmAccount + InstallAccount = $params.InstallAccount Status = $syncService.Status } } - $result + return $result } @@ -46,58 +58,46 @@ function Set-TargetResource [CmdletBinding()] param ( - [parameter(Mandatory = $true)] - [System.String] - $UserProfileServiceAppName, - - [parameter(Mandatory = $true)] - [ValidateSet("Present","Absent")] - [System.String] - $Ensure, - - [parameter(Mandatory = $true)] - [System.Management.Automation.PSCredential] - $FarmAccount, - - [parameter(Mandatory = $true)] - [System.Management.Automation.PSCredential] - $InstallAccount + [parameter(Mandatory = $true)] [System.String] $UserProfileServiceAppName, + [parameter(Mandatory = $true)] [ValidateSet("Present","Absent")] [System.String] $Ensure, + [parameter(Mandatory = $true)] [System.Management.Automation.PSCredential] $FarmAccount, + [parameter(Mandatory = $false)] [System.Management.Automation.PSCredential] $InstallAccount ) - Write-Verbose -Message "Setting User Profile Synchronization Service" - + if ((Get-xSharePointInstalledProductVersion).FileMajorPart -ne 15) { + throw [Exception] "Only SharePoint 2013 is supported to deploy the user profile sync service via DSC, as 2016 does not use the FIM based sync service." + } - $domainName = $FarmAccount.UserName.Split('\')[0] - $userName = $FarmAccount.UserName.Split('\')[1] - $computerName = "$env:computername" + Write-Verbose -Message "Setting User Profile Synchronization Service" # Add the FarmAccount to the local Admins group, if it's not already there - $isLocalAdmin = ([ADSI]"WinNT://$computerName/Administrators,group").PSBase.Invoke("Members") | - ForEach-Object {$_.GetType().InvokeMember("Name", 'GetProperty', $null, $_, $null)} | - Where-Object { $_ -eq $userName } + $isLocalAdmin = Test-xSharePointUserIsLocalAdmin -UserName $FarmAccount.UserName if (!$isLocalAdmin) { - ([ADSI]"WinNT://$computerName/Administrators,group").Add("WinNT://$domainName/$userName") | Out-Null + Add-xSharePointUserToLocalAdmin -UserName $FarmAccount.UserName # Cycle the Timer Service so that it picks up the local Admin token Restart-Service -Name "SPTimerV4" } - $session = Get-xSharePointAuthenticatedPSSession -Credential $FarmAccount -ForceNewSession $true - - Invoke-Command -Session $session -ArgumentList $PSBoundParameters -ScriptBlock { + Invoke-xSharePointCommand -Credential $FarmAccount -Arguments $PSBoundParameters -ScriptBlock { $params = $args[0] + - $computerName = $env:COMPUTERNAME - $syncService = Get-SPServiceInstance | - Where-Object {$_.TypeName -match "User Profile Synchronization Service" -and $_.Server -match "SPServer Name=$computerName" } + $syncService = Get-SPServiceInstance -Server $env:COMPUTERNAME | Where-Object { $_.TypeName -eq "User Profile Synchronization Service" } # Start the Sync service if it should be running on this server - if (($Ensure -eq "Present") -and ($syncService.Status -ne "Online")) { - $ups = Get-SPServiceApplication -Name $params.UserProfileServiceAppName - $ups.SetSynchronizationMachine("$computerName", $syncService.ID, $params.FarmAccount.UserName, $params.FarmAccount.GetNetworkCredential().Password) - Start-SPServiceInstance -Identity $syncService.ID + if (($params.Ensure -eq "Present") -and ($syncService.Status -ne "Online")) { + $serviceApps = Get-SPServiceApplication -Name $params.UserProfileServiceAppName -ErrorAction SilentlyContinue + if ($null -eq $serviceApps) { + throw [Exception] "No user profile service was found named $($params.UserProfileServiceAppName)" + } + $ups = $serviceApps | Where-Object { $_.TypeName -eq "User Profile Service Application" } + $ups.SetSynchronizationMachine($env:COMPUTERNAME, $syncService.ID, $params.FarmAccount.UserName, $params.FarmAccount.GetNetworkCredential().Password) + + Start-SPServiceInstance -Identity $syncService.ID + $desiredState = "Online" } # Stop the Sync service in all other cases @@ -109,60 +109,41 @@ function Set-TargetResource $wait = $true $count = 0 $maxCount = 10 - while ($wait) { - Start-Sleep -Seconds 60 + while (($count -lt $maxCount) -and ($syncService.Status -ne $desiredState)) { + if ($syncService.Status -ne $desiredState) { Start-Sleep -Seconds 60 } # Get the current status of the Sync service - $syncService = $(Get-SPServiceInstance | - Where-Object {$_.TypeName -match "User Profile Synchronization Service" } | - Where-Object {$_.Server -match "SPServer Name=$computerName"}) - - # Continue to wait if haven't reached $maxCount or $desiredState - $wait = (($count -lt $maxCount) -and ($syncService.Status -ne $desiredState)) - $count++ + $syncService = Get-SPServiceInstance -Server $env:COMPUTERNAME | Where-Object { $_.TypeName -eq "User Profile Synchronization Service" } + $count++ } } # Remove the FarmAccount from the local Admins group, if it was added above if (!$isLocalAdmin) { - ([ADSI]"WinNT://$computerName/Administrators,group").Remove("WinNT://$domainName/$userName") | Out-Null + Remove-xSharePointUserToLocalAdmin -UserName $FarmAccount.UserName } } - function Test-TargetResource { [CmdletBinding()] [OutputType([System.Boolean])] param ( - [parameter(Mandatory = $true)] - [System.String] - $UserProfileServiceAppName, - - [parameter(Mandatory = $true)] - [ValidateSet("Present","Absent")] - [System.String] - $Ensure, - - [parameter(Mandatory = $true)] - [System.Management.Automation.PSCredential] - $FarmAccount, - - [parameter(Mandatory = $true)] - [System.Management.Automation.PSCredential] - $InstallAccount + [parameter(Mandatory = $true)] [System.String] $UserProfileServiceAppName, + [parameter(Mandatory = $true)] [ValidateSet("Present","Absent")] [System.String] $Ensure, + [parameter(Mandatory = $true)] [System.Management.Automation.PSCredential] $FarmAccount, + [parameter(Mandatory = $false)] [System.Management.Automation.PSCredential] $InstallAccount ) - $result = Get-TargetResource -UserProfileServiceAppName $UserProfileServiceAppName -Ensure $Ensure -FarmAccount $FarmAccount -InstallAccount $InstallAccount - Write-Verbose -Message "Testing for User Profile Synchronization Service" - if ($result.Count -eq 0) { return $false } - else { - if (($result.Status -eq "Online") -and ($Ensure -ne "Present")) { return $false } - if (($result.Status -eq "Disabled") -and ($Ensure -ne "Absent")) { return $false } + if ((Get-xSharePointInstalledProductVersion).FileMajorPart -ne 15) { + throw [Exception] "Only SharePoint 2013 is supported to deploy the user profile sync service via DSC, as 2016 does not use the FIM based sync service." } - return $true + + $CurrentValues = Get-TargetResource @PSBoundParameters + Write-Verbose -Message "Testing for User Profile Synchronization Service" + return Test-xSharePointSpecificParameters -CurrentValues $CurrentValues -DesiredValues $PSBoundParameters -ValuesToCheck @("Ensure") } diff --git a/Modules/xSharePoint/DSCResources/MSFT_xSPUserProfileSyncService/MSFT_xSPUserProfileSyncService.schema.mof b/Modules/xSharePoint/DSCResources/MSFT_xSPUserProfileSyncService/MSFT_xSPUserProfileSyncService.schema.mof index 21357a143..eef2f3df5 100644 --- a/Modules/xSharePoint/DSCResources/MSFT_xSPUserProfileSyncService/MSFT_xSPUserProfileSyncService.schema.mof +++ b/Modules/xSharePoint/DSCResources/MSFT_xSPUserProfileSyncService/MSFT_xSPUserProfileSyncService.schema.mof @@ -4,5 +4,5 @@ class MSFT_xSPUserProfileSyncService : OMI_BaseResource [Key] string UserProfileServiceAppName; [Required, ValueMap{"Present","Absent"}, Values{"Present","Absent"}] string Ensure; [Required, EmbeddedInstance("MSFT_Credential")] String FarmAccount; - [Required, EmbeddedInstance("MSFT_Credential")] String InstallAccount; + [Write, EmbeddedInstance("MSFT_Credential")] String InstallAccount; }; diff --git a/Modules/xSharePoint/DSCResources/MSFT_xSPWebApplication/MSFT_xSPWebApplication.psm1 b/Modules/xSharePoint/DSCResources/MSFT_xSPWebApplication/MSFT_xSPWebApplication.psm1 index c498c2669..1b519c8a6 100644 --- a/Modules/xSharePoint/DSCResources/MSFT_xSPWebApplication/MSFT_xSPWebApplication.psm1 +++ b/Modules/xSharePoint/DSCResources/MSFT_xSPWebApplication/MSFT_xSPWebApplication.psm1 @@ -4,42 +4,49 @@ function Get-TargetResource [OutputType([System.Collections.Hashtable])] param ( - [parameter(Mandatory = $true)] - [System.String] - $Name, - - [parameter(Mandatory = $true)] - [System.String] - $ApplicationPool, - - [parameter(Mandatory = $true)] - [System.String] - $ApplicationPoolAccount, - - [parameter(Mandatory = $true)] - [System.String] - $Url, - - [parameter(Mandatory = $true)] - [System.Management.Automation.PSCredential] - $InstallAccount + [parameter(Mandatory = $true)] [System.String] $Name, + [parameter(Mandatory = $true)] [System.String] $ApplicationPool, + [parameter(Mandatory = $true)] [System.String] $ApplicationPoolAccount, + [parameter(Mandatory = $true)] [System.String] $Url, + [parameter(Mandatory = $false)] [System.Boolean] $AllowAnonymous, + [parameter(Mandatory = $false)] [System.String] $DatabaseName, + [parameter(Mandatory = $false)] [System.String] $DatabaseServer, + [parameter(Mandatory = $false)] [System.String] $HostHeader, + [parameter(Mandatory = $false)] [System.String] $Path, + [parameter(Mandatory = $false)] [System.String] $Port, + [parameter(Mandatory = $false)] [ValidateSet("NTLM","Kerberos")] [System.String] $AuthenticationMethod, + [parameter(Mandatory = $false)] [System.Management.Automation.PSCredential] $InstallAccount ) Write-Verbose -Message "Getting web application '$Name'" - $session = Get-xSharePointAuthenticatedPSSession -Credential $InstallAccount - $result = Invoke-Command -Session $session -ArgumentList $PSBoundParameters -ScriptBlock { + $result = Invoke-xSharePointCommand -Credential $InstallAccount -Arguments $PSBoundParameters -ScriptBlock { $params = $args[0] - $wa = Get-SPWebApplication $params.Name -ErrorAction SilentlyContinue - if ($null -eq $wa) { return @{} } + + $wa = Get-SPWebApplication -Identity $params.Name -ErrorAction SilentlyContinue + if ($null -eq $wa) { return $null } + + $authProvider = Get-SPAuthenticationProvider -WebApplication $wa.Url -Zone "Default" + + if ($authProvider.DisableKerberos -eq $true) { $localAuthMode = "NTLM" } else { $localAuthMode = "Kerberos" } + return @{ Name = $wa.DisplayName ApplicationPool = $wa.ApplicationPool.Name ApplicationPoolAccount = $wa.ApplicationPool.Username + Url = $wa.Url + AllowAnonymous = $authProvider.AllowAnonymous + DatabaseName = $wa.ContentDatabases[0].Name + DatabaseServer = $wa.ContentDatabases[0].Server + HostHeader = (New-Object System.Uri $wa.Url).Host + Path = $wa.IisSettings[0].Path + Port = (New-Object System.Uri $wa.Url).Port + AuthenticationMethod = $localAuthMode + InstallAccount = $params.InstallAccount } } - $result + return $result } @@ -48,68 +55,39 @@ function Set-TargetResource [CmdletBinding()] param ( - [parameter(Mandatory = $true)] - [System.String] - $Name, - - [parameter(Mandatory = $true)] - [System.String] - $ApplicationPool, - - [parameter(Mandatory = $true)] - [System.String] - $ApplicationPoolAccount, - - [parameter(Mandatory = $true)] - [System.String] - $Url, - - [System.Boolean] - $AllowAnonymous = $false, - - [ValidateSet("NTLM","Kerberos")] - [System.String] - $AuthenticationMethod = "NTLM", - - [System.String] - $DatabaseName = $null, - - [System.String] - $DatabaseServer = $null, - - [System.String] - $HostHeader = $null, - - [System.String] - $Path = $null, - - [System.String] - $Port = $null, - - [parameter(Mandatory = $true)] - [System.Management.Automation.PSCredential] - $InstallAccount + [parameter(Mandatory = $true)] [System.String] $Name, + [parameter(Mandatory = $true)] [System.String] $ApplicationPool, + [parameter(Mandatory = $true)] [System.String] $ApplicationPoolAccount, + [parameter(Mandatory = $true)] [System.String] $Url, + [parameter(Mandatory = $false)] [System.Boolean] $AllowAnonymous, + [parameter(Mandatory = $false)] [System.String] $DatabaseName, + [parameter(Mandatory = $false)] [System.String] $DatabaseServer, + [parameter(Mandatory = $false)] [System.String] $HostHeader, + [parameter(Mandatory = $false)] [System.String] $Path, + [parameter(Mandatory = $false)] [System.String] $Port, + [parameter(Mandatory = $false)] [ValidateSet("NTLM","Kerberos")] [System.String] $AuthenticationMethod, + [parameter(Mandatory = $false)] [System.Management.Automation.PSCredential] $InstallAccount ) Write-Verbose -Message "Creating web application '$Name'" - $session = Get-xSharePointAuthenticatedPSSession -Credential $InstallAccount - - $result = Invoke-Command -Session $session -ArgumentList $PSBoundParameters -ScriptBlock { + $result = Invoke-xSharePointCommand -Credential $InstallAccount -Arguments $PSBoundParameters -ScriptBlock { $params = $args[0] + - if ($AuthenticationMethod -eq "NTLM") { - $ap = New-SPAuthenticationProvider -UseWindowsIntegratedAuthentication -DisableKerberos - $params.Add("AuthenticationProvider", $ap) - } else { - $ap = New-SPAuthenticationProvider -UseWindowsIntegratedAuthentication - $params.Add("AuthenticationProvider", $ap) - } - - $wa = Get-SPWebApplication $params.Name -ErrorAction SilentlyContinue - if ($null -eq $wa) { - $params.Remove("InstallAccount") | Out-Null - if ($params.ContainsKey("AuthenticationMethod")) { $params.Remove("AuthenticationMethod") | Out-Null } + $wa = Get-SPWebApplication -Identity $params.Name -ErrorAction SilentlyContinue + if ($null -eq $wa) { + if ($params.ContainsKey("AuthenticationMethod") -eq $true) { + if ($params.AuthenticationMethod -eq "NTLM") { + $ap = New-SPAuthenticationProvider -UseWindowsIntegratedAuthentication -DisableKerberos + } else { + $ap = New-SPAuthenticationProvider -UseWindowsIntegratedAuthentication + } + $params.Remove("AuthenticationMethod") + $params.Add("AuthenticationProvider", $ap) + } + + if ($params.ContainsKey("InstallAccount")) { $params.Remove("InstallAccount") | Out-Null } if ($params.ContainsKey("AllowAnonymous")) { $params.Remove("AllowAnonymous") | Out-Null $params.Add("AllowAnonymousAccess", $true) @@ -127,57 +105,24 @@ function Test-TargetResource [OutputType([System.Boolean])] param ( - [parameter(Mandatory = $true)] - [System.String] - $Name, - - [parameter(Mandatory = $true)] - [System.String] - $ApplicationPool, - - [parameter(Mandatory = $true)] - [System.String] - $ApplicationPoolAccount, - - [parameter(Mandatory = $true)] - [System.String] - $Url, - - [System.Boolean] - $AllowAnonymous = $false, - - [ValidateSet("NTLM","Kerberos")] - [System.String] - $AuthenticationMethod = "NTLM", - - [System.String] - $DatabaseName = $null, - - [System.String] - $DatabaseServer = $null, - - [System.String] - $HostHeader = $null, - - [System.String] - $Path = $null, - - [System.String] - $Port = $null, - - [System.Management.Automation.PSCredential] - [parameter(Mandatory = $true)] - $InstallAccount + [parameter(Mandatory = $true)] [System.String] $Name, + [parameter(Mandatory = $true)] [System.String] $ApplicationPool, + [parameter(Mandatory = $true)] [System.String] $ApplicationPoolAccount, + [parameter(Mandatory = $true)] [System.String] $Url, + [parameter(Mandatory = $false)] [System.Boolean] $AllowAnonymous, + [parameter(Mandatory = $false)] [System.String] $DatabaseName, + [parameter(Mandatory = $false)] [System.String] $DatabaseServer, + [parameter(Mandatory = $false)] [System.String] $HostHeader, + [parameter(Mandatory = $false)] [System.String] $Path, + [parameter(Mandatory = $false)] [System.String] $Port, + [parameter(Mandatory = $false)] [ValidateSet("NTLM","Kerberos")] [System.String] $AuthenticationMethod, + [parameter(Mandatory = $false)] [System.Management.Automation.PSCredential] $InstallAccount ) - $result = Get-TargetResource -Name $Name -ApplicationPool $ApplicationPool -ApplicationPoolAccount $ApplicationPoolAccount -Url $Url -InstallAccount $InstallAccount + $CurrentValues = Get-TargetResource @PSBoundParameters Write-Verbose -Message "Testing for web application '$Name'" - if ($result.Count -eq 0) { return $false } - else { - if ($result.ApplicationPool -ne $ApplicationPool) { return $false } - if ($result.ApplicationPoolAccount -ne $ApplicationPoolAccount) { return $false } - } - return $true + if ($null -eq $CurrentValues) { return $false } + return Test-xSharePointSpecificParameters -CurrentValues $CurrentValues -DesiredValues $PSBoundParameters -ValuesToCheck @("ApplicationPool") } diff --git a/Modules/xSharePoint/DSCResources/MSFT_xSPWebApplication/MSFT_xSPWebApplication.schema.mof b/Modules/xSharePoint/DSCResources/MSFT_xSPWebApplication/MSFT_xSPWebApplication.schema.mof index f762f843b..fc82bdb44 100644 --- a/Modules/xSharePoint/DSCResources/MSFT_xSPWebApplication/MSFT_xSPWebApplication.schema.mof +++ b/Modules/xSharePoint/DSCResources/MSFT_xSPWebApplication/MSFT_xSPWebApplication.schema.mof @@ -12,6 +12,6 @@ class MSFT_xSPWebApplication : OMI_BaseResource [Write] string HostHeader; [Write] string Path; [Write] string Port; - [Required, EmbeddedInstance("MSFT_Credential")] String InstallAccount; + [Write, EmbeddedInstance("MSFT_Credential")] String InstallAccount; }; diff --git a/Modules/xSharePoint/Examples/Single Server/SharePoint.ps1 b/Modules/xSharePoint/Examples/Single Server/SharePoint.ps1 index 38bd3d4ec..bdd56999e 100644 --- a/Modules/xSharePoint/Examples/Single Server/SharePoint.ps1 +++ b/Modules/xSharePoint/Examples/Single Server/SharePoint.ps1 @@ -71,10 +71,6 @@ Configuration SharePointServer # This section triggers installation of both SharePoint # as well as the prerequisites required #********************************************************** - xSPClearRemoteSessions ClearRemotePowerShellSessions - { - ClearRemoteSessions = $true - } xSPInstallPrereqs InstallPrerequisites { InstallerPath = "C:\SPInstall\Prerequisiteinstaller.exe" @@ -96,6 +92,7 @@ Configuration SharePointServer { BinaryDir = "C:\SPInstall" ProductKey = $ProductKey + Ensure = "Present" DependsOn = "[xSPInstallPrereqs]InstallPrerequisites" } diff --git a/Modules/xSharePoint/Examples/Small Farm/AppServer.ps1 b/Modules/xSharePoint/Examples/Small Farm/AppServer.ps1 index 565c9cd7d..0578e3cb5 100644 --- a/Modules/xSharePoint/Examples/Small Farm/AppServer.ps1 +++ b/Modules/xSharePoint/Examples/Small Farm/AppServer.ps1 @@ -71,11 +71,6 @@ Configuration SharePointAppServer # This section triggers installation of both SharePoint # as well as the prerequisites required #********************************************************** - - xSPClearRemoteSessions ClearRemotePowerShellSessions - { - ClearRemoteSessions = $true - } xSPInstallPrereqs InstallPrerequisites { InstallerPath = "C:\SPInstall\Prerequisiteinstaller.exe" @@ -97,6 +92,7 @@ Configuration SharePointAppServer { BinaryDir = "C:\SPInstall" ProductKey = $ProductKey + Ensure = "Present" DependsOn = "[xSPInstallPrereqs]InstallPrerequisites" } @@ -129,7 +125,6 @@ Configuration SharePointAppServer DatabaseServer = $DatabaseServer FarmConfigDatabaseName = "SP_Config" Passphrase = $FarmPassPhrase - FarmAccount = $FarmAccount InstallAccount = $InstallAccount DependsOn = "[xSPInstall]InstallBinaries" } diff --git a/Modules/xSharePoint/Examples/Small Farm/FirstServer.ps1 b/Modules/xSharePoint/Examples/Small Farm/FirstServer.ps1 index bf4b122a9..776d54b37 100644 --- a/Modules/xSharePoint/Examples/Small Farm/FirstServer.ps1 +++ b/Modules/xSharePoint/Examples/Small Farm/FirstServer.ps1 @@ -71,11 +71,6 @@ Configuration SharePointFarmServer # This section triggers installation of both SharePoint # as well as the prerequisites required #********************************************************** - - xSPClearRemoteSessions ClearRemotePowerShellSessions - { - ClearRemoteSessions = $true - } xSPInstallPrereqs InstallPrerequisites { InstallerPath = "C:\SPInstall\Prerequisiteinstaller.exe" @@ -97,6 +92,7 @@ Configuration SharePointFarmServer { BinaryDir = "C:\SPInstall" ProductKey = $ProductKey + Ensure = "Present" DependsOn = "[xSPInstallPrereqs]InstallPrerequisites" } diff --git a/Modules/xSharePoint/Examples/Small Farm/WFEServer.ps1 b/Modules/xSharePoint/Examples/Small Farm/WFEServer.ps1 index 4f3bdc7db..7461de9ea 100644 --- a/Modules/xSharePoint/Examples/Small Farm/WFEServer.ps1 +++ b/Modules/xSharePoint/Examples/Small Farm/WFEServer.ps1 @@ -71,11 +71,6 @@ Configuration SharePointWFEServer # This section triggers installation of both SharePoint # as well as the prerequisites required #********************************************************** - - xSPClearRemoteSessions ClearRemotePowerShellSessions - { - ClearRemoteSessions = $true - } xSPInstallPrereqs InstallPrerequisites { InstallerPath = "C:\SPInstall\Prerequisiteinstaller.exe" @@ -97,6 +92,7 @@ Configuration SharePointWFEServer { BinaryDir = "C:\SPInstall" ProductKey = $ProductKey + Ensure = "Present" DependsOn = "[xSPInstallPrereqs]InstallPrerequisites" } @@ -129,7 +125,6 @@ Configuration SharePointWFEServer DatabaseServer = $DatabaseServer FarmConfigDatabaseName = "SP_Config" Passphrase = $FarmPassPhrase - FarmAccount = $FarmAccount InstallAccount = $InstallAccount DependsOn = "[xSPInstall]InstallBinaries" } diff --git a/Modules/xSharePoint/Modules/xSharePoint.DistributedCache/xSharePoint.DistributedCache.psm1 b/Modules/xSharePoint/Modules/xSharePoint.DistributedCache/xSharePoint.DistributedCache.psm1 deleted file mode 100644 index ca3e3ba63..000000000 --- a/Modules/xSharePoint/Modules/xSharePoint.DistributedCache/xSharePoint.DistributedCache.psm1 +++ /dev/null @@ -1,31 +0,0 @@ -function Add-xSharePointDistributedCacheServer() { - [CmdletBinding()] - param - ( - [parameter(Mandatory = $true,Position=1)] - [System.Uint32] - $CacheSizeInMB, - - [parameter(Mandatory = $true,Position=2)] - [System.String] - $ServiceAccount - ) - - Add-SPDistributedCacheServiceInstance - Update-SPDistributedCacheSize -CacheSizeInMB $CacheSizeInMB - $farm = Get-SPFarm - $cacheService = $farm.Services | Where-Object {$_.Name -eq "AppFabricCachingService"} - $cacheService.ProcessIdentity.CurrentIdentityType = "SpecificUser" - $cacheService.ProcessIdentity.ManagedAccount = (Get-SPManagedAccount -Identity $ServiceAccount) - $cacheService.ProcessIdentity.Update() - $cacheService.ProcessIdentity.Deploy() -} - -function Remove-xSharePointDistributedCacheServer() { - $instanceName ="SPDistributedCacheService Name=AppFabricCachingService" - $serviceInstance = Get-SPServiceInstance | Where-Object {($_.Service.Tostring()) -eq $instanceName -and ($_.Server.Name) -eq $env:computername} - $serviceInstance.Delete() - Remove-SPDistributedCacheServiceInstance -} - -Export-ModuleMember -Function * diff --git a/Modules/xSharePoint/Modules/xSharePoint.Util/xSharePoint.Util.psm1 b/Modules/xSharePoint/Modules/xSharePoint.Util/xSharePoint.Util.psm1 index 1dd4c287e..fa7b44dc9 100644 --- a/Modules/xSharePoint/Modules/xSharePoint.Util/xSharePoint.Util.psm1 +++ b/Modules/xSharePoint/Modules/xSharePoint.Util/xSharePoint.Util.psm1 @@ -1,43 +1,114 @@ -function Get-xSharePointAuthenticatedPSSession() { +function Add-xSharePointUserToLocalAdmin() { + [CmdletBinding()] + param + ( + [parameter(Mandatory = $true,Position=1)] [string] $UserName + ) + + if ($UserName.Contains("\") -eq $false) { + throw [Exception] "Usernames should be formatted as domain\username" + } + + $domainName = $UserName.Split('\')[0] + $accountName = $UserName.Split('\')[1] + + Write-Verbose -Message "Adding $domainName\$userName to local admin group" + ([ADSI]"WinNT://$($env:computername)/Administrators,group").Add("WinNT://$domainName/$accountName") | Out-Null +} + +function Get-xSharePointAssemblyVersion() { [CmdletBinding()] param ( [parameter(Mandatory = $true,Position=1)] - [System.Management.Automation.PSCredential] - $Credential, + [string] + $PathToAssembly + ) + return (Get-Command $PathToAssembly).FileVersionInfo.FileMajorPart +} + +function Get-xSharePointInstalledProductVersion() { + $pathToSearch = "C:\Program Files\Common Files\microsoft shared\Web Server Extensions\*\ISAPI\Microsoft.SharePoint.dll" + $fullPath = Get-Item $pathToSearch | Sort-Object { $_.Directory } -Descending | Select-Object -First 1 + return (Get-Command $fullPath).FileVersionInfo +} - [parameter(Mandatory = $false,Position=2)] - [System.Boolean] - $ForceNewSession = $false +function Invoke-xSharePointCommand() { + [CmdletBinding()] + param + ( + [parameter(Mandatory = $false)] [System.Management.Automation.PSCredential] $Credential, + [parameter(Mandatory = $false)] [HashTable] $Arguments, + [parameter(Mandatory = $true)] [ScriptBlock] $ScriptBlock ) - # Remove existing sessions to keep things clean - Get-PSSession | Where-Object { $_.ComputerName -eq "localhost" -and $_.Runspace.OriginalConnectionInfo.Credential.UserName -eq $Credential.UserName } | Remove-PSSession - [GC]::Collect() - - Write-Verbose -Message "Creating new PowerShell session" - $session = New-PSSession -ComputerName $env:COMPUTERNAME -Credential $Credential -Authentication CredSSP - Invoke-Command -Session $session -ScriptBlock { - if ($null -eq (Get-PSSnapin -Name "Microsoft.SharePoint.PowerShell" -ErrorAction SilentlyContinue)) - { - Add-PSSnapin -Name "Microsoft.SharePoint.PowerShell" + $VerbosePreference = 'Continue' + + $invokeArgs = @{ + ScriptBlock = [ScriptBlock]::Create("if (`$null -eq (Get-PSSnapin -Name Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue)) {Add-PSSnapin Microsoft.SharePoint.PowerShell}; " + $ScriptBlock.ToString()) + } + if ($null -ne $Arguments) { + $invokeArgs.Add("ArgumentList", $Arguments) + } + + if ($null -eq $Credential) { + if ($Env:USERNAME.Contains("$")) { + throw [Exception] "You need to specify a value for either InstallAccount or PsDscRunAsCredential." + return + } + Write-Verbose "Executing as the local run as user $($Env:USERDOMAIN)\$($Env:USERNAME)" + + try { + $result = Invoke-Command @invokeArgs -Verbose + } catch { + if ($_.Exception.Message.Contains("An update conflict has occurred, and you must re-try this action")) { + Write-Verbose "Detected an update conflict, restarting server to allow DSC to resume and retry" + $global:DSCMachineStatus = 1 + } else { + throw $_ + } + } + + return $result + } else { + if ($Credential.UserName.Split("\")[1] -eq $Env:USERNAME) { + if (-not $Env:USERNAME.Contains("$")) { + throw [Exception] "Unable to use both InstallAccount and PsDscRunAsCredential in a single resource. Remove one and try again." + return + } + } + Write-Verbose "Executing using a provided credential and local PSSession as user $($Credential.UserName)" + + #Running garbage collection to resolve issues related to Azure DSC extention use + [GC]::Collect() + + $session = New-PSSession -ComputerName $env:COMPUTERNAME -Credential $Credential -Authentication CredSSP -Name "Microsoft.SharePoint.DSC" -SessionOption (New-PSSessionOption -OperationTimeout 0 -IdleTimeout 60000) -ErrorAction Continue + + if ($session) { $invokeArgs.Add("Session", $session) } + + try { + $result = Invoke-Command @invokeArgs -Verbose + } catch { + if ($_.Exception.Message.Contains("An update conflict has occurred, and you must re-try this action")) { + Write-Verbose "Detected an update conflict, restarting server to allow DSC to resume and retry" + $global:DSCMachineStatus = 1 + } else { + throw $_ } } - return $session + + if ($session) { Remove-PSSession $session } + return $result } +} function Rename-xSharePointParamValue() { [CmdletBinding()] param ( - [parameter(Mandatory = $true,Position=1)] - $params, - - [parameter(Mandatory = $true,Position=2)] - $oldName, - - [parameter(Mandatory = $true,Position=3)] - $newName + [parameter(Mandatory = $true,Position=1,ValueFromPipeline=$true)] $params, + [parameter(Mandatory = $true,Position=2)] $oldName, + [parameter(Mandatory = $true,Position=3)] $newName ) if ($params.ContainsKey($oldName)) { @@ -47,30 +118,87 @@ function Rename-xSharePointParamValue() { return $params } -function Remove-xSharePointNullParamValues() { +function Remove-xSharePointUserToLocalAdmin() { [CmdletBinding()] param ( - [parameter(Mandatory = $true,Position=1)] - $Params + [parameter(Mandatory = $true,Position=1)] [string] $UserName ) - $keys = $Params.Keys - ForEach ($key in $keys) { - if ($null -eq $Params.$key) { - $Params.Remove($key) | Out-Null + + if ($UserName.Contains("\") -eq $false) { + throw [Exception] "Usernames should be formatted as domain\username" + } + + $domainName = $UserName.Split('\')[0] + $accountName = $UserName.Split('\')[1] + + Write-Verbose -Message "Removing $domainName\$userName from local admin group" + ([ADSI]"WinNT://$($env:computername)/Administrators,group").Remove("WinNT://$domainName/$accountName") | Out-Null +} + +function Test-xSharePointSpecificParameters() { + [CmdletBinding()] + param + ( + [parameter(Mandatory = $true,Position=1)] [HashTable] $CurrentValues, + [parameter(Mandatory = $true,Position=2)] [HashTable] $DesiredValues, + [parameter(Mandatory = $false,Position=3)] [Array] $ValuesToCheck + ) + + $returnValue = $true + + if (($ValuesToCheck -eq $null) -or ($ValuesToCheck.Count -lt 1)) { + $KeyList = $DesiredValues.Keys + } else { + $KeyList = $ValuesToCheck + } + + $KeyList | ForEach-Object { + if ($_ -ne "Verbose") { + if (($CurrentValues.ContainsKey($_) -eq $false) -or ($CurrentValues.$_ -ne $DesiredValues.$_)) { + if ($DesiredValues.ContainsKey($_)) { + $desiredType = $DesiredValues.$_.GetType() + $fieldName = $_ + switch ($desiredType.Name) { + "String" { + if ([string]::IsNullOrEmpty($CurrentValues.$fieldName) -and [string]::IsNullOrEmpty($DesiredValues.$fieldName)) {} else { + $returnValue = $false + } + } + "Int32" { + if (($DesiredValues.$fieldName -eq 0) -and ($CurrentValues.$fieldName -eq $null)) {} else { + $returnValue = $false + } + } + default { + $returnValue = $false + } + } + } + } } + } - return $Params + return $returnValue } -function Get-xSharePointAssemblyVerion() { +function Test-xSharePointUserIsLocalAdmin() { [CmdletBinding()] param ( - [parameter(Mandatory = $true,Position=1)] - $PathToAssembly + [parameter(Mandatory = $true,Position=1)] [string] $UserName ) - return (Get-Command $PathToAssembly).Version + + if ($UserName.Contains("\") -eq $false) { + throw [Exception] "Usernames should be formatted as domain\username" + } + + $domainName = $UserName.Split('\')[0] + $accountName = $UserName.Split('\')[1] + + return ([ADSI]"WinNT://$($env:computername)/Administrators,group").PSBase.Invoke("Members") | + ForEach-Object {$_.GetType().InvokeMember("Name", 'GetProperty', $null, $_, $null)} | + Where-Object { $_ -eq $accountName } } Export-ModuleMember -Function * diff --git a/Modules/xSharePoint/xSharePoint.psd1 b/Modules/xSharePoint/xSharePoint.psd1 index a67066c42..7d7cf4054 100644 --- a/Modules/xSharePoint/xSharePoint.psd1 +++ b/Modules/xSharePoint/xSharePoint.psd1 @@ -12,7 +12,7 @@ # RootModule = '' # Version number of this module. -ModuleVersion = '0.5.0.0' +ModuleVersion = '0.7.0.0' # ID used to uniquely identify this module GUID = '6c1176a0-4fac-4134-8ca2-3fa8a21a7b90' @@ -63,18 +63,19 @@ Description = 'This DSC module is used to deploy and configure SharePoint Server # FormatsToProcess = @() # Modules to import as nested modules of the module specified in RootModule/ModuleToProcess -NestedModules = @("modules\xSharePoint.DistributedCache\xSharePoint.DistributedCache.psm1", - "modules\xSharePoint.Util\xSharePoint.Util.psm1") +NestedModules = @("modules\xSharePoint.Util\xSharePoint.Util.psm1") # Functions to export from this module FunctionsToExport = '*' # Cmdlets to export from this module -CmdletsToExport = @("Add-xSharePointDistributedCacheServer", - "Remove-xSharePointDistributedCacheServer", - "Get-xSharePointAuthenticatedPSSession", +CmdletsToExport = @("Invoke-xSharePointCommand", + "Get-xSharePointInstalledProductVersion", "Rename-xSharePointParamValue", - "Remove-xSharePointNullParamValues") + "Add-xSharePointUserToLocalAdmin", + "Remove-xSharePointUserToLocalAdmin", + "Test-xSharePointUserIsLocalAdmin", + "Test-xSharePointSpecificParameters") # Variables to export from this module VariablesToExport = '*' diff --git a/Modules/xSharePoint/xSharePoint.pssproj b/Modules/xSharePoint/xSharePoint.pssproj index 29528d9d9..dd7740cee 100644 --- a/Modules/xSharePoint/xSharePoint.pssproj +++ b/Modules/xSharePoint/xSharePoint.pssproj @@ -72,11 +72,9 @@ - - @@ -129,13 +127,10 @@ - - - diff --git a/README.md b/README.md index de99166ce..73190c936 100644 --- a/README.md +++ b/README.md @@ -68,6 +68,17 @@ Additional detailed documentation is included on the wiki on GitHub. ## Version History +### 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 diff --git a/Tests/Stubs/DistributedCache/DistributedCache.psm1 b/Tests/Stubs/DistributedCache/DistributedCache.psm1 new file mode 100644 index 000000000..48ff644a8 --- /dev/null +++ b/Tests/Stubs/DistributedCache/DistributedCache.psm1 @@ -0,0 +1,18 @@ +function Use-CacheCluster() { + +} + +function Get-CacheHost() { + +} + +function Get-AFCacheHostConfiguration() { +param( + [Parameter(Mandatory=$true, Position=0)] + [string] + ${ComputerName}, + + [Parameter(ParameterSetName='Default', Mandatory=$true)] + [uint32] + ${CachePort}) +} \ No newline at end of file diff --git a/Tests/Stubs/SharePoint/15.0.4693.1000/Microsoft.SharePoint.PowerShell.psm1 b/Tests/Stubs/SharePoint/15.0.4693.1000/Microsoft.SharePoint.PowerShell.psm1 new file mode 100644 index 000000000..e9b7bbe93 --- /dev/null +++ b/Tests/Stubs/SharePoint/15.0.4693.1000/Microsoft.SharePoint.PowerShell.psm1 @@ -0,0 +1,20554 @@ +function Add-DatabaseToAvailabilityGroup { + [CmdletBinding(DefaultParameterSetName='Default')] +param( + [Parameter(Mandatory=$true, Position=0)] + [string] + ${AGName}, + + [Parameter(ParameterSetName='Default', Mandatory=$true)] + [string] + ${DatabaseName}, + + [Parameter(ParameterSetName='AllDatabases', Mandatory=$true)] + [switch] + ${ProcessAllDatabases}, + + [string] + ${FileShare}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Add-SPAppDeniedEndpoint { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0)] + [ValidateNotNullOrEmpty()] + [string] + ${Endpoint}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Add-SPClaimTypeMapping { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, Position=1)] + [ValidateNotNull()] + [object] + ${TrustedIdentityTokenIssuer}, + + [ValidateNotNull()] + [switch] + ${Force}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Add-SPDiagnosticsPerformanceCounter { + [CmdletBinding(DefaultParameterSetName='AddCounter', SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='AddInstance', Mandatory=$true, Position=1, ValueFromPipelineByPropertyName=$true)] + [Parameter(ParameterSetName='AddCounter', Mandatory=$true, Position=1, ValueFromPipelineByPropertyName=$true)] + [string] + ${Category}, + + [Parameter(ParameterSetName='AddInstance', ValueFromPipelineByPropertyName=$true)] + [Parameter(ParameterSetName='AddCounter', Mandatory=$true, ValueFromPipelineByPropertyName=$true)] + [string] + ${Counter}, + + [Parameter(ParameterSetName='AddInstance', Mandatory=$true, ValueFromPipelineByPropertyName=$true)] + [string] + ${Instance}, + + [Parameter(ParameterSetName='AddCounter', ValueFromPipelineByPropertyName=$true)] + [Parameter(ParameterSetName='AddInstance', ValueFromPipelineByPropertyName=$true)] + [switch] + ${WebFrontEnd}, + + [Parameter(ParameterSetName='AddInstance', ValueFromPipelineByPropertyName=$true)] + [Parameter(ParameterSetName='AddCounter', ValueFromPipelineByPropertyName=$true)] + [switch] + ${DatabaseServer}, + + [Parameter(ParameterSetName='AddInstance', ValueFromPipelineByPropertyName=$true)] + [Parameter(ParameterSetName='AddCounter', ValueFromPipelineByPropertyName=$true)] + [switch] + ${AllInstances}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Add-SPDistributedCacheServiceInstance { + [CmdletBinding()] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Add-SPEduClassMember { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [string] + ${UserAlias}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [string] + ${ClassId}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [string] + ${Role}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [object] + ${Site}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Add-SPEduUser { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [string] + ${UserAlias}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [object] + ${Site}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [string] + ${Role}, + + [Parameter(ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [string] + ${FirstName}, + + [Parameter(ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [string] + ${LastName}, + + [Parameter(ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [string] + ${UserEmail}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Add-SPInfoPathUserAgent { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [string] + ${Name}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Add-SPPluggableSecurityTrimmer { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0)] + [ValidateNotNull()] + [guid] + ${UserProfileApplicationProxyId}, + + [Parameter(Mandatory=$true)] + [int] + ${PlugInId}, + + [string] + ${QualifiedTypeName}, + + [System.Collections.Specialized.NameValueCollection] + ${CustomProperties}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Add-SPProfileLeader { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${ProfileServiceApplicationProxy}, + + [Parameter(ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${SiteSubscription}, + + [Parameter(Mandatory=$true, Position=1, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Name}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Add-SPProfileSyncConnection { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${ProfileServiceApplication}, + + [Parameter(Mandatory=$true)] + [string] + ${ConnectionForestName}, + + [Parameter(Mandatory=$true)] + [string] + ${ConnectionDomain}, + + [Parameter(Mandatory=$true)] + [string] + ${ConnectionUserName}, + + [Parameter(Mandatory=$true)] + [securestring] + ${ConnectionPassword}, + + [string] + ${ConnectionServerName}, + + [int] + ${ConnectionPort}, + + [bool] + ${ConnectionUseSSL}, + + [bool] + ${ConnectionUseDisabledFilter}, + + [string] + ${ConnectionNamingContext}, + + [Parameter(Mandatory=$true)] + [string] + ${ConnectionSynchronizationOU}, + + [string] + ${ConnectionClaimProviderTypeValue}, + + [string] + ${ConnectionClaimProviderIdValue}, + + [string] + ${ConnectionClaimIDMapAttribute}, + + [bool] + ${ConnectionFilterOutUnlicensed}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Add-SPRoutingMachineInfo { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${RequestManagementSettings}, + + [Parameter(Mandatory=$true, Position=1, ValueFromPipelineByPropertyName=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${Name}, + + [ValidateNotNull()] + [object] + ${Availability}, + + [ValidateNotNull()] + [object] + ${OutgoingScheme}, + + [System.Nullable[int]] + ${OutgoingPort}, + + [ValidateNotNull()] + [System.Nullable[double]] + ${StaticWeight}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Add-SPRoutingMachinePool { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${RequestManagementSettings}, + + [Parameter(Mandatory=$true, Position=1)] + [ValidateNotNullOrEmpty()] + [string] + ${Name}, + + [ValidateNotNull()] + [object] + ${MachineTargets}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Add-SPRoutingRule { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${RequestManagementSettings}, + + [Parameter(Mandatory=$true, Position=1)] + [ValidateNotNullOrEmpty()] + [string] + ${Name}, + + [ValidateNotNull()] + [object] + ${Criteria}, + + [object] + ${MachinePool}, + + [ValidateNotNull()] + [System.Nullable[int]] + ${ExecutionGroup}, + + [ValidateNotNull()] + [System.Nullable[datetime]] + ${Expiration}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Add-SPScaleOutDatabase { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true)] + [object] + ${ServiceApplication}, + + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${DatabaseName}, + + [ValidateNotNullOrEmpty()] + [string] + ${DatabaseServer}, + + [ValidateNotNullOrEmpty()] + [string] + ${DatabaseFailoverServer}, + + [ValidateNotNull()] + [pscredential] + ${DatabaseCredentials}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Add-SPSecureStoreSystemAccount { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${AccountName}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Add-SPServerScaleOutDatabase { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true)] + [object] + ${ServiceApplication}, + + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${DatabaseName}, + + [ValidateNotNullOrEmpty()] + [string] + ${DatabaseServer}, + + [ValidateNotNullOrEmpty()] + [string] + ${DatabaseFailoverServer}, + + [ValidateNotNull()] + [pscredential] + ${DatabaseCredentials}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Add-SPServiceApplicationProxyGroupMember { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, Position=1)] + [Alias('Proxy')] + [ValidateNotNull()] + [object] + ${Member}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Add-SPShellAdmin { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0)] + [string] + ${UserName}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${database}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Add-SPSiteSubscriptionFeaturePackMember { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${FeatureDefinition}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Add-SPSiteSubscriptionProfileConfig { + [CmdletBinding(DefaultParameterSetName='Default', SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${ProfileServiceApplicationProxy}, + + [Parameter(ParameterSetName='MySiteSettings', Mandatory=$true, ValueFromPipeline=$true)] + [Parameter(ValueFromPipeline=$true)] + [object] + ${MySiteHostLocation}, + + [Parameter(ParameterSetName='MySiteSettings', ValueFromPipeline=$true)] + [object] + ${MySiteManagedPath}, + + [Parameter(ParameterSetName='MySiteSettings')] + [ValidateSet('None','Resolve','Block')] + [string] + ${SiteNamingConflictResolution}, + + [string] + ${SynchronizationOU}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Add-SPSolution { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [string] + ${LiteralPath}, + + [uint32] + ${Language}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Add-SPThrottlingRule { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${RequestManagementSettings}, + + [Parameter(Mandatory=$true, Position=1)] + [ValidateNotNullOrEmpty()] + [string] + ${Name}, + + [ValidateNotNull()] + [object] + ${Criteria}, + + [ValidateNotNull()] + [ValidateRange(0, 10)] + [System.Nullable[int]] + ${Threshold}, + + [ValidateNotNull()] + [System.Nullable[datetime]] + ${Expiration}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Add-SPUserLicenseMapping { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true, ValueFromRemainingArguments=$true)] + [ValidateNotNullOrEmpty()] + [object] + ${Mapping}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Add-SPUserSolution { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${LiteralPath}, + + [Parameter(Mandatory=$true)] + [object] + ${Site}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Backup-SPConfigurationDatabase { + [CmdletBinding(DefaultParameterSetName='DefaultSet')] +param( + [string] + ${DatabaseName}, + + [string] + ${DatabaseServer}, + + [Parameter(ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [pscredential] + ${DatabaseCredentials}, + + [Parameter(ParameterSetName='DefaultSet', Mandatory=$true)] + [string] + ${Directory}, + + [string] + ${Item}, + + [Parameter(ParameterSetName='ShowTree', Mandatory=$true)] + [switch] + ${ShowTree}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Backup-SPEnterpriseSearchServiceApplicationIndex { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='RunBackup', Mandatory=$true, Position=0)] + [int] + ${Phase}, + + [Parameter(ParameterSetName='AbortBackup', Mandatory=$true, Position=0)] + [switch] + ${Abort}, + + [Parameter(Mandatory=$true, Position=1, ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [Parameter(ParameterSetName='RunBackup', Mandatory=$true, Position=2)] + [string] + ${BackupFolder}, + + [Parameter(Mandatory=$true, Position=3)] + [string] + ${BackupHandleFile}, + + [Parameter(Position=4)] + [int] + ${Retries}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Backup-SPFarm { + [CmdletBinding(DefaultParameterSetName='DefaultSet', SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='DefaultSet', Mandatory=$true)] + [string] + ${Directory}, + + [Parameter(ParameterSetName='DefaultSet', Mandatory=$true)] + [ValidateSet('Full','Differential','None')] + [string] + ${BackupMethod}, + + [Parameter(ParameterSetName='DefaultSet')] + [int] + ${BackupThreads}, + + [Parameter(ParameterSetName='DefaultSet')] + [switch] + ${Force}, + + [string] + ${Item}, + + [Parameter(ParameterSetName='ShowTree', Mandatory=$true)] + [switch] + ${ShowTree}, + + [switch] + ${ConfigurationOnly}, + + [Parameter(ParameterSetName='DefaultSet')] + [int] + ${Percentage}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Backup-SPSite { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(Mandatory=$true)] + [string] + ${Path}, + + [switch] + ${Force}, + + [switch] + ${UseSqlSnapshot}, + + [switch] + ${NoSiteLock}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Clear-SPAppDeniedEndpointList { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Clear-SPBusinessDataCatalogEntityNotificationWeb { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [object] + ${ServiceContext}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Clear-SPDistributedCacheItem { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${ContainerType}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Clear-SPLogLevel { + [CmdletBinding()] +param( + [string[]] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [psobject] + ${InputObject}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Clear-SPMetadataWebServicePartitionData { + [CmdletBinding(DefaultParameterSetName='Default')] +param( + [Parameter(ParameterSetName='Default', Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, Position=1, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${ServiceProxy}, + + [Parameter(ParameterSetName='ServiceContext', Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${ServiceContext}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Clear-SPPerformancePointServiceApplicationTrustedLocation { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${ServiceApplication}, + + [object] + ${TrustedLocationType}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Clear-SPScaleOutDatabaseDeletedDataSubRange { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Database}, + + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [object] + ${Range}, + + [Parameter(Mandatory=$true)] + [bool] + ${IsUpperSubRange}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Clear-SPScaleOutDatabaseLog { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Database}, + + [int] + ${LogEntryTimeout}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Clear-SPScaleOutDatabaseTenantData { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true)] + [object] + ${ServiceApplication}, + + [Parameter(Mandatory=$true)] + [guid] + ${SiteSubscriptionId}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Clear-SPSecureStoreCredentialMapping { + [CmdletBinding(DefaultParameterSetName='OneApplication', SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(ParameterSetName='AllApplications', Mandatory=$true)] + [switch] + ${All}, + + [Parameter(ParameterSetName='OneApplication', Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [object] + ${Principal}, + + [Parameter(ParameterSetName='AllApplications', Mandatory=$true)] + [ValidateNotNull()] + [object] + ${ServiceContext}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Clear-SPSecureStoreDefaultProvider { + [CmdletBinding()] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Clear-SPServerScaleOutDatabaseDeletedDataSubRange { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Database}, + + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [object] + ${Range}, + + [Parameter(Mandatory=$true)] + [bool] + ${IsUpperSubRange}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Clear-SPServerScaleOutDatabaseLog { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Database}, + + [int] + ${LogEntryTimeout}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Clear-SPServerScaleOutDatabaseTenantData { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true)] + [object] + ${ServiceApplication}, + + [Parameter(Mandatory=$true)] + [guid] + ${SiteSubscriptionId}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Clear-SPSiteSubscriptionBusinessDataCatalogConfig { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [object] + ${ServiceContext}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Connect-SPConfigurationDatabase { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [string] + ${DatabaseName}, + + [Parameter(Mandatory=$true, ValueFromPipelineByPropertyName=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${DatabaseServer}, + + [Parameter(ValueFromPipelineByPropertyName=$true)] + [pscredential] + ${DatabaseCredentials}, + + [Parameter(Mandatory=$true, Position=8, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [securestring] + ${Passphrase}, + + [Parameter(Position=9, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [switch] + ${SkipRegisterAsDistributedCacheHost}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Convert-SPWebApplication { + [CmdletBinding()] +param( + [Parameter(ParameterSetName='Claims', Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ParameterSetName='Claims', Mandatory=$true, ValueFromPipeline=$true)] + [ValidateSet('LEGACY','CLAIMS-WINDOWS','CLAIMS-TRUSTED-DEFAULT')] + [string] + ${From}, + + [Parameter(ParameterSetName='Claims', Mandatory=$true, ValueFromPipeline=$true)] + [ValidateSet('CLAIMS','CLAIMS-WINDOWS','CLAIMS-TRUSTED-DEFAULT','CLAIMS-SHAREPOINT-ONLINE')] + [string] + ${To}, + + [Parameter(ParameterSetName='Claims')] + [switch] + ${Force}, + + [Parameter(ParameterSetName='Claims')] + [switch] + ${RetainPermissions}, + + [Parameter(ParameterSetName='Claims')] + [string] + ${SourceSkipList}, + + [Parameter(ParameterSetName='Claims')] + [string] + ${MapList}, + + [Parameter(ParameterSetName='Claims')] + [switch] + ${SkipSites}, + + [Parameter(ParameterSetName='Claims')] + [switch] + ${SkipPolicies}, + + [Parameter(ParameterSetName='Claims')] + [object] + ${Database}, + + [Parameter(ParameterSetName='Claims')] + [object] + ${TrustedProvider}, + + [Parameter(ParameterSetName='Claims')] + [guid] + ${SiteSubsriptionId}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Copy-SPAccessServicesDatabaseCredentials { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0)] + [string] + ${AppUrl}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${ServiceContext}, + + [Parameter(Mandatory=$true)] + [string] + ${SourceServer}, + + [Parameter(Mandatory=$true)] + [string] + ${TargetServer}, + + [Parameter(Mandatory=$true)] + [System.Net.NetworkCredential] + ${ServerCredential}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Copy-SPActivitiesToWorkflowService { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [string] + ${WorkflowServiceAddress}, + + [string] + ${ActivityName}, + + [System.Net.ICredentials] + ${Credential}, + + [bool] + ${Force}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Copy-SPBusinessDataCatalogAclToChildren { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [object] + ${MetadataObject}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Copy-SPSite { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNullOrEmpty()] + [object] + ${Identity}, + + [object] + ${DestinationDatabase}, + + [Parameter(Mandatory=$true, Position=1, ValueFromPipeline=$true)] + [string] + ${TargetUrl}, + + [string] + ${HostHeaderWebApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Disable-SPAppAutoProvision { + [CmdletBinding()] +param( + [object] + ${SiteSubscription}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Disable-SPBusinessDataCatalogEntity { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Disable-SPFeature { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [string] + ${Url}, + + [switch] + ${Force}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Disable-SPHealthAnalysisRule { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Disable-SPInfoPathFormTemplate { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, ValueFromPipelineByPropertyName=$true)] + [Alias('Url')] + [object] + ${Site}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Disable-SPSessionStateService { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Disable-SPSingleSignOn { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${ServerName}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Disable-SPTimerJob { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Disable-SPUserLicensing { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Disable-SPWebApplicationHttpThrottling { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Disconnect-SPConfigurationDatabase { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Dismount-SPContentDatabase { + [CmdletBinding(DefaultParameterSetName='DefaultSet', SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Dismount-SPStateServiceDatabase { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [Alias('Name')] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Enable-SPAppAutoProvision { + [CmdletBinding()] +param( + [object] + ${SiteSubscription}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Enable-SPBusinessDataCatalogEntity { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Enable-SPFeature { + [CmdletBinding(DefaultParameterSetName='FarmFeatureDefinition', SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ParameterSetName='SiteFeature')] + [string] + ${Url}, + + [switch] + ${PassThru}, + + [switch] + ${Force}, + + [Parameter(ParameterSetName='FarmFeatureDefinition')] + [int] + ${CompatibilityLevel}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Enable-SPHealthAnalysisRule { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Enable-SPInfoPathFormTemplate { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, ValueFromPipelineByPropertyName=$true)] + [Alias('url')] + [object] + ${Site}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Enable-SPSessionStateService { + [CmdletBinding(DefaultParameterSetName='AdvancedProvision', SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='DefaultProvision', Mandatory=$true)] + [switch] + ${DefaultProvision}, + + [Parameter(ParameterSetName='AdvancedProvision')] + [string] + ${DatabaseServer}, + + [Parameter(ParameterSetName='AdvancedProvision', Mandatory=$true)] + [string] + ${DatabaseName}, + + [System.Nullable[int]] + ${SessionTimeout}, + + [Parameter(ParameterSetName='AdvancedProvision')] + [pscredential] + ${DatabaseCredentials}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Enable-SPTimerJob { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Enable-SPUserLicensing { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Enable-SPWebApplicationHttpThrottling { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Export-SPAppPackage { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [object] + ${App}, + + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${Path}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Export-SPBusinessDataCatalogModel { + [CmdletBinding()] +param( + [switch] + ${ModelsIncluded}, + + [switch] + ${LocalizedNamesIncluded}, + + [switch] + ${PropertiesIncluded}, + + [switch] + ${ProxiesIncluded}, + + [switch] + ${PermissionsIncluded}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${Path}, + + [string] + ${SettingId}, + + [switch] + ${Force}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Export-SPEnterpriseSearchTopology { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [Parameter(Mandatory=$true)] + [string] + ${Filename}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Export-SPInfoPathAdministrationFiles { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [object] + ${Identity}, + + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [string] + ${Path}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Export-SPMetadataWebServicePartitionData { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${Path}, + + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${ServiceProxy}, + + [switch] + ${NoCompression}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Export-SPPerformancePointContent { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true)] + [string] + ${ExportFileUrl}, + + [Parameter(Mandatory=$true)] + [array] + ${ItemUrls}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Export-SPScaleOutDatabaseTenantData { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true)] + [string] + ${FilePath}, + + [Parameter(Mandatory=$true)] + [object] + ${ServiceApplication}, + + [Parameter(Mandatory=$true)] + [guid] + ${SiteSubscriptionId}, + + [switch] + ${Force}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Export-SPServerScaleOutDatabaseTenantData { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true)] + [string] + ${FilePath}, + + [Parameter(Mandatory=$true)] + [object] + ${ServiceApplication}, + + [Parameter(Mandatory=$true)] + [guid] + ${SiteSubscriptionId}, + + [switch] + ${Force}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Export-SPSiteSubscriptionBusinessDataCatalogConfig { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [object] + ${ServiceContext}, + + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${Path}, + + [switch] + ${Force}, + + [switch] + ${ModelsIncluded}, + + [switch] + ${LocalizedNamesIncluded}, + + [switch] + ${PropertiesIncluded}, + + [switch] + ${ProxiesIncluded}, + + [switch] + ${PermissionsIncluded}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Export-SPSiteSubscriptionSettings { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${Path}, + + [switch] + ${AdminProperties}, + + [switch] + ${Force}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Export-SPWeb { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [object] + ${IncludeVersions}, + + [int] + ${CompressionSize}, + + [switch] + ${UseSqlSnapshot}, + + [string] + ${AppLogFilePath}, + + [string] + ${ItemUrl}, + + [Parameter(Mandatory=$true)] + [string] + ${Path}, + + [switch] + ${Force}, + + [switch] + ${IncludeUserSecurity}, + + [switch] + ${HaltOnWarning}, + + [switch] + ${HaltOnError}, + + [switch] + ${NoLogFile}, + + [switch] + ${NoFileCompression}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-AvailabilityGroupStatus { + [CmdletBinding()] +param( + [string] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPAccessServiceApplication { + [CmdletBinding()] +param( + [Parameter(Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPAccessServicesApplication { + [CmdletBinding()] +param( + [Parameter(Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPAccessServicesDatabase { + [CmdletBinding()] +param( + [Parameter(Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(Position=1, ValueFromPipeline=$true)] + [object] + ${ContentDb}, + + [Parameter(Position=2, ValueFromPipeline=$true)] + [bool] + ${AccessAppsOnly}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPAccessServicesDatabaseServer { + [CmdletBinding(DefaultParameterSetName='GetDatabaseServersParameterSet')] +param( + [Parameter(ParameterSetName='GetSingleDatabaseServerParamterSet', Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [Parameter(ParameterSetName='GetDatabaseServersParameterSet', Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${ServiceContext}, + + [Parameter(ParameterSetName='GetDatabaseServersParameterSet')] + [Parameter(ParameterSetName='GetSingleDatabaseServerParamterSet', Mandatory=$true)] + [object] + ${DatabaseServerGroup}, + + [Parameter(ParameterSetName='GetSingleDatabaseServerParamterSet', Mandatory=$true)] + [object] + ${DatabaseServer}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPAccessServicesDatabaseServerGroup { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${ServiceContext}, + + [Parameter(Position=1, ValueFromPipeline=$true)] + [object] + ${DatabaseServerGroup}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPAccessServicesDatabaseServerGroupMapping { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${ServiceContext}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPAlternateURL { + [CmdletBinding(DefaultParameterSetName='Default')] +param( + [Parameter(Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ParameterSetName='WebApplication', Mandatory=$true)] + [object] + ${WebApplication}, + + [object] + ${Zone}, + + [Parameter(ParameterSetName='ResourceName', Mandatory=$true)] + [string] + ${ResourceName}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPAppAcquisitionConfiguration { + [CmdletBinding(DefaultParameterSetName='MarketplaceSettingsInWebApplication')] +param( + [Parameter(ParameterSetName='MarketplaceSettingsInWebApplication', Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${WebApplication}, + + [Parameter(ParameterSetName='MarketplaceSettingsInSiteSubscription', Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SiteSubscription}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPAppAutoProvisionConnection { + [CmdletBinding()] +param( + [object] + ${SiteSubscription}, + + [object] + ${ConnectionType}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPAppDeniedEndpointList { + [CmdletBinding()] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPAppDisablingConfiguration { + [CmdletBinding()] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPAppDomain { + [CmdletBinding()] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPAppHostingQuotaConfiguration { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${SiteSubscription}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPAppInstance { + [CmdletBinding()] +param( + [Parameter(ParameterSetName='IdentityParameterSet', Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(ParameterSetName='WebParameterSet', Mandatory=$true)] + [ValidateNotNull()] + [object] + ${Web}, + + [Parameter(ParameterSetName='WebParameterSet')] + [ValidateNotNull()] + [object] + ${App}, + + [Parameter(ParameterSetName='SiteAndIdParameterSet', Mandatory=$true)] + [ValidateNotNull()] + [object] + ${Site}, + + [Parameter(ParameterSetName='SiteAndIdParameterSet', Mandatory=$true)] + [guid] + ${AppInstanceId}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPAppPrincipal { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [object] + ${Site}, + + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${NameIdentifier}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPAppScaleProfile { + [CmdletBinding()] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPAppSiteSubscriptionName { + [CmdletBinding()] +param( + [object] + ${SiteSubscription}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPAppStateSyncLastRunTime { + [CmdletBinding()] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPAppStateUpdateInterval { + [CmdletBinding()] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPAppStoreConfiguration { + [CmdletBinding()] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPAuthenticationProvider { + [CmdletBinding()] +param( + [Parameter(Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, Position=1)] + [ValidateNotNull()] + [object] + ${WebApplication}, + + [Parameter(Mandatory=$true, Position=2)] + [object] + ${Zone}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPAuthenticationRealm { + [CmdletBinding()] +param( + [Parameter(Position=0)] + [ValidateNotNull()] + [object] + ${ServiceContext}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPBackupHistory { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true)] + [string] + ${Directory}, + + [switch] + ${ShowBackup}, + + [switch] + ${ShowRestore}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPBingMapsBlock { + [CmdletBinding()] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPBingMapsKey { + [CmdletBinding()] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPBrowserCustomerExperienceImprovementProgram { + [CmdletBinding()] +param( + [Parameter(ParameterSetName='Farm', Mandatory=$true)] + [switch] + ${Farm}, + + [Parameter(ParameterSetName='WebApplication', Mandatory=$true)] + [object] + ${WebApplication}, + + [Parameter(ParameterSetName='SiteSubscription', Mandatory=$true)] + [object] + ${SiteSubscription}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPBusinessDataCatalogEntityNotificationWeb { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [object] + ${ServiceContext}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPBusinessDataCatalogMetadataObject { + [CmdletBinding()] +param( + [string] + ${Namespace}, + + [string] + ${Name}, + + [string] + ${ContainingLobSystem}, + + [Parameter(Mandatory=$true)] + [object] + ${BdcObjectType}, + + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [object] + ${ServiceContext}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPBusinessDataCatalogThrottleConfig { + [CmdletBinding(DefaultParameterSetName='ProxyProvided')] +param( + [Parameter(Mandatory=$true)] + [object] + ${Scope}, + + [Parameter(Mandatory=$true)] + [object] + ${ThrottleType}, + + [Parameter(ParameterSetName='ProxyProvided', Mandatory=$true)] + [ValidateNotNull()] + [object] + ${ServiceApplicationProxy}, + + [Parameter(ParameterSetName='FileBackedProvided', Mandatory=$true)] + [switch] + ${FileBacked}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPCertificateAuthority { + [CmdletBinding()] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPClaimProvider { + [CmdletBinding()] +param( + [Parameter(Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPClaimProviderManager { + [CmdletBinding()] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPClaimTypeEncoding { + [CmdletBinding()] +param( + [char] + ${EncodingCharacter}, + + [ValidateNotNullOrEmpty()] + [string] + ${ClaimType}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPContentDatabase { + [CmdletBinding(DefaultParameterSetName='DefaultSet')] +param( + [Parameter(ParameterSetName='DefaultSet', Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(ParameterSetName='AllContentDatabasesInWebApplication', Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${WebApplication}, + + [Parameter(ParameterSetName='ContentDatabasesOfSite', Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Site}, + + [Parameter(ParameterSetName='Unattached', Mandatory=$true)] + [switch] + ${ConnectAsUnattachedDatabase}, + + [Parameter(ParameterSetName='Unattached')] + [pscredential] + ${DatabaseCredentials}, + + [Parameter(ParameterSetName='Unattached', Mandatory=$true)] + [string] + ${DatabaseServer}, + + [Parameter(ParameterSetName='Unattached', Mandatory=$true)] + [string] + ${DatabaseName}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPContentDeploymentJob { + [CmdletBinding()] +param( + [Parameter(Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipelineByPropertyName=$true)] + [object] + ${Path}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPContentDeploymentPath { + [CmdletBinding()] +param( + [Parameter(Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPCustomLayoutsPage { + [CmdletBinding()] +param( + [object] + ${Identity}, + + [ValidateRange(14, 15)] + [int] + ${CompatibilityLevel}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${WebApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPDatabase { + [CmdletBinding(DefaultParameterSetName='DefaultParameterSet')] +param( + [Parameter(ParameterSetName='DefaultParameterSet', Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ParameterSetName='ServerParameterSet', Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${ServerInstance}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPDataConnectionFile { + [CmdletBinding()] +param( + [Parameter(Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPDataConnectionFileDependent { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPDeletedSite { + [CmdletBinding(DefaultParameterSetName='AllDeletedSitesInWebApplication', SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='AllDeletedSitesInIdentity', Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [string] + ${Limit}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${WebApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${ContentDatabase}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${SiteSubscription}, + + [string] + ${DateTimeFrom}, + + [string] + ${DateTimeTo}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPDesignerSettings { + [CmdletBinding()] +param( + [Parameter(ParameterSetName='WebApplication', Mandatory=$true, Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [object] + ${WebApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPDiagnosticConfig { + [CmdletBinding()] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPDiagnosticsPerformanceCounter { + [CmdletBinding()] +param( + [Parameter(ValueFromPipeline=$true)] + [switch] + ${WebFrontEnd}, + + [Parameter(ValueFromPipeline=$true)] + [switch] + ${DatabaseServer}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPDiagnosticsProvider { + [CmdletBinding()] +param( + [Parameter(Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPDistributedCacheClientSetting { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${ContainerType}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPEduServiceSetting { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0)] + [object] + ${Service}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [object] + ${Site}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPEnterpriseSearchAdministrationComponent { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPEnterpriseSearchComponent { + [CmdletBinding()] +param( + [Parameter(Position=0)] + [object] + ${Identity}, + + [object] + ${SearchApplication}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchTopology}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPEnterpriseSearchContentEnrichmentConfiguration { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPEnterpriseSearchCrawlContentSource { + [CmdletBinding()] +param( + [Parameter(Position=0)] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPEnterpriseSearchCrawlCustomConnector { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${SearchApplication}, + + [string] + ${Protocol}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPEnterpriseSearchCrawlDatabase { + [CmdletBinding()] +param( + [Parameter(Position=0)] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPEnterpriseSearchCrawlExtension { + [CmdletBinding()] +param( + [Parameter(Position=0)] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPEnterpriseSearchCrawlLogReadPermission { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${SearchApplication}, + + [guid] + ${Tenant}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPEnterpriseSearchCrawlMapping { + [CmdletBinding()] +param( + [Parameter(Position=0)] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPEnterpriseSearchCrawlRule { + [CmdletBinding()] +param( + [Parameter(Position=0)] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPEnterpriseSearchFileFormat { + [CmdletBinding()] +param( + [Parameter(Position=0)] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPEnterpriseSearchHostController { + [CmdletBinding()] +param( + [object] + ${SearchServiceInstance}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPEnterpriseSearchLanguageResourcePhrase { + [CmdletBinding()] +param( + [Parameter(Position=0)] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [object] + ${Type}, + + [string] + ${Language}, + + [string] + ${Mapping}, + + [Parameter(Mandatory=$true)] + [Alias('o')] + [object] + ${Owner}, + + [guid] + ${SourceId}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPEnterpriseSearchLinguisticComponentsStatus { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true)] + [object] + ${SearchApplication}, + + [Parameter(Position=0)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPEnterpriseSearchLinksDatabase { + [CmdletBinding()] +param( + [Parameter(Position=0)] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPEnterpriseSearchMetadataCategory { + [CmdletBinding()] +param( + [Parameter(Position=0)] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [guid] + ${Tenant}, + + [guid] + ${SiteCollection}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPEnterpriseSearchMetadataCrawledProperty { + [CmdletBinding()] +param( + [Parameter(Position=0)] + [string] + ${Name}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [Alias('p')] + [System.Nullable[guid]] + ${PropSet}, + + [Alias('vt')] + [Obsolete()] + [System.Nullable[int]] + ${VariantType}, + + [Alias('c')] + [object] + ${Category}, + + [string] + ${Limit}, + + [guid] + ${Tenant}, + + [guid] + ${SiteCollection}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPEnterpriseSearchMetadataManagedProperty { + [CmdletBinding()] +param( + [Parameter(Position=0)] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [string] + ${Limit}, + + [guid] + ${Tenant}, + + [guid] + ${SiteCollection}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPEnterpriseSearchMetadataMapping { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [object] + ${ManagedProperty}, + + [object] + ${CrawledProperty}, + + [guid] + ${Tenant}, + + [guid] + ${SiteCollection}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPEnterpriseSearchOwner { + [CmdletBinding()] +param( + [Parameter(Position=0)] + [object] + ${Identity}, + + [Parameter(Mandatory=$true)] + [Alias('l')] + [object] + ${Level}, + + [object] + ${SPWeb}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPEnterpriseSearchPropertyRule { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0)] + [string] + ${PropertyName}, + + [Parameter(Mandatory=$true, Position=1)] + [object] + ${Operator}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPEnterpriseSearchPropertyRuleCollection { + [CmdletBinding()] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPEnterpriseSearchQueryAndSiteSettingsService { + [CmdletBinding()] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPEnterpriseSearchQueryAndSiteSettingsServiceInstance { + [CmdletBinding()] +param( + [Parameter(Position=0)] + [object] + ${Identity}, + + [switch] + ${Local}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPEnterpriseSearchQueryAndSiteSettingsServiceProxy { + [CmdletBinding()] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPEnterpriseSearchQueryAuthority { + [CmdletBinding()] +param( + [Parameter(Position=0)] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [Parameter(Mandatory=$true)] + [Alias('o')] + [object] + ${Owner}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPEnterpriseSearchQueryDemoted { + [CmdletBinding()] +param( + [Parameter(Position=0)] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [Parameter(Mandatory=$true)] + [Alias('o')] + [object] + ${Owner}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPEnterpriseSearchQueryKeyword { + [CmdletBinding()] +param( + [Parameter(Position=0)] + [object] + ${Identity}, + + [Parameter(Mandatory=$true)] + [object] + ${Site}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPEnterpriseSearchQueryScope { + [CmdletBinding()] +param( + [Parameter(Position=0)] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [Alias('u')] + [uri] + ${Url}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPEnterpriseSearchQueryScopeRule { + [CmdletBinding()] +param( + [Parameter(Position=0)] + [object] + ${Identity}, + + [object] + ${SearchApplication}, + + [uri] + ${Url}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [Alias('n')] + [object] + ${Scope}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPEnterpriseSearchQuerySpellingCorrection { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true)] + [object] + ${SearchApplication}, + + [Parameter(Position=0)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPEnterpriseSearchQuerySuggestionCandidates { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [Parameter(Mandatory=$true)] + [Alias('o')] + [object] + ${Owner}, + + [guid] + ${SourceId}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPEnterpriseSearchRankingModel { + [CmdletBinding()] +param( + [Parameter(Position=0)] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [Parameter(Mandatory=$true)] + [Alias('o')] + [object] + ${Owner}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPEnterpriseSearchResultItemType { + [CmdletBinding()] +param( + [Parameter(Position=0)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${SearchApplicationProxy}, + + [Parameter(Mandatory=$true)] + [Alias('o')] + [object] + ${Owner}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPEnterpriseSearchResultSource { + [CmdletBinding()] +param( + [Parameter(Position=0)] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [Parameter(Mandatory=$true)] + [Alias('o')] + [object] + ${Owner}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPEnterpriseSearchSecurityTrimmer { + [CmdletBinding()] +param( + [Parameter(Position=0)] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPEnterpriseSearchService { + [CmdletBinding()] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPEnterpriseSearchServiceApplication { + [CmdletBinding()] +param( + [Parameter(Position=0)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPEnterpriseSearchServiceApplicationBackupStore { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0)] + [string] + ${BackupFolder}, + + [Parameter(Mandatory=$true, Position=1)] + [string] + ${Name}, + + [Parameter(Position=3, ValueFromPipeline=$true)] + [string] + ${BackupId}, + + [Parameter(Position=4)] + [switch] + ${UseMostRecent}, + + [Parameter(Position=5)] + [switch] + ${IsVerbose}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPEnterpriseSearchServiceApplicationProxy { + [CmdletBinding()] +param( + [Parameter(Position=0)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPEnterpriseSearchServiceInstance { + [CmdletBinding()] +param( + [Parameter(Position=0)] + [object] + ${Identity}, + + [switch] + ${Local}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPEnterpriseSearchSiteHitRule { + [CmdletBinding()] +param( + [Parameter(Position=0)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${SearchService}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPEnterpriseSearchStatus { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [switch] + ${Primary}, + + [switch] + ${Text}, + + [switch] + ${Detailed}, + + [switch] + ${Constellation}, + + [switch] + ${JobStatus}, + + [switch] + ${HealthReport}, + + [switch] + ${DetailSearchRuntime}, + + [string] + ${Component}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPEnterpriseSearchTopology { + [CmdletBinding()] +param( + [Parameter(Position=0)] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [switch] + ${Active}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPEnterpriseSearchVssDataPath { + [CmdletBinding()] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPExcelBIServer { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [object] + ${ExcelServiceApplication}, + + [Parameter(Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPExcelBlockedFileType { + [CmdletBinding()] +param( + [Parameter(Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [object] + ${ExcelServiceApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPExcelDataConnectionLibrary { + [CmdletBinding()] +param( + [Parameter(Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [object] + ${ExcelServiceApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPExcelDataProvider { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [object] + ${ExcelServiceApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPExcelFileLocation { + [CmdletBinding()] +param( + [Parameter(Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [object] + ${ExcelServiceApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPExcelServiceApplication { + [CmdletBinding()] +param( + [Parameter(Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPExcelUserDefinedFunction { + [CmdletBinding()] +param( + [Parameter(Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [object] + ${ExcelServiceApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPFarm { + [CmdletBinding()] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPFarmConfig { + [CmdletBinding()] +param( + [switch] + ${ServiceConnectionPoint}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPFeature { + [CmdletBinding(DefaultParameterSetName='Default')] +param( + [Parameter(Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ParameterSetName='FarmFeatures')] + [switch] + ${Farm}, + + [Parameter(ParameterSetName='SiteFeatures')] + [object] + ${Site}, + + [Parameter(ParameterSetName='WebFeatures')] + [object] + ${Web}, + + [Parameter(ParameterSetName='WebApplicationFeatures')] + [object] + ${WebApplication}, + + [Parameter(ParameterSetName='SiteFeatures')] + [switch] + ${Sandboxed}, + + [string] + ${Limit}, + + [Parameter(ParameterSetName='FarmFeatureDefinitions')] + [int] + ${CompatibilityLevel}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPHealthAnalysisRule { + [CmdletBinding(DefaultParameterSetName='Default')] +param( + [Parameter(ParameterSetName='SpecificRule', Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPHelpCollection { + [CmdletBinding()] +param( + [string] + ${Name}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPInfoPathFormsService { + [CmdletBinding()] +param( + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPInfoPathFormTemplate { + [CmdletBinding()] +param( + [Parameter(Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPInfoPathUserAgent { + [CmdletBinding()] +param( + [Parameter(Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPInfoPathWebServiceProxy { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPInternalAppStateSyncLastRunTime { + [CmdletBinding()] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPInternalAppStateUpdateInterval { + [CmdletBinding()] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPIRMSettings { + [CmdletBinding()] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPLogEvent { + [CmdletBinding(DefaultParameterSetName='Directory')] +param( + [Parameter(ParameterSetName='Directory')] + [ValidateNotNullOrEmpty()] + [string] + ${Directory}, + + [Parameter(ParameterSetName='File')] + [ValidateNotNullOrEmpty()] + [string] + ${File}, + + [switch] + ${AsString}, + + [ValidateNotNullOrEmpty()] + [string[]] + ${ContextKey}, + + [datetime] + ${StartTime}, + + [datetime] + ${EndTime}, + + [ValidateNotNullOrEmpty()] + [string] + ${MinimumLevel}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPLogLevel { + [CmdletBinding()] +param( + [Parameter(ValueFromPipeline=$true)] + [string[]] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPManagedAccount { + [CmdletBinding(DefaultParameterSetName='Service')] +param( + [Parameter(Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ParameterSetName='Service', ValueFromPipeline=$true)] + [object] + ${Service}, + + [Parameter(ParameterSetName='WebApplication', ValueFromPipeline=$true)] + [object] + ${WebApplication}, + + [Parameter(ParameterSetName='Server', ValueFromPipeline=$true)] + [object] + ${Server}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPManagedPath { + [CmdletBinding(DefaultParameterSetName='WebApplication')] +param( + [Parameter(Position=0)] + [object] + ${Identity}, + + [Parameter(ParameterSetName='WebApplication', Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${WebApplication}, + + [Parameter(ParameterSetName='HostHeader', Mandatory=$true)] + [switch] + ${HostHeader}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPMetadataServiceApplication { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPMetadataServiceApplicationProxy { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPMobileMessagingAccount { + [CmdletBinding()] +param( + [Parameter(Position=0)] + [Alias('ServiceType','AccountType')] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${WebApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPODataConnectionSetting { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [object] + ${ServiceContext}, + + [ValidateNotNull()] + [ValidateLength(0, 246)] + [string] + ${Name}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPODataConnectionSettingMetadata { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [object] + ${ServiceContext}, + + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [ValidateLength(0, 255)] + [string] + ${Name}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPOfficeStoreAppsDefaultActivation { + [CmdletBinding(DefaultParameterSetName='AppsForOfficeSettingsInWebApplication')] +param( + [Parameter(ParameterSetName='AppsForOfficeSettingsInWebApplication', Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${WebApplication}, + + [Parameter(ParameterSetName='AppsForOfficeSettingsInSiteSubscription', Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SiteSubscription}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPPendingUpgradeActions { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${RootObject}, + + [switch] + ${Recursive}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPPerformancePointServiceApplication { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPPerformancePointServiceApplicationTrustedLocation { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${ServiceApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPPluggableSecurityTrimmer { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0)] + [ValidateNotNull()] + [guid] + ${UserProfileApplicationProxyId}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPProcessAccount { + [CmdletBinding(DefaultParameterSetName='NetworkService')] +param( + [Parameter(ParameterSetName='NetworkService')] + [switch] + ${NetworkService}, + + [Parameter(ParameterSetName='LocalSystem')] + [switch] + ${LocalSystem}, + + [Parameter(ParameterSetName='LocalService')] + [switch] + ${LocalService}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPProduct { + [CmdletBinding(DefaultParameterSetName='Local')] +param( + [Parameter(ParameterSetName='Server', ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [object] + ${Server}, + + [Parameter(ParameterSetName='Local')] + [switch] + ${Local}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPProfileLeader { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${ProfileServiceApplicationProxy}, + + [Parameter(ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${SiteSubscription}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPProfileServiceApplicationSecurity { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${ProfileServiceApplicationProxy}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${SiteSubscription}, + + [ValidateSet('UserACL','MySiteReaderACL')] + [string] + ${Type}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPRequestManagementSettings { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPRoutingMachineInfo { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${RequestManagementSettings}, + + [ValidateNotNull()] + [string] + ${Name}, + + [ValidateNotNull()] + [object] + ${Availability}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPRoutingMachinePool { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${RequestManagementSettings}, + + [ValidateNotNull()] + [string] + ${Name}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPRoutingRule { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${RequestManagementSettings}, + + [ValidateNotNull()] + [string] + ${Name}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPScaleOutDatabase { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true)] + [object] + ${ServiceApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPScaleOutDatabaseDataState { + [CmdletBinding(DefaultParameterSetName='AttachedDatabase', SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='AttachedDatabase', Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Database}, + + [Parameter(ParameterSetName='UnattachedDatabase', Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${ConnectionString}, + + [Parameter(ParameterSetName='UnattachedDatabase')] + [switch] + ${IsAzureDatabase}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPScaleOutDatabaseInconsistency { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true)] + [object] + ${ServiceApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPScaleOutDatabaseLogEntry { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Database}, + + [Parameter(Mandatory=$true)] + [int] + ${Count}, + + [object] + ${MajorAction}, + + [System.Nullable[guid]] + ${CorrelationId}, + + [byte[]] + ${RangeLimitPoint}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPSecureStoreApplication { + [CmdletBinding(DefaultParameterSetName='NameSet')] +param( + [Parameter(ParameterSetName='AllSet', Mandatory=$true)] + [switch] + ${All}, + + [Parameter(ParameterSetName='NameSet', Mandatory=$true)] + [string] + ${Name}, + + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [object] + ${ServiceContext}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPSecureStoreSystemAccount { + [CmdletBinding()] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPSecurityTokenServiceConfig { + [CmdletBinding()] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPServer { + [CmdletBinding()] +param( + [Parameter(Position=0, ValueFromPipeline=$true)] + [Alias('Address')] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPServerScaleOutDatabase { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true)] + [object] + ${ServiceApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPServerScaleOutDatabaseDataState { + [CmdletBinding(DefaultParameterSetName='AttachedDatabase', SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='AttachedDatabase', Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Database}, + + [Parameter(ParameterSetName='UnattachedDatabase', Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${ConnectionString}, + + [Parameter(ParameterSetName='UnattachedDatabase')] + [switch] + ${IsAzureDatabase}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPServerScaleOutDatabaseInconsistency { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true)] + [object] + ${ServiceApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPServerScaleOutDatabaseLogEntry { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Database}, + + [Parameter(Mandatory=$true)] + [int] + ${Count}, + + [object] + ${MajorAction}, + + [System.Nullable[guid]] + ${CorrelationId}, + + [byte[]] + ${RangeLimitPoint}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPServiceApplication { + [CmdletBinding()] +param( + [Parameter(Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [string] + ${Name}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPServiceApplicationEndpoint { + [CmdletBinding(DefaultParameterSetName='Identity')] +param( + [Parameter(ParameterSetName='Identity', Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ParameterSetName='Name', Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${ServiceApplication}, + + [Parameter(ParameterSetName='Name')] + [string] + ${Name}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPServiceApplicationPool { + [CmdletBinding()] +param( + [Parameter(Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPServiceApplicationProxy { + [CmdletBinding()] +param( + [Parameter(Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPServiceApplicationProxyGroup { + [CmdletBinding(DefaultParameterSetName='Identity')] +param( + [Parameter(ParameterSetName='Identity', Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ParameterSetName='Default identity', Mandatory=$true)] + [switch] + ${Default}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPServiceApplicationSecurity { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [switch] + ${Admin}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPServiceContext { + [CmdletBinding()] +param( + [Parameter(ParameterSetName='Site', Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Site}, + + [Parameter(ParameterSetName='SiteSubscription', Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SiteSubscription}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPServiceHostConfig { + [CmdletBinding()] +param( + [switch] + ${Default}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPServiceInstance { + [CmdletBinding(DefaultParameterSetName='Identity')] +param( + [Parameter(ParameterSetName='Identity', Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ParameterSetName='Server', Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${Server}, + + [switch] + ${All}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPSessionStateService { + [CmdletBinding()] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPShellAdmin { + [CmdletBinding()] +param( + [Parameter(Position=0, ValueFromPipeline=$true)] + [object] + ${database}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPSite { + [CmdletBinding(DefaultParameterSetName='AllSitesInWebApplication', SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='AllSitesInIdentity', Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [string] + ${Limit}, + + [Parameter(ParameterSetName='AllSitesInContentDB', Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${ContentDatabase}, + + [Parameter(ParameterSetName='AllSitesInWebApplication', ValueFromPipeline=$true)] + [object] + ${WebApplication}, + + [Parameter(ParameterSetName='AllSitesInSiteSubscription', Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SiteSubscription}, + + [Parameter(ParameterSetName='AllSitesInIdentity')] + [switch] + ${Regex}, + + [scriptblock] + ${Filter}, + + [int] + ${CompatibilityLevel}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPSiteAdministration { + [CmdletBinding(DefaultParameterSetName='AllSitesInWebApplication', SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='AllSitesInIdentity', Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [string] + ${Limit}, + + [Parameter(ParameterSetName='AllSitesInContentDB', Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${ContentDatabase}, + + [Parameter(ParameterSetName='AllSitesInWebApplication', ValueFromPipeline=$true)] + [object] + ${WebApplication}, + + [Parameter(ParameterSetName='AllSitesInSiteSubscription', Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SiteSubscription}, + + [Parameter(ParameterSetName='AllSitesInIdentity')] + [switch] + ${Regex}, + + [scriptblock] + ${Filter}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPSiteSubscription { + [CmdletBinding()] +param( + [Parameter(Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPSiteSubscriptionConfig { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPSiteSubscriptionEdiscoveryHub { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPSiteSubscriptionEdiscoverySearchScope { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPSiteSubscriptionFeaturePack { + [CmdletBinding(DefaultParameterSetName='FeaturePack')] +param( + [Parameter(ParameterSetName='FeaturePack', Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ParameterSetName='SiteSubscription', ValueFromPipeline=$true)] + [object] + ${SiteSubscription}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPSiteSubscriptionIRMConfig { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPSiteSubscriptionMetadataConfig { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${ServiceProxy}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPSiteUpgradeSessionInfo { + [CmdletBinding(DefaultParameterSetName='ContentDB')] +param( + [Parameter(ParameterSetName='Site', Mandatory=$true)] + [object] + ${Site}, + + [Parameter(ParameterSetName='ContentDB', Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${ContentDatabase}, + + [Parameter(ParameterSetName='ContentDB')] + [object] + ${SiteSubscription}, + + [Parameter(ParameterSetName='ContentDB')] + [switch] + ${HideWaiting}, + + [Parameter(ParameterSetName='ContentDB')] + [switch] + ${ShowInProgress}, + + [Parameter(ParameterSetName='ContentDB')] + [switch] + ${ShowCompleted}, + + [Parameter(ParameterSetName='ContentDB')] + [switch] + ${ShowFailed}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPSiteURL { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPSolution { + [CmdletBinding()] +param( + [Parameter(Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPStateServiceApplication { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [Alias('Name')] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPStateServiceApplicationProxy { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [Alias('Name')] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPStateServiceDatabase { + [CmdletBinding(DefaultParameterSetName='Default', SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Default', Position=0, ValueFromPipeline=$true)] + [Alias('Name')] + [object] + ${Identity}, + + [Parameter(ParameterSetName='ServiceApplication', Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [Alias('Application')] + [object] + ${ServiceApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPTaxonomySession { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [object] + ${Site}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPThrottlingRule { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${RequestManagementSettings}, + + [ValidateNotNull()] + [string] + ${Name}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPTimerJob { + [CmdletBinding()] +param( + [Parameter(Position=0)] + [object] + ${Identity}, + + [ValidateNotNullOrEmpty()] + [string] + ${Type}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${WebApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPTopologyServiceApplication { + [CmdletBinding()] +param( + [Parameter(Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPTopologyServiceApplicationProxy { + [CmdletBinding()] +param( + [Parameter(Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPTranslationThrottlingSetting { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Low')] +param( + [object] + ${Farm}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPTrustedIdentityTokenIssuer { + [CmdletBinding()] +param( + [Parameter(Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPTrustedRootAuthority { + [CmdletBinding()] +param( + [Parameter(Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPTrustedSecurityTokenIssuer { + [CmdletBinding()] +param( + [Parameter(Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPTrustedServiceTokenIssuer { + [CmdletBinding()] +param( + [Parameter(Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPUpgradeActions { + [CmdletBinding()] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPUsageApplication { + [CmdletBinding()] +param( + [Parameter(Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${UsageService}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPUsageDefinition { + [CmdletBinding()] +param( + [Parameter(Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPUsageService { + [CmdletBinding()] +param( + [Parameter(Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPUser { + [CmdletBinding()] +param( + [Parameter(Position=0, ValueFromPipeline=$true)] + [Alias('UserAlias')] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Web}, + + [object] + ${Group}, + + [string] + ${Limit}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPUserLicense { + [CmdletBinding()] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPUserLicenseMapping { + [CmdletBinding()] +param( + [Parameter(ParameterSetName='WebApplication', ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [ValidateNotNull()] + [object] + ${WebApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPUserLicensing { + [CmdletBinding()] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPUserSettingsProvider { + [CmdletBinding()] +param( + [Parameter(Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPUserSettingsProviderManager { + [CmdletBinding()] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPUserSolution { + [CmdletBinding()] +param( + [Parameter(Position=0)] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${Site}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPVisioExternalData { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [ValidateNotNullOrEmpty()] + [object] + ${VisioServiceApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPVisioPerformance { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [ValidateNotNullOrEmpty()] + [object] + ${VisioServiceApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPVisioSafeDataProvider { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [ValidateNotNullOrEmpty()] + [object] + ${VisioServiceApplication}, + + [string] + ${DataProviderId}, + + [int] + ${DataProviderType}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPVisioServiceApplication { + [CmdletBinding()] +param( + [Parameter(Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPVisioServiceApplicationProxy { + [CmdletBinding()] +param( + [Parameter(Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPWeb { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Position=0)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${Site}, + + [string] + ${Limit}, + + [switch] + ${Regex}, + + [scriptblock] + ${Filter}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPWebApplication { + [CmdletBinding()] +param( + [Parameter(Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [switch] + ${IncludeCentralAdministration}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPWebApplicationAppDomain { + [CmdletBinding(DefaultParameterSetName='Default')] +param( + [Parameter(Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ParameterSetName='WebApplication', Mandatory=$true)] + [object] + ${WebApplication}, + + [Parameter(ParameterSetName='ResourceName', Mandatory=$true)] + [string] + ${AppDomain}, + + [object] + ${Zone}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPWebApplicationHttpThrottlingMonitor { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPWebPartPack { + [CmdletBinding()] +param( + [Parameter(Position=0)] + [ValidateNotNullOrEmpty()] + [string] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${WebApplication}, + + [switch] + ${GlobalOnly}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPWebTemplate { + [CmdletBinding()] +param( + [Parameter(Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [uint32] + ${CompatibilityLevel}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPWOPIBinding { + [CmdletBinding()] +param( + [ValidateNotNullOrEmpty()] + [string] + ${Application}, + + [ValidateNotNullOrEmpty()] + [string] + ${Action}, + + [ValidateNotNullOrEmpty()] + [string] + ${Extension}, + + [ValidateNotNullOrEmpty()] + [string] + ${ProgId}, + + [ValidateNotNullOrEmpty()] + [string] + ${Server}, + + [Parameter(ValueFromPipeline=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${WOPIZone}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPWOPISuppressionSetting { + [CmdletBinding()] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPWOPIZone { + [CmdletBinding()] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPWorkflowConfig { + [CmdletBinding()] +param( + [Parameter(ParameterSetName='WebApplication', Mandatory=$true, Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [object] + ${WebApplication}, + + [Parameter(ParameterSetName='SiteCollection', Mandatory=$true, Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [object] + ${SiteCollection}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPWorkflowServiceApplicationProxy { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Grant-SPBusinessDataCatalogMetadataObject { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [object] + ${Principal}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(Mandatory=$true)] + [object] + ${Right}, + + [string] + ${SettingId}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Grant-SPObjectSecurity { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, Position=1)] + [ValidateNotNull()] + [object] + ${Principal}, + + [Parameter(Mandatory=$true, Position=2)] + [ValidateNotNull()] + [string[]] + ${Rights}, + + [switch] + ${Replace}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Import-SPAppPackage { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${Path}, + + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [object] + ${Site}, + + [Parameter(Mandatory=$true)] + [object] + ${Source}, + + [string] + ${AssetId}, + + [string] + ${ContentMarket}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Import-SPBusinessDataCatalogDotNetAssembly { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${Path}, + + [ValidateNotNullOrEmpty()] + [string[]] + ${DependentAssemblyPaths}, + + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [object] + ${LobSystem}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Import-SPBusinessDataCatalogModel { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [switch] + ${ModelsIncluded}, + + [switch] + ${LocalizedNamesIncluded}, + + [switch] + ${PropertiesIncluded}, + + [switch] + ${PermissionsIncluded}, + + [Parameter(ParameterSetName='Catalog', Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(ParameterSetName='ServiceContext', Mandatory=$true)] + [ValidateNotNull()] + [object] + ${ServiceContext}, + + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${Path}, + + [switch] + ${Force}, + + [string] + ${SettingId}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Import-SPEnterpriseSearchCustomExtractionDictionary { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true)] + [object] + ${SearchApplication}, + + [Parameter(Mandatory=$true, HelpMessage='Specify the UNC path to the CSV file.')] + [string] + ${FileName}, + + [Parameter(Mandatory=$true, HelpMessage='Specify the fully qualified name of the target dictionary to be deployed.')] + [ValidateSet('Microsoft.UserDictionaries.EntityExtraction.Custom.Word.1','Microsoft.UserDictionaries.EntityExtraction.Custom.Word.2','Microsoft.UserDictionaries.EntityExtraction.Custom.Word.3','Microsoft.UserDictionaries.EntityExtraction.Custom.Word.4','Microsoft.UserDictionaries.EntityExtraction.Custom.Word.5','Microsoft.UserDictionaries.EntityExtraction.Custom.ExactWord.1','Microsoft.UserDictionaries.EntityExtraction.Custom.WordPart.1','Microsoft.UserDictionaries.EntityExtraction.Custom.WordPart.2','Microsoft.UserDictionaries.EntityExtraction.Custom.WordPart.3','Microsoft.UserDictionaries.EntityExtraction.Custom.WordPart.4','Microsoft.UserDictionaries.EntityExtraction.Custom.WordPart.5','Microsoft.UserDictionaries.EntityExtraction.Custom.ExactWordPart.1')] + [string] + ${DictionaryName}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Import-SPEnterpriseSearchPopularQueries { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchApplicationProxy}, + + [Parameter(Mandatory=$true)] + [object] + ${ResultSource}, + + [Parameter(Mandatory=$true)] + [object] + ${Web}, + + [string] + ${Filename}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Import-SPEnterpriseSearchThesaurus { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true)] + [object] + ${SearchApplication}, + + [Parameter(Mandatory=$true, HelpMessage='Specify the UNC path to the CSV file.')] + [string] + ${FileName}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Import-SPEnterpriseSearchTopology { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [Parameter(Mandatory=$true)] + [string] + ${Filename}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Import-SPInfoPathAdministrationFiles { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [object] + ${Identity}, + + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [string] + ${Path}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Import-SPMetadataWebServicePartitionData { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${Path}, + + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${ServiceProxy}, + + [switch] + ${NoCompression}, + + [ValidateSet('true','false')] + [switch] + ${OverwriteExisting}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Import-SPPerformancePointContent { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true)] + [string] + ${ImportFileUrl}, + + [Parameter(Mandatory=$true)] + [string] + ${MasterPageUrl}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [object] + ${SiteDestination}, + + [Parameter(Mandatory=$true)] + [hashtable] + ${LocationMap}, + + [Parameter(Mandatory=$true)] + [hashtable] + ${DatasourceMap}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Import-SPScaleOutDatabaseTenantData { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true)] + [string] + ${FilePath}, + + [Parameter(Mandatory=$true)] + [object] + ${ServiceApplication}, + + [Parameter(Mandatory=$true)] + [guid] + ${SiteSubscriptionId}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Import-SPServerScaleOutDatabaseTenantData { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true)] + [string] + ${FilePath}, + + [Parameter(Mandatory=$true)] + [object] + ${ServiceApplication}, + + [Parameter(Mandatory=$true)] + [guid] + ${SiteSubscriptionId}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Import-SPSiteSubscriptionBusinessDataCatalogConfig { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${Path}, + + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [object] + ${ServiceContext}, + + [switch] + ${ModelsIncluded}, + + [switch] + ${LocalizedNamesIncluded}, + + [switch] + ${PropertiesIncluded}, + + [switch] + ${ProxiesIncluded}, + + [switch] + ${PermissionsIncluded}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Import-SPSiteSubscriptionSettings { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${Path}, + + [switch] + ${AdminProperties}, + + [switch] + ${Force}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Import-SPWeb { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [object] + ${IncludeUserCustomAction}, + + [switch] + ${ActivateSolutions}, + + [object] + ${UpdateVersions}, + + [Parameter(Mandatory=$true)] + [string] + ${Path}, + + [switch] + ${Force}, + + [switch] + ${IncludeUserSecurity}, + + [switch] + ${HaltOnWarning}, + + [switch] + ${HaltOnError}, + + [switch] + ${NoLogFile}, + + [switch] + ${NoFileCompression}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Initialize-SPResourceSecurity { + [CmdletBinding()] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Initialize-SPStateServiceDatabase { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [Alias('Name')] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Install-SPApp { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Low')] +param( + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [object] + ${Web}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Install-SPApplicationContent { + [CmdletBinding()] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Install-SPDataConnectionFile { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [string] + ${Path}, + + [ValidateLength(0, 255)] + [string] + ${Category}, + + [Parameter(ValueFromPipelineByPropertyName=$true)] + [switch] + ${WebAccessible}, + + [switch] + ${Overwrite}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Install-SPEduSites { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [object] + ${WebApplication}, + + [Parameter(Mandatory=$true, Position=1, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [object] + ${MySiteHost}, + + [Parameter(Mandatory=$true, Position=2, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [object] + ${SearchCenter}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Install-SPFeature { + [CmdletBinding(DefaultParameterSetName='PathSet', SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='PathSet', Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [string] + ${Path}, + + [Parameter(ParameterSetName='AllExistingFeatures', Mandatory=$true)] + [switch] + ${AllExistingFeatures}, + + [Parameter(ParameterSetName='ScanForFeatures', Mandatory=$true)] + [switch] + ${ScanForFeatures}, + + [switch] + ${Force}, + + [Parameter(ParameterSetName='ScanForFeatures')] + [Parameter(ParameterSetName='AllExistingFeatures')] + [string] + ${SolutionId}, + + [Parameter(ParameterSetName='PathSet')] + [int] + ${CompatibilityLevel}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Install-SPHelpCollection { + [CmdletBinding(DefaultParameterSetName='InstallOne')] +param( + [Parameter(ParameterSetName='InstallOne', Mandatory=$true)] + [ValidateNotNull()] + [string] + ${LiteralPath}, + + [Parameter(ParameterSetName='InstallAll', Mandatory=$true)] + [switch] + ${All}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Install-SPInfoPathFormTemplate { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [string] + ${Path}, + + [switch] + ${EnableGradualUpgrade}, + + [switch] + ${NoWait}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Install-SPService { + [CmdletBinding()] +param( + [switch] + ${Provision}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Install-SPSolution { + [CmdletBinding(DefaultParameterSetName='Deploy', SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Synchronize', Position=0, ValueFromPipeline=$true)] + [Parameter(ParameterSetName='Deploy', Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ParameterSetName='Deploy')] + [object] + ${WebApplication}, + + [Parameter(ParameterSetName='Deploy')] + [string] + ${Time}, + + [Parameter(ParameterSetName='Deploy')] + [switch] + ${CASPolicies}, + + [Parameter(ParameterSetName='Deploy')] + [switch] + ${GACDeployment}, + + [Parameter(ParameterSetName='Deploy')] + [switch] + ${FullTrustBinDeployment}, + + [Parameter(ParameterSetName='Deploy')] + [switch] + ${Local}, + + [uint32] + ${Language}, + + [Parameter(ParameterSetName='Deploy')] + [switch] + ${Force}, + + [Parameter(ParameterSetName='Deploy')] + [switch] + ${AllWebApplications}, + + [Parameter(ParameterSetName='Deploy')] + [string] + ${CompatibilityLevel}, + + [Parameter(ParameterSetName='Synchronize', Mandatory=$true)] + [switch] + ${Synchronize}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Install-SPUserSolution { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(Mandatory=$true)] + [object] + ${Site}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Install-SPWebPartPack { + [CmdletBinding(DefaultParameterSetName='UseFileName', SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(ParameterSetName='UseName', Mandatory=$true, Position=0)] + [ValidateNotNullOrEmpty()] + [string] + ${Name}, + + [Parameter(ParameterSetName='UseFileName', Mandatory=$true, Position=0)] + [ValidateNotNullOrEmpty()] + [string] + ${LiteralPath}, + + [Parameter(ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${WebApplication}, + + [switch] + ${GlobalInstall}, + + [uint32] + ${Language}, + + [switch] + ${Force}, + + [string] + ${CompatibilityLevel}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Merge-SPLogFile { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true)] + [string] + ${Path}, + + [switch] + ${Overwrite}, + + [datetime] + ${StartTime}, + + [datetime] + ${EndTime}, + + [string[]] + ${Process}, + + [uint32[]] + ${ThreadID}, + + [string[]] + ${Area}, + + [string[]] + ${Category}, + + [string[]] + ${EventID}, + + [string] + ${Level}, + + [string[]] + ${Message}, + + [guid[]] + ${Correlation}, + + [string[]] + ${ContextFilter}, + + [switch] + ${ExcludeNestedCorrelation}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Mount-SPContentDatabase { + [CmdletBinding(DefaultParameterSetName='DefaultSet', SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [switch] + ${SkipIntegrityChecks}, + + [switch] + ${NoB2BSiteUpgrade}, + + [Parameter(Mandatory=$true, Position=0)] + [ValidateNotNull()] + [string] + ${Name}, + + [Parameter(Mandatory=$true, Position=1)] + [ValidateNotNull()] + [object] + ${WebApplication}, + + [ValidateNotNullOrEmpty()] + [string] + ${DatabaseServer}, + + [ValidateNotNull()] + [pscredential] + ${DatabaseCredentials}, + + [ValidateRange(1, 2147483647)] + [int] + ${MaxSiteCount}, + + [ValidateRange(0, 2147483647)] + [int] + ${WarningSiteCount}, + + [switch] + ${ClearChangeLog}, + + [switch] + ${ChangeSyncKnowledge}, + + [switch] + ${AssignNewDatabaseId}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Mount-SPStateServiceDatabase { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0)] + [string] + ${Name}, + + [string] + ${DatabaseServer}, + + [pscredential] + ${DatabaseCredentials}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${ServiceApplication}, + + [ValidateRange(0, 10)] + [System.Nullable[int]] + ${Weight}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Move-SPBlobStorageLocation { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0)] + [ValidateNotNullOrEmpty()] + [string] + ${SourceDatabase}, + + [ValidateNotNullOrEmpty()] + [string] + ${DestinationDataSourceInstance}, + + [ValidateNotNullOrEmpty()] + [string] + ${DestinationDatabase}, + + [ValidateNotNullOrEmpty()] + [string] + ${Dir}, + + [ValidateNotNullOrEmpty()] + [bool] + ${VerboseMod}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Move-SPDeletedSite { + [CmdletBinding(DefaultParameterSetName='DatabaseFromPipebind', SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNullOrEmpty()] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${WebApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${ContentDatabase}, + + [Parameter(Mandatory=$true)] + [object] + ${DestinationDatabase}, + + [hashtable] + ${RbsProviderMapping}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Move-SPEnterpriseSearchLinksDatabases { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [Parameter(Position=1)] + [System.Nullable[guid]] + ${RepartitioningId}, + + [Parameter(Position=2)] + [object] + ${SourceStores}, + + [Parameter(Position=3)] + [object] + ${TargetStores}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Move-SPProfileManagedMetadataProperty { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${ProfileServiceApplicationProxy}, + + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [string] + ${Identity}, + + [string] + ${TermSetName}, + + [switch] + ${AvailableForTagging}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Move-SPSite { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNullOrEmpty()] + [object] + ${Identity}, + + [Parameter(Mandatory=$true)] + [object] + ${DestinationDatabase}, + + [hashtable] + ${RbsProviderMapping}, + + [bool] + ${CopyEvents}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Move-SPSocialComment { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${ProfileServiceApplicationProxy}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${SiteSubscription}, + + [string] + ${OldUrl}, + + [string] + ${NewUrl}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Move-SPUser { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [Alias('UserAlias')] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${NewAlias}, + + [switch] + ${IgnoreSID}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPAccessServiceApplication { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${ApplicationPool}, + + [string] + ${Name}, + + [switch] + ${Default}, + + [ValidateRange(1, 255)] + [int] + ${ColumnsMax}, + + [ValidateRange(1, 200000)] + [int] + ${RowsMax}, + + [ValidateRange(1, 20)] + [int] + ${SourcesMax}, + + [ValidateRange(0, 32)] + [int] + ${OutputCalculatedColumnsMax}, + + [ValidateRange(0, 8)] + [int] + ${OrderByMax}, + + [switch] + ${OuterJoinsAllowed}, + + [switch] + ${NonRemotableQueriesAllowed}, + + [ValidateRange(-1, 2147483647)] + [int] + ${RecordsInTableMax}, + + [ValidateRange(-1, 2147483647)] + [int] + ${ApplicationLogSizeMax}, + + [ValidateRange(-1, 2073600)] + [int] + ${RequestDurationMax}, + + [ValidateRange(-1, 2147483647)] + [int] + ${SessionsPerUserMax}, + + [ValidateRange(-1, 2147483647)] + [int] + ${SessionsPerAnonymousUserMax}, + + [ValidateRange(-1, 2073600)] + [int] + ${CacheTimeout}, + + [ValidateRange(0, 4096)] + [int] + ${SessionMemoryMax}, + + [ValidateRange(-1, 2147483647)] + [int] + ${PrivateBytesMax}, + + [ValidateRange(-1, 2147483647)] + [int] + ${TemplateSizeMax}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPAccessServicesApplication { + [CmdletBinding(DefaultParameterSetName='NoApplicationServerParameterSet', SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='DefaultParameterSet', Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${DatabaseServer}, + + [Parameter(ParameterSetName='DefaultParameterSet')] + [ValidateNotNull()] + [pscredential] + ${DatabaseServerCredentials}, + + [Parameter(ParameterSetName='DefaultParameterSet', Mandatory=$true, ValueFromPipeline=$true)] + [Parameter(ParameterSetName='NoApplicationServerParameterSet', Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${ApplicationPool}, + + [Parameter(ParameterSetName='DefaultParameterSet')] + [Parameter(ParameterSetName='NoApplicationServerParameterSet')] + [string] + ${Name}, + + [Parameter(ParameterSetName='DefaultParameterSet', Mandatory=$true)] + [Parameter(ParameterSetName='NoApplicationServerParameterSet')] + [switch] + ${Default}, + + [Parameter(ParameterSetName='NoApplicationServerParameterSet')] + [Parameter(ParameterSetName='DefaultParameterSet')] + [ValidateRange(-1, 2073600)] + [int] + ${RequestDurationMax}, + + [Parameter(ParameterSetName='DefaultParameterSet')] + [Parameter(ParameterSetName='NoApplicationServerParameterSet')] + [ValidateRange(-1, 2147483647)] + [int] + ${SessionsPerUserMax}, + + [Parameter(ParameterSetName='DefaultParameterSet')] + [Parameter(ParameterSetName='NoApplicationServerParameterSet')] + [ValidateRange(-1, 2147483647)] + [int] + ${SessionsPerAnonymousUserMax}, + + [Parameter(ParameterSetName='NoApplicationServerParameterSet')] + [Parameter(ParameterSetName='DefaultParameterSet')] + [ValidateRange(-1, 2073600)] + [int] + ${CacheTimeout}, + + [Parameter(ParameterSetName='DefaultParameterSet')] + [Parameter(ParameterSetName='NoApplicationServerParameterSet')] + [ValidateRange(-1, 2147483647)] + [int] + ${PrivateBytesMax}, + + [Parameter(ParameterSetName='NoApplicationServerParameterSet')] + [Parameter(ParameterSetName='DefaultParameterSet')] + [ValidateRange(-1, 2073600)] + [int] + ${QueryTimeout}, + + [Parameter(ParameterSetName='NoApplicationServerParameterSet')] + [Parameter(ParameterSetName='DefaultParameterSet')] + [ValidateRange(-1, 1440)] + [int] + ${RecoveryPointObjective}, + + [Parameter(ParameterSetName='NoApplicationServerParameterSet')] + [Parameter(ParameterSetName='DefaultParameterSet')] + [bool] + ${Hosted}, + + [Parameter(ParameterSetName='DefaultParameterSet')] + [bool] + ${Encrypt}, + + [Parameter(ParameterSetName='DefaultParameterSet')] + [bool] + ${TrustServerCertificate}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPAccessServicesApplicationProxy { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${application}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPAccessServicesDatabaseServer { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${ServiceContext}, + + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${DatabaseServerName}, + + [ValidateNotNullOrEmpty()] + [string] + ${DatabaseServerGroupName}, + + [ValidateNotNullOrEmpty()] + [guid] + ${ServerReferenceId}, + + [ValidateNotNullOrEmpty()] + [pscredential] + ${DatabaseServerCredentials}, + + [ValidateNotNullOrEmpty()] + [bool] + ${AvailableForCreate}, + + [ValidateNotNullOrEmpty()] + [bool] + ${Exclusive}, + + [bool] + ${Encrypt}, + + [bool] + ${TrustServerCertificate}, + + [bool] + ${ValidateServer}, + + [ValidateNotNullOrEmpty()] + [string] + ${SecondaryDatabaseServerName}, + + [ValidateNotNullOrEmpty()] + [string] + ${UserDomain}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPAlternateURL { + [CmdletBinding(DefaultParameterSetName='WebApplication', SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [string] + ${Url}, + + [object] + ${Zone}, + + [switch] + ${Internal}, + + [Parameter(ParameterSetName='WebApplication', Mandatory=$true)] + [object] + ${WebApplication}, + + [Parameter(ParameterSetName='ResourceName', Mandatory=$true)] + [string] + ${ResourceName}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPAppManagementServiceApplication { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [string] + ${Name}, + + [ValidateNotNullOrEmpty()] + [string] + ${DatabaseServer}, + + [ValidateNotNullOrEmpty()] + [string] + ${DatabaseName}, + + [ValidateNotNullOrEmpty()] + [string] + ${FailoverDatabaseServer}, + + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [object] + ${ApplicationPool}, + + [ValidateNotNull()] + [pscredential] + ${DatabaseCredentials}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPAppManagementServiceApplicationProxy { + [CmdletBinding(DefaultParameterSetName='Uri', SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [string] + ${Name}, + + [switch] + ${UseDefaultProxyGroup}, + + [Parameter(ParameterSetName='Uri', Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${Uri}, + + [Parameter(ParameterSetName='ServiceApplication', Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${ServiceApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPAuthenticationProvider { + [CmdletBinding(DefaultParameterSetName='Windows')] +param( + [Parameter(ParameterSetName='Windows')] + [switch] + ${AllowAnonymous}, + + [Parameter(ParameterSetName='Windows')] + [switch] + ${UseBasicAuthentication}, + + [Parameter(ParameterSetName='Windows')] + [switch] + ${DisableKerberos}, + + [Parameter(ParameterSetName='Windows')] + [switch] + ${UseWindowsIntegratedAuthentication}, + + [Parameter(ParameterSetName='Forms', Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${ASPNETMembershipProvider}, + + [Parameter(ParameterSetName='Forms', Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${ASPNETRoleProviderName}, + + [Parameter(ParameterSetName='Trusted', Mandatory=$true)] + [ValidateNotNull()] + [object] + ${TrustedIdentityTokenIssuer}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPAzureAccessControlServiceApplicationProxy { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${Name}, + + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${MetadataServiceEndpointUri}, + + [ValidateNotNull()] + [switch] + ${DefaultProxyGroup}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPBECWebServiceApplicationProxy { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${Name}, + + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${ServiceEndpointUri}, + + [ValidateNotNull()] + [switch] + ${DefaultProxyGroup}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPBusinessDataCatalogServiceApplication { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [string] + ${Name}, + + [switch] + ${PartitionMode}, + + [switch] + ${Sharing}, + + [ValidateNotNullOrEmpty()] + [string] + ${DatabaseServer}, + + [string] + ${DatabaseName}, + + [string] + ${FailoverDatabaseServer}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${ApplicationPool}, + + [pscredential] + ${DatabaseCredentials}, + + [string] + ${DatabaseUsername}, + + [securestring] + ${DatabasePassword}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPBusinessDataCatalogServiceApplicationProxy { + [CmdletBinding(DefaultParameterSetName='Uri', SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Uri', Mandatory=$true)] + [ValidateNotNull()] + [uri] + ${Uri}, + + [switch] + ${DefaultProxyGroup}, + + [string] + ${Name}, + + [Parameter(ParameterSetName='PipeBind', Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${ServiceApplication}, + + [Parameter(ParameterSetName='Uri')] + [switch] + ${PartitionMode}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPCentralAdministration { + [CmdletBinding()] +param( + [Parameter(Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [int] + ${Port}, + + [Parameter(Position=1, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [string] + ${WindowsAuthProvider}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPClaimProvider { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true)] + [string] + ${DisplayName}, + + [Parameter(Mandatory=$true)] + [string] + ${Description}, + + [Parameter(Mandatory=$true)] + [string] + ${AssemblyName}, + + [Parameter(Mandatory=$true)] + [string] + ${Type}, + + [switch] + ${Enabled}, + + [switch] + ${Default}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +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)] + [ValidateNotNullOrEmpty()] + [string] + ${Identity}, + + [Parameter(ParameterSetName='TrustIdentity', Mandatory=$true, Position=1)] + [Parameter(ParameterSetName='STSIdentity', Mandatory=$true, Position=2)] + [ValidateNotNullOrEmpty()] + [object] + ${TrustedIdentityTokenIssuer}, + + [Parameter(ParameterSetName='IdentityType', Mandatory=$true, Position=1)] + [ValidateNotNull()] + [object] + ${IdentityType}, + + [Parameter(ParameterSetName='BasicClaim', Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${EncodedClaim}, + + [Parameter(ParameterSetName='ClaimProvider', Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [Parameter(ParameterSetName='STSIdentity', Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${ClaimValue}, + + [Parameter(ParameterSetName='ClaimProvider', Mandatory=$true, Position=1)] + [Parameter(ParameterSetName='STSIdentity', Position=1)] + [ValidateNotNullOrEmpty()] + [string] + ${ClaimType}, + + [Parameter(ParameterSetName='ClaimProvider', Mandatory=$true, Position=2)] + [ValidateNotNull()] + [object] + ${ClaimProvider}, + + [Parameter(ParameterSetName='STSIdentity', Position=3)] + [ValidateNotNull()] + [switch] + ${IdentifierClaim}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPClaimTypeEncoding { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true)] + [char] + ${EncodingCharacter}, + + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${ClaimType}, + + [switch] + ${Force}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPClaimTypeMapping { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0)] + [ValidateNotNullOrEmpty()] + [string] + ${IncomingClaimType}, + + [Parameter(Mandatory=$true, Position=1)] + [ValidateNotNullOrEmpty()] + [string] + ${IncomingClaimTypeDisplayName}, + + [Parameter(Position=2)] + [ValidateNotNullOrEmpty()] + [string] + ${LocalClaimType}, + + [ValidateNotNull()] + [switch] + ${SameAsIncoming}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPConfigurationDatabase { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [string] + ${DatabaseName}, + + [Parameter(Mandatory=$true, Position=1, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${DatabaseServer}, + + [Parameter(Position=2, ValueFromPipelineByPropertyName=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${DirectoryDomain}, + + [Parameter(Position=3, ValueFromPipelineByPropertyName=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${DirectoryOrganizationUnit}, + + [Parameter(Position=4, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${AdministrationContentDatabaseName}, + + [Parameter(Position=5, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [pscredential] + ${DatabaseCredentials}, + + [Parameter(Mandatory=$true, Position=6, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [pscredential] + ${FarmCredentials}, + + [Parameter(Mandatory=$true, Position=7, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [securestring] + ${Passphrase}, + + [Parameter(Position=8, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [switch] + ${SkipRegisterAsDistributedCacheHost}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPContentDatabase { + [CmdletBinding(DefaultParameterSetName='DefaultSet', SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0)] + [ValidateNotNull()] + [string] + ${Name}, + + [Parameter(Mandatory=$true, Position=1)] + [ValidateNotNull()] + [object] + ${WebApplication}, + + [ValidateNotNullOrEmpty()] + [string] + ${DatabaseServer}, + + [ValidateNotNull()] + [pscredential] + ${DatabaseCredentials}, + + [ValidateRange(1, 2147483647)] + [int] + ${MaxSiteCount}, + + [ValidateRange(0, 2147483647)] + [int] + ${WarningSiteCount}, + + [switch] + ${ClearChangeLog}, + + [switch] + ${ChangeSyncKnowledge}, + + [switch] + ${AssignNewDatabaseId}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPContentDeploymentJob { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true)] + [string] + ${Name}, + + [string] + ${Description}, + + [Parameter(Mandatory=$true)] + [object] + ${SPContentDeploymentPath}, + + [object] + ${Scope}, + + [string] + ${Schedule}, + + [switch] + ${ScheduleEnabled}, + + [switch] + ${IncrementalEnabled}, + + [object] + ${SqlSnapshotSetting}, + + [switch] + ${HostingSupportEnabled}, + + [object] + ${EmailNotifications}, + + [string[]] + ${EmailAddresses}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPContentDeploymentPath { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true)] + [string] + ${Name}, + + [string] + ${Description}, + + [Parameter(Mandatory=$true)] + [object] + ${SourceSPWebApplication}, + + [Parameter(Mandatory=$true)] + [object] + ${SourceSPSite}, + + [Parameter(Mandatory=$true)] + [uri] + ${DestinationCentralAdministrationURL}, + + [Parameter(Mandatory=$true)] + [uri] + ${DestinationSPWebApplication}, + + [Parameter(Mandatory=$true)] + [string] + ${DestinationSPSite}, + + [object] + ${Authentication}, + + [Parameter(Mandatory=$true)] + [pscredential] + ${PathAccount}, + + [switch] + ${DeployUserNamesEnabled}, + + [object] + ${DeploySecurityInformation}, + + [switch] + ${EventReceiversEnabled}, + + [switch] + ${CompressionEnabled}, + + [switch] + ${PathEnabled}, + + [object] + ${KeepTemporaryFilesOptions}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPEduClass { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [string] + ${ClassId}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [string] + ${ClassName}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [object] + ${Site}, + + [Parameter(ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [System.Nullable[datetime]] + ${StartDate}, + + [Parameter(ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [System.Nullable[datetime]] + ${EndDate}, + + [Parameter(ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [string] + ${Year}, + + [Parameter(ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [string] + ${DayOfWeek}, + + [Parameter(ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [string] + ${StartTime}, + + [Parameter(ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [string] + ${EndTime}, + + [Parameter(ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [string] + ${Building}, + + [Parameter(ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [string] + ${Room}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPEnterpriseSearchAdminComponent { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchTopology}, + + [Parameter(Mandatory=$true)] + [object] + ${SearchServiceInstance}, + + [object] + ${SearchApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPEnterpriseSearchAnalyticsProcessingComponent { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchTopology}, + + [Parameter(Mandatory=$true)] + [object] + ${SearchServiceInstance}, + + [object] + ${SearchApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPEnterpriseSearchContentEnrichmentConfiguration { + [CmdletBinding()] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPEnterpriseSearchContentProcessingComponent { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchTopology}, + + [Parameter(Mandatory=$true)] + [object] + ${SearchServiceInstance}, + + [object] + ${SearchApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPEnterpriseSearchCrawlComponent { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchTopology}, + + [Parameter(Mandatory=$true)] + [object] + ${SearchServiceInstance}, + + [object] + ${SearchApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPEnterpriseSearchCrawlContentSource { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0)] + [string] + ${Name}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [Parameter(Mandatory=$true)] + [Alias('t')] + [object] + ${Type}, + + [string] + ${Tag}, + + [Alias('s')] + [string] + ${StartAddresses}, + + [Alias('p')] + [object] + ${CrawlPriority}, + + [System.Nullable[int]] + ${MaxPageEnumerationDepth}, + + [System.Nullable[int]] + ${MaxSiteEnumerationDepth}, + + [object] + ${SharePointCrawlBehavior}, + + [object] + ${BDCApplicationProxyGroup}, + + [string[]] + ${LOBSystemSet}, + + [string] + ${CustomProtocol}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPEnterpriseSearchCrawlCustomConnector { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${SearchApplication}, + + [Parameter(Mandatory=$true)] + [string] + ${Protocol}, + + [string] + ${Name}, + + [Parameter(Mandatory=$true)] + [string] + ${ModelFilePath}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPEnterpriseSearchCrawlDatabase { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [Parameter(Mandatory=$true)] + [string] + ${DatabaseName}, + + [string] + ${DatabaseServer}, + + [string] + ${DatabaseUsername}, + + [securestring] + ${DatabasePassword}, + + [string] + ${FailoverDatabaseServer}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPEnterpriseSearchCrawlExtension { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Position=0)] + [string] + ${Name}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPEnterpriseSearchCrawlMapping { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0)] + [string] + ${Url}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [Parameter(Mandatory=$true)] + [Alias('t')] + [string] + ${Target}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPEnterpriseSearchCrawlRule { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0)] + [string] + ${Path}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [Parameter(Mandatory=$true)] + [Alias('t')] + [object] + ${Type}, + + [System.Nullable[bool]] + ${IsAdvancedRegularExpression}, + + [System.Nullable[bool]] + ${CrawlAsHttp}, + + [System.Nullable[bool]] + ${FollowComplexUrls}, + + [System.Nullable[int]] + ${PluggableSecurityTimmerId}, + + [System.Nullable[bool]] + ${SuppressIndexing}, + + [System.Nullable[int]] + ${Priority}, + + [string] + ${ContentClass}, + + [object] + ${AuthenticationType}, + + [string] + ${AccountName}, + + [securestring] + ${AccountPassword}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPEnterpriseSearchFileFormat { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [Parameter(Mandatory=$true, Position=0)] + [string] + ${FormatId}, + + [Parameter(Mandatory=$true, Position=1)] + [string] + ${FormatName}, + + [Parameter(Mandatory=$true, Position=2)] + [string] + ${MimeType}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPEnterpriseSearchIndexComponent { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchTopology}, + + [Parameter(Mandatory=$true)] + [object] + ${SearchServiceInstance}, + + [object] + ${SearchApplication}, + + [uint32] + ${IndexPartition}, + + [string] + ${RootDirectory}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPEnterpriseSearchLanguageResourcePhrase { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0)] + [string] + ${Name}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [Parameter(Mandatory=$true)] + [object] + ${Type}, + + [Parameter(Mandatory=$true)] + [string] + ${Language}, + + [string] + ${Mapping}, + + [Parameter(Mandatory=$true)] + [Alias('o')] + [object] + ${Owner}, + + [guid] + ${SourceId}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPEnterpriseSearchLinksDatabase { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [Parameter(Mandatory=$true)] + [string] + ${DatabaseName}, + + [string] + ${DatabaseServer}, + + [string] + ${DatabaseUsername}, + + [securestring] + ${DatabasePassword}, + + [string] + ${FailoverDatabaseServer}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPEnterpriseSearchMetadataCategory { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0)] + [string] + ${Name}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [Alias('p')] + [System.Nullable[guid]] + ${PropSet}, + + [Alias('d')] + [System.Nullable[bool]] + ${DiscoverNewProperties}, + + [Alias('m')] + [System.Nullable[bool]] + ${MapToContents}, + + [Alias('auto')] + [System.Nullable[bool]] + ${AutoCreateNewManagedProperties}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPEnterpriseSearchMetadataCrawledProperty { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true)] + [string] + ${Name}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [Parameter(Mandatory=$true)] + [Alias('c')] + [object] + ${Category}, + + [Parameter(Mandatory=$true)] + [Alias('ie')] + [bool] + ${IsNameEnum}, + + [Parameter(Mandatory=$true)] + [Alias('vt')] + [Obsolete()] + [int] + ${VariantType}, + + [Parameter(Mandatory=$true)] + [Alias('p')] + [guid] + ${PropSet}, + + [Alias('im')] + [System.Nullable[bool]] + ${IsMappedToContents}, + + [guid] + ${Tenant}, + + [guid] + ${SiteCollection}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPEnterpriseSearchMetadataManagedProperty { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0)] + [string] + ${Name}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [Parameter(Mandatory=$true)] + [Alias('t')] + [int] + ${Type}, + + [Alias('d')] + [string] + ${Description}, + + [Alias('f')] + [System.Nullable[bool]] + ${FullTextQueriable}, + + [Alias('r')] + [System.Nullable[bool]] + ${Retrievable}, + + [Alias('q')] + [System.Nullable[bool]] + ${Queryable}, + + [Alias('e')] + [System.Nullable[bool]] + ${EnabledForScoping}, + + [Alias('nn')] + [System.Nullable[bool]] + ${NameNormalized}, + + [Alias('rp')] + [System.Nullable[bool]] + ${RespectPriority}, + + [Alias('rd')] + [System.Nullable[bool]] + ${RemoveDuplicates}, + + [Alias('im5')] + [Obsolete('This property is replaced by IncludeInAlertSignature.')] + [System.Nullable[bool]] + ${IncludeInMd5}, + + [Alias('sfa')] + [System.Nullable[bool]] + ${SafeForAnonymous}, + + [Alias('ia')] + [System.Nullable[bool]] + ${IncludeInAlertSignature}, + + [Alias('nw')] + [System.Nullable[bool]] + ${NoWordBreaker}, + + [Alias('u')] + [System.Nullable[int16]] + ${UserFlags}, + + [Alias('qir')] + [System.Nullable[bool]] + ${EnabledForQueryIndependentRank}, + + [Alias('def')] + [System.Nullable[uint32]] + ${DefaultForQueryIndependentRank}, + + [guid] + ${Tenant}, + + [guid] + ${SiteCollection}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPEnterpriseSearchMetadataMapping { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [Parameter(Mandatory=$true)] + [object] + ${ManagedProperty}, + + [Parameter(Mandatory=$true)] + [object] + ${CrawledProperty}, + + [guid] + ${Tenant}, + + [guid] + ${SiteCollection}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPEnterpriseSearchQueryAuthority { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0)] + [string] + ${Url}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [Parameter(Mandatory=$true)] + [Alias('l')] + [float] + ${Level}, + + [Parameter(Mandatory=$true)] + [Alias('o')] + [object] + ${Owner}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPEnterpriseSearchQueryDemoted { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0)] + [string] + ${Url}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [Parameter(Mandatory=$true)] + [Alias('o')] + [object] + ${Owner}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPEnterpriseSearchQueryKeyword { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0)] + [string] + ${Term}, + + [Parameter(Mandatory=$true)] + [object] + ${Site}, + + [Alias('d')] + [string] + ${Definition}, + + [Alias('c')] + [string] + ${Contact}, + + [Alias('s')] + [System.Nullable[datetime]] + ${StartDate}, + + [Alias('e')] + [System.Nullable[datetime]] + ${EndDate}, + + [Alias('r')] + [System.Nullable[datetime]] + ${ReviewDate}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPEnterpriseSearchQueryProcessingComponent { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchTopology}, + + [Parameter(Mandatory=$true)] + [object] + ${SearchServiceInstance}, + + [object] + ${SearchApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPEnterpriseSearchQueryScope { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0)] + [string] + ${Name}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [Parameter(Mandatory=$true)] + [Alias('d')] + [string] + ${Description}, + + [Alias('o')] + [uri] + ${OwningSiteUrl}, + + [Alias('a')] + [string] + ${AlternateResultsPage}, + + [Parameter(Mandatory=$true)] + [Alias('disp')] + [System.Nullable[bool]] + ${DisplayInAdminUI}, + + [Alias('type')] + [System.Nullable[int]] + ${CompilationType}, + + [Alias('f')] + [string] + ${ExtendedSearchFilter}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPEnterpriseSearchQueryScopeRule { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [object] + ${SearchApplication}, + + [Parameter(Mandatory=$true)] + [Alias('u')] + [uri] + ${Url}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [Alias('s')] + [object] + ${Scope}, + + [Parameter(Mandatory=$true)] + [Alias('type')] + [string] + ${RuleType}, + + [Alias('f')] + [string] + ${FilterBehavior}, + + [Alias('ut')] + [string] + ${UrlScopeRuleType}, + + [Alias('text')] + [string] + ${MatchingString}, + + [Alias('value')] + [string] + ${PropertyValue}, + + [Alias('mname')] + [object] + ${ManagedProperty}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPEnterpriseSearchRankingModel { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [Parameter(Mandatory=$true)] + [string] + ${RankingModelXML}, + + [Parameter(Mandatory=$true)] + [Alias('o')] + [object] + ${Owner}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPEnterpriseSearchResultItemType { + [CmdletBinding(DefaultParameterSetName='New', SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${SearchApplicationProxy}, + + [Parameter(ParameterSetName='New', Mandatory=$true, Position=1)] + [Parameter(ParameterSetName='Copy', Position=1)] + [Alias('n')] + [string] + ${Name}, + + [Parameter(ParameterSetName='Copy', Position=2)] + [Parameter(ParameterSetName='New', Mandatory=$true, Position=2)] + [Alias('rule')] + [object] + ${Rules}, + + [Parameter(Position=3)] + [Alias('priority')] + [int] + ${RulePriority}, + + [Parameter(Position=4)] + [Alias('dp')] + [string] + ${DisplayProperties}, + + [Parameter(Position=5)] + [Alias('sid')] + [System.Nullable[guid]] + ${SourceID}, + + [Parameter(ParameterSetName='Copy', Position=6)] + [Parameter(ParameterSetName='New', Mandatory=$true, Position=6)] + [Alias('url')] + [string] + ${DisplayTemplateUrl}, + + [Parameter(Mandatory=$true)] + [Alias('o')] + [object] + ${Owner}, + + [Parameter(ParameterSetName='Copy', Mandatory=$true)] + [Alias('copy')] + [object] + ${ExistingResultItemType}, + + [Parameter(ParameterSetName='Copy', Mandatory=$true)] + [Alias('eo')] + [object] + ${ExistingResultItemTypeOwner}, + + [Alias('opt')] + [System.Nullable[bool]] + ${OptimizeForFrequentUse}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPEnterpriseSearchResultSource { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [Parameter(Mandatory=$true)] + [Alias('o')] + [object] + ${Owner}, + + [Parameter(Mandatory=$true)] + [string] + ${Name}, + + [string] + ${Description}, + + [string] + ${QueryTemplate}, + + [Parameter(Mandatory=$true)] + [guid] + ${ProviderId}, + + [string] + ${RemoteUrl}, + + [System.Nullable[bool]] + ${AutoDiscover}, + + [object] + ${AuthenticationType}, + + [string] + ${UserName}, + + [string] + ${Password}, + + [string] + ${SsoId}, + + [System.Nullable[bool]] + ${MakeDefault}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPEnterpriseSearchSecurityTrimmer { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0)] + [int] + ${Id}, + + [Parameter(Mandatory=$true)] + [string] + ${TypeName}, + + [string] + ${Properties}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [string] + ${RulePath}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPEnterpriseSearchServiceApplication { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Position=0)] + [string] + ${Name}, + + [string] + ${DatabaseServer}, + + [string] + ${DatabaseName}, + + [string] + ${DatabaseUsername}, + + [securestring] + ${DatabasePassword}, + + [string] + ${FailoverDatabaseServer}, + + [switch] + ${Partitioned}, + + [Parameter(Mandatory=$true)] + [object] + ${ApplicationPool}, + + [object] + ${AdminApplicationPool}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPEnterpriseSearchServiceApplicationProxy { + [CmdletBinding(DefaultParameterSetName='Uri', SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='SSA', Mandatory=$true)] + [object] + ${SearchApplication}, + + [Parameter(Position=0)] + [string] + ${Name}, + + [Parameter(ParameterSetName='Uri', Mandatory=$true)] + [string] + ${Uri}, + + [switch] + ${Partitioned}, + + [switch] + ${MergeWithDefaultPartition}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPEnterpriseSearchSiteHitRule { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0)] + [string] + ${Name}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${SearchService}, + + [Parameter(Mandatory=$true)] + [string] + ${HitRate}, + + [Parameter(Mandatory=$true)] + [string] + ${Behavior}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPEnterpriseSearchTopology { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [Parameter(ParameterSetName='Clone')] + [switch] + ${Clone}, + + [Parameter(ParameterSetName='Clone')] + [object] + ${SearchTopology}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPExcelBIServer { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true)] + [string] + ${ServerId}, + + [string] + ${Description}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [object] + ${ExcelServiceApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPExcelBlockedFileType { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true)] + [object] + ${FileType}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [object] + ${ExcelServiceApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPExcelDataConnectionLibrary { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true)] + [string] + ${Address}, + + [string] + ${Description}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [object] + ${ExcelServiceApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPExcelDataProvider { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true)] + [string] + ${ProviderId}, + + [Parameter(Mandatory=$true)] + [object] + ${ProviderType}, + + [string] + ${Description}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [object] + ${ExcelServiceApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPExcelFileLocation { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true)] + [string] + ${Address}, + + [object] + ${LocationType}, + + [switch] + ${IncludeChildren}, + + [int] + ${SessionTimeout}, + + [int] + ${ShortSessionTimeout}, + + [int] + ${NewWorkbookSessionTimeout}, + + [int] + ${RequestDurationMax}, + + [int] + ${ChartRenderDurationMax}, + + [int] + ${WorkbookSizeMax}, + + [int] + ${ChartAndImageSizeMax}, + + [int] + ${AutomaticVolatileFunctionCacheLifetime}, + + [object] + ${DefaultWorkbookCalcMode}, + + [object] + ${ExternalDataAllowed}, + + [switch] + ${WarnOnDataRefresh}, + + [switch] + ${DisplayGranularExtDataErrors}, + + [switch] + ${AbortOnRefreshOnOpenFail}, + + [int] + ${PeriodicExtDataCacheLifetime}, + + [int] + ${ManualExtDataCacheLifetime}, + + [int] + ${ConcurrentDataRequestsPerSessionMax}, + + [switch] + ${UdfsAllowed}, + + [string] + ${Description}, + + [switch] + ${RESTExternalDataAllowed}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [object] + ${ExcelServiceApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPExcelServiceApplication { + [CmdletBinding(DefaultParameterSetName='ExistingTargetApplicationParameterSet', SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [int] + ${ExternalDataConnectionLifetime}, + + [Parameter(ParameterSetName='ExistingTargetApplicationParameterSet')] + [string] + ${UnattendedAccountApplicationId}, + + [object] + ${LoadBalancingScheme}, + + [int] + ${SessionsPerUserMax}, + + [int] + ${PrivateBytesMax}, + + [int] + ${MemoryCacheThreshold}, + + [int] + ${UnusedObjectAgeMax}, + + [int] + ${ThrottleAccessViolationsPerSiteCollection}, + + [int] + ${SiteCollectionAnonymousSessionsMax}, + + [string] + ${WorkbookCache}, + + [int] + ${WorkbookCacheSizeMax}, + + [switch] + ${CachingOfUnusedFilesEnable}, + + [object] + ${FileAccessMethod}, + + [object] + ${EncryptedUserConnectionRequired}, + + [switch] + ${CrossDomainAccessAllowed}, + + [switch] + ${TerminateProcessOnAccessViolation}, + + [switch] + ${UseEffectiveUserName}, + + [string] + ${WorkbookModelUsageTracker}, + + [string] + ${Name}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${ApplicationPool}, + + [switch] + ${Default}, + + [Parameter(ParameterSetName='NewTargetApplicationParameterSet')] + [pscredential] + ${UnattendedServiceAccount}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPExcelUserDefinedFunction { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true)] + [string] + ${Assembly}, + + [object] + ${AssemblyLocation}, + + [switch] + ${Enable}, + + [string] + ${Description}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [object] + ${ExcelServiceApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPLogFile { + [CmdletBinding()] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPManagedAccount { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [pscredential] + ${Credential}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPManagedPath { + [CmdletBinding(DefaultParameterSetName='WebApplication', SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [string] + ${RelativeURL}, + + [Parameter(ParameterSetName='WebApplication', Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${WebApplication}, + + [Parameter(ParameterSetName='HostHeader', Mandatory=$true)] + [switch] + ${HostHeader}, + + [switch] + ${Explicit}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPMarketplaceWebServiceApplicationProxy { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${Name}, + + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${ServiceEndpointUri}, + + [ValidateNotNull()] + [switch] + ${DefaultProxyGroup}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPMetadataServiceApplication { + [CmdletBinding(DefaultParameterSetName='Default', SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [string] + ${AdministratorAccount}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${ApplicationPool}, + + [string] + ${DatabaseName}, + + [string] + ${DatabaseServer}, + + [pscredential] + ${DatabaseCredentials}, + + [string] + ${FailoverDatabaseServer}, + + [string] + ${FullAccessAccount}, + + [string] + ${HubUri}, + + [Parameter(ParameterSetName='Default', Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [Parameter(ParameterSetName='NoQuota', Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [Parameter(ParameterSetName='Quota', Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [string] + ${Name}, + + [switch] + ${PartitionMode}, + + [string] + ${ReadAccessAccount}, + + [string] + ${RestrictedAccount}, + + [switch] + ${SyndicationErrorReportEnabled}, + + [int] + ${CacheTimeCheckInterval}, + + [int] + ${MaxChannelCache}, + + [Parameter(ParameterSetName='NoQuota', Mandatory=$true)] + [switch] + ${DisablePartitionQuota}, + + [Parameter(ParameterSetName='Quota', Mandatory=$true)] + [ValidateRange(0, 2147483647)] + [int] + ${GroupsPerPartition}, + + [Parameter(ParameterSetName='Quota', Mandatory=$true)] + [ValidateRange(0, 2147483647)] + [int] + ${TermSetsPerPartition}, + + [Parameter(ParameterSetName='Quota', Mandatory=$true)] + [ValidateRange(0, 2147483647)] + [int] + ${TermsPerPartition}, + + [Parameter(ParameterSetName='Quota', Mandatory=$true)] + [ValidateRange(0, 2147483647)] + [int] + ${LabelsPerPartition}, + + [Parameter(ParameterSetName='Quota', Mandatory=$true)] + [ValidateRange(0, 2147483647)] + [int] + ${PropertiesPerPartition}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPMetadataServiceApplicationProxy { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [switch] + ${ContentTypePushdownEnabled}, + + [switch] + ${ContentTypeSyndicationEnabled}, + + [switch] + ${DefaultProxyGroup}, + + [switch] + ${DefaultKeywordTaxonomy}, + + [switch] + ${DefaultSiteCollectionTaxonomy}, + + [Parameter(Mandatory=$true)] + [string] + ${Name}, + + [switch] + ${PartitionMode}, + + [object] + ${ServiceApplication}, + + [string] + ${Uri}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPODataConnectionSetting { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [object] + ${ServiceContext}, + + [Parameter(Mandatory=$true)] + [ValidateLength(0, 246)] + [ValidateNotNull()] + [string] + ${Name}, + + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [uri] + ${ServiceAddressURL}, + + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [object] + ${AuthenticationMode}, + + [ValidateNotNull()] + [ValidateLength(0, 1024)] + [string] + ${SecureStoreTargetApplicationId}, + + [string] + ${ExtensionProvider}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPOnlineApplicationPrincipalManagementServiceApplicationProxy { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${Name}, + + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${OnlineTenantUri}, + + [ValidateNotNull()] + [switch] + ${DefaultProxyGroup}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPPerformancePointServiceApplication { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateLength(0, 64)] + [string] + ${Name}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [object] + ${ApplicationPool}, + + [bool] + ${CommentsDisabled}, + + [int] + ${CommentsScorecardMax}, + + [int] + ${IndicatorImageCacheSeconds}, + + [int] + ${DataSourceQueryTimeoutSeconds}, + + [int] + ${FilterRememberUserSelectionsDays}, + + [int] + ${FilterTreeMembersMax}, + + [int] + ${FilterSearchResultsMax}, + + [int] + ${ShowDetailsInitialRows}, + + [bool] + ${ShowDetailsMaxRowsDisabled}, + + [int] + ${ShowDetailsMaxRows}, + + [bool] + ${MSMQEnabled}, + + [string] + ${MSMQName}, + + [int] + ${SessionHistoryHours}, + + [bool] + ${AnalyticQueryLoggingEnabled}, + + [bool] + ${TrustedDataSourceLocationsRestricted}, + + [bool] + ${TrustedContentLocationsRestricted}, + + [int] + ${SelectMeasureMaximum}, + + [int] + ${DecompositionTreeMaximum}, + + [bool] + ${ApplicationProxyCacheEnabled}, + + [bool] + ${ApplicationCacheEnabled}, + + [int] + ${ApplicationCacheMinimumHitCount}, + + [int] + ${AnalyticResultCacheMinimumHitCount}, + + [int] + ${ElementCacheSeconds}, + + [int] + ${AnalyticQueryCellMax}, + + [string] + ${DatabaseServer}, + + [string] + ${DatabaseName}, + + [string] + ${DatabaseFailoverServer}, + + [pscredential] + ${DatabaseSQLAuthenticationCredential}, + + [bool] + ${UseEffectiveUserName}, + + [string] + ${DataSourceUnattendedServiceAccountTargetApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPPerformancePointServiceApplicationProxy { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [ValidateLength(0, 64)] + [string] + ${Name}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${ServiceApplication}, + + [switch] + ${Default}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPPerformancePointServiceApplicationTrustedLocation { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true)] + [ValidateLength(0, 1024)] + [string] + ${Url}, + + [Parameter(Mandatory=$true)] + [object] + ${Type}, + + [Parameter(Mandatory=$true)] + [object] + ${TrustedLocationType}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${ServiceApplication}, + + [string] + ${Description}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPPowerPointConversionServiceApplication { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0)] + [ValidateLength(1, 128)] + [string] + ${Name}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${ApplicationPool}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPPowerPointConversionServiceApplicationProxy { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0)] + [ValidateLength(1, 128)] + [string] + ${Name}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${ServiceApplication}, + + [switch] + ${AddToDefaultGroup}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPProfileServiceApplication { + [CmdletBinding(DefaultParameterSetName='Default', SupportsShouldProcess=$true, ConfirmImpact='Low')] +param( + [string] + ${Name}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${ApplicationPool}, + + [string] + ${ProfileDBName}, + + [string] + ${ProfileDBServer}, + + [pscredential] + ${ProfileDBCredentials}, + + [string] + ${ProfileDBFailoverServer}, + + [string] + ${SocialDBName}, + + [string] + ${SocialDBServer}, + + [pscredential] + ${SocialDBCredentials}, + + [string] + ${SocialDBFailoverServer}, + + [string] + ${ProfileSyncDBName}, + + [string] + ${ProfileSyncDBServer}, + + [pscredential] + ${ProfileSyncDBCredentials}, + + [string] + ${ProfileSyncDBFailoverServer}, + + [switch] + ${PartitionMode}, + + [Parameter(ParameterSetName='MySiteSettings', Mandatory=$true, ValueFromPipeline=$true)] + [Parameter(ValueFromPipeline=$true)] + [object] + ${MySiteHostLocation}, + + [Parameter(ParameterSetName='MySiteSettings', ValueFromPipeline=$true)] + [object] + ${MySiteManagedPath}, + + [Parameter(ParameterSetName='MySiteSettings')] + [ValidateSet('None','Resolve','Block')] + [string] + ${SiteNamingConflictResolution}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPProfileServiceApplicationProxy { + [CmdletBinding(DefaultParameterSetName='Uri', SupportsShouldProcess=$true, ConfirmImpact='Low')] +param( + [string] + ${Name}, + + [Parameter(ParameterSetName='Application', Mandatory=$true)] + [ValidateNotNull()] + [object] + ${ServiceApplication}, + + [Parameter(ParameterSetName='Uri', Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [uri] + ${Uri}, + + [switch] + ${DefaultProxyGroup}, + + [switch] + ${PartitionMode}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPRequestManagementRuleCriteria { + [CmdletBinding()] +param( + [Parameter(ParameterSetName='StandardParameterSet', Mandatory=$true, Position=0)] + [Parameter(ParameterSetName='CustomPropertyParameterSet', Mandatory=$true, Position=0)] + [string] + ${Value}, + + [Parameter(ParameterSetName='CustomPropertyParameterSet', Mandatory=$true, Position=1)] + [string] + ${CustomHeader}, + + [Parameter(ParameterSetName='StandardParameterSet', Mandatory=$true, Position=1)] + [ValidateNotNull()] + [object] + ${Property}, + + [Parameter(ParameterSetName='StandardParameterSet', Position=2)] + [Parameter(ParameterSetName='CustomPropertyParameterSet', Position=2)] + [ValidateNotNull()] + [object] + ${MatchType}, + + [Parameter(ParameterSetName='CustomPropertyParameterSet', Position=2)] + [Parameter(ParameterSetName='StandardParameterSet', Position=2)] + [System.Nullable[switch]] + ${CaseSensitive}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPSecureStoreApplication { + [CmdletBinding()] +param( + [object] + ${Administrator}, + + [object] + ${CredentialsOwnerGroup}, + + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [object] + ${Fields}, + + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [object] + ${ServiceContext}, + + [Parameter(Mandatory=$true)] + [object] + ${TargetApplication}, + + [object] + ${TicketRedeemer}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPSecureStoreApplicationField { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true)] + [switch] + ${Masked}, + + [Parameter(Mandatory=$true)] + [string] + ${Name}, + + [Parameter(Mandatory=$true)] + [object] + ${Type}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPSecureStoreServiceApplication { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true)] + [object] + ${ApplicationPool}, + + [Parameter(Mandatory=$true)] + [switch] + ${AuditingEnabled}, + + [System.Nullable[int]] + ${AuditlogMaxSize}, + + [pscredential] + ${DatabaseCredentials}, + + [string] + ${DatabaseName}, + + [securestring] + ${DatabasePassword}, + + [ValidateNotNullOrEmpty()] + [string] + ${DatabaseServer}, + + [string] + ${DatabaseUsername}, + + [string] + ${FailoverDatabaseServer}, + + [string] + ${Name}, + + [switch] + ${PartitionMode}, + + [switch] + ${Sharing}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPSecureStoreServiceApplicationProxy { + [CmdletBinding(DefaultParameterSetName='Uri', SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [switch] + ${DefaultProxyGroup}, + + [string] + ${Name}, + + [Parameter(ParameterSetName='PipeBind', Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${ServiceApplication}, + + [Parameter(ParameterSetName='Uri', Mandatory=$true)] + [ValidateNotNull()] + [uri] + ${Uri}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPSecureStoreTargetApplication { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true)] + [object] + ${ApplicationType}, + + [string] + ${ContactEmail}, + + [Parameter(Mandatory=$true)] + [string] + ${FriendlyName}, + + [Parameter(Mandatory=$true)] + [string] + ${Name}, + + [ValidateNotNull()] + [uri] + ${SetCredentialsUri}, + + [int] + ${TimeoutInMinutes}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPServiceApplicationPool { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0)] + [ValidateNotNullOrEmpty()] + [ValidateLength(1, 100)] + [string] + ${Name}, + + [Parameter(Mandatory=$true, Position=1)] + [object] + ${Account}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPServiceApplicationProxyGroup { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0)] + [ValidateLength(0, 100)] + [AllowEmptyString()] + [ValidateNotNull()] + [string] + ${Name}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPSite { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [string] + ${Url}, + + [uint32] + ${Language}, + + [object] + ${Template}, + + [string] + ${Name}, + + [string] + ${Description}, + + [object] + ${QuotaTemplate}, + + [string] + ${OwnerEmail}, + + [Parameter(Mandatory=$true)] + [object] + ${OwnerAlias}, + + [string] + ${SecondaryEmail}, + + [object] + ${SecondaryOwnerAlias}, + + [object] + ${HostHeaderWebApplication}, + + [object] + ${ContentDatabase}, + + [object] + ${SiteSubscription}, + + [object] + ${AdministrationSiteType}, + + [int] + ${CompatibilityLevel}, + + [switch] + ${OverrideCompatibilityRestriction}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPSiteSubscription { + [CmdletBinding()] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPSiteSubscriptionFeaturePack { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPStateServiceApplication { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [string] + ${Name}, + + [Parameter(ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [object] + ${Database}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPStateServiceApplicationProxy { + [CmdletBinding()] +param( + [string] + ${Name}, + + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [object] + ${ServiceApplication}, + + [switch] + ${DefaultProxyGroup}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPStateServiceDatabase { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0)] + [string] + ${Name}, + + [string] + ${DatabaseServer}, + + [pscredential] + ${DatabaseCredentials}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${ServiceApplication}, + + [ValidateRange(0, 10)] + [System.Nullable[int]] + ${Weight}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPSubscriptionSettingsServiceApplication { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [string] + ${Name}, + + [ValidateNotNullOrEmpty()] + [string] + ${DatabaseServer}, + + [ValidateNotNullOrEmpty()] + [string] + ${DatabaseName}, + + [ValidateNotNullOrEmpty()] + [string] + ${FailoverDatabaseServer}, + + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [object] + ${ApplicationPool}, + + [ValidateNotNull()] + [pscredential] + ${DatabaseCredentials}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPSubscriptionSettingsServiceApplicationProxy { + [CmdletBinding(DefaultParameterSetName='Uri', SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Uri', Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${Uri}, + + [Parameter(ParameterSetName='ServiceApplication', Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${ServiceApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPTranslationServiceApplication { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Low')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [string] + ${Name}, + + [string] + ${DatabaseName}, + + [string] + ${DatabaseServer}, + + [pscredential] + ${DatabaseCredential}, + + [string] + ${FailoverDatabaseServer}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${ApplicationPool}, + + [switch] + ${PartitionMode}, + + [switch] + ${Default}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPTranslationServiceApplicationProxy { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Low')] +param( + [switch] + ${DefaultProxyGroup}, + + [Parameter(Mandatory=$true)] + [string] + ${Name}, + + [switch] + ${PartitionMode}, + + [Parameter(ParameterSetName='ConnectLocal', Mandatory=$true)] + [object] + ${ServiceApplication}, + + [Parameter(ParameterSetName='ConnectRemote', Mandatory=$true)] + [string] + ${Uri}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPTrustedIdentityTokenIssuer { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(ParameterSetName='MetadataEndPointParameterSet', Mandatory=$true)] + [Parameter(ParameterSetName='BasicParameterSet', Mandatory=$true)] + [Parameter(ParameterSetName='ActiveDirectoryBackedParameterSet', Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${Name}, + + [Parameter(ParameterSetName='BasicParameterSet', Mandatory=$true)] + [Parameter(ParameterSetName='MetadataEndPointParameterSet', Mandatory=$true)] + [Parameter(ParameterSetName='ActiveDirectoryBackedParameterSet', Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${Description}, + + [Parameter(ParameterSetName='ActiveDirectoryBackedParameterSet')] + [Parameter(ParameterSetName='BasicParameterSet')] + [ValidateNotNull()] + [System.Security.Cryptography.X509Certificates.X509Certificate2] + ${ImportTrustCertificate}, + + [Parameter(ParameterSetName='MetadataEndPointParameterSet', Mandatory=$true)] + [ValidateNotNull()] + [uri] + ${MetadataEndPoint}, + + [Parameter(ParameterSetName='BasicParameterSet', Mandatory=$true)] + [Parameter(ParameterSetName='MetadataEndPointParameterSet', Mandatory=$true)] + [ValidateNotNull()] + [object] + ${ClaimsMappings}, + + [Parameter(ParameterSetName='BasicParameterSet', Mandatory=$true)] + [Parameter(ParameterSetName='MetadataEndPointParameterSet', Mandatory=$true)] + [Parameter(ParameterSetName='ActiveDirectoryBackedParameterSet', Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${SignInUrl}, + + [Parameter(ParameterSetName='BasicParameterSet', Mandatory=$true)] + [Parameter(ParameterSetName='MetadataEndPointParameterSet', Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${IdentifierClaim}, + + [Parameter(ParameterSetName='MetadataEndPointParameterSet')] + [Parameter(ParameterSetName='BasicParameterSet')] + [object] + ${ClaimProvider}, + + [Parameter(ParameterSetName='MetadataEndPointParameterSet', Mandatory=$true)] + [Parameter(ParameterSetName='BasicParameterSet', Mandatory=$true)] + [Parameter(ParameterSetName='ActiveDirectoryBackedParameterSet', Mandatory=$true)] + [ValidateNotNull()] + [string] + ${Realm}, + + [Parameter(ParameterSetName='BasicParameterSet')] + [Parameter(ParameterSetName='ActiveDirectoryBackedParameterSet')] + [Parameter(ParameterSetName='MetadataEndPointParameterSet')] + [switch] + ${UseWReply}, + + [Parameter(ParameterSetName='ActiveDirectoryBackedParameterSet', Mandatory=$true)] + [switch] + ${UseDefaultConfiguration}, + + [Parameter(ParameterSetName='ActiveDirectoryBackedParameterSet')] + [ValidateSet('EMAIL','USER-PRINCIPAL-NAME','ACCOUNT-NAME')] + [string] + ${IdentifierClaimIs}, + + [Parameter(ParameterSetName='BasicParameterSet')] + [Parameter(ParameterSetName='ActiveDirectoryBackedParameterSet')] + [Parameter(ParameterSetName='MetadataEndPointParameterSet')] + [ValidateNotNullOrEmpty()] + [string] + ${SignOutUrl}, + + [Parameter(ParameterSetName='BasicParameterSet')] + [Parameter(ParameterSetName='ActiveDirectoryBackedParameterSet')] + [ValidateNotNullOrEmpty()] + [string] + ${RegisteredIssuerName}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPTrustedRootAuthority { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0)] + [ValidateNotNullOrEmpty()] + [string] + ${Name}, + + [Parameter(ParameterSetName='ManualUpdateCertificateParameterSet', Mandatory=$true)] + [ValidateNotNull()] + [System.Security.Cryptography.X509Certificates.X509Certificate2] + ${Certificate}, + + [Parameter(ParameterSetName='MetadataEndPointParameterSet', Mandatory=$true)] + [ValidateNotNull()] + [uri] + ${MetadataEndPoint}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPTrustedSecurityTokenIssuer { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0)] + [ValidateNotNullOrEmpty()] + [string] + ${Name}, + + [ValidateNotNullOrEmpty()] + [string] + ${Description}, + + [ValidateNotNullOrEmpty()] + [string] + ${RegisteredIssuerName}, + + [ValidateNotNullOrEmpty()] + [switch] + ${IsTrustBroker}, + + [Parameter(ParameterSetName='ImportCertificateParameterSet', Mandatory=$true)] + [ValidateNotNull()] + [System.Security.Cryptography.X509Certificates.X509Certificate2] + ${Certificate}, + + [Parameter(ParameterSetName='MetadataEndPointParameterSet', Mandatory=$true)] + [ValidateNotNull()] + [uri] + ${MetadataEndPoint}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPTrustedServiceTokenIssuer { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0)] + [ValidateNotNullOrEmpty()] + [string] + ${Name}, + + [ValidateNotNullOrEmpty()] + [string] + ${Description}, + + [Parameter(ParameterSetName='ImportCertificateParameterSet', Mandatory=$true)] + [ValidateNotNull()] + [System.Security.Cryptography.X509Certificates.X509Certificate2] + ${Certificate}, + + [Parameter(ParameterSetName='MetadataEndPointParameterSet', Mandatory=$true)] + [ValidateNotNull()] + [uri] + ${MetadataEndPoint}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPUsageApplication { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Position=0)] + [string] + ${Name}, + + [ValidateNotNullOrEmpty()] + [ValidateLength(1, 135)] + [string] + ${DatabaseServer}, + + [ValidateNotNullOrEmpty()] + [ValidateLength(1, 135)] + [string] + ${FailoverDatabaseServer}, + + [ValidateNotNullOrEmpty()] + [ValidateLength(1, 128)] + [string] + ${DatabaseName}, + + [Parameter(ParameterSetName='SQLAuthentication')] + [ValidateLength(1, 128)] + [ValidateNotNullOrEmpty()] + [string] + ${DatabaseUsername}, + + [Parameter(ParameterSetName='SQLAuthentication')] + [ValidateNotNull()] + [securestring] + ${DatabasePassword}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${UsageService}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPUsageLogFile { + [CmdletBinding()] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPUser { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0)] + [ValidateNotNullOrEmpty()] + [string] + ${UserAlias}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Web}, + + [string] + ${Email}, + + [object] + ${Group}, + + [string[]] + ${PermissionLevel}, + + [string] + ${DisplayName}, + + [switch] + ${SiteCollectionAdmin}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPUserLicenseMapping { + [CmdletBinding(DefaultParameterSetName='WindowsAuth', SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='WindowsAuth', Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${SecurityGroup}, + + [Parameter(ParameterSetName='FormsAuth', Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${Role}, + + [Parameter(ParameterSetName='FormsAuth', Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${RoleProviderName}, + + [Parameter(ParameterSetName='ClaimsValues', Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${OriginalIssuer}, + + [Parameter(ParameterSetName='ClaimsValues', Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${Value}, + + [Parameter(ParameterSetName='ClaimsValues', Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${ClaimType}, + + [Parameter(ParameterSetName='ClaimsValues')] + [ValidateNotNullOrEmpty()] + [string] + ${ValueType}, + + [Parameter(ParameterSetName='TrustIdentity', Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Claim}, + + [Parameter(Mandatory=$true, ValueFromPipelineByPropertyName=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${License}, + + [ValidateNotNull()] + [object] + ${WebApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPUserSettingsProvider { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true)] + [string] + ${DisplayName}, + + [Parameter(Mandatory=$true)] + [string] + ${AssemblyName}, + + [Parameter(Mandatory=$true)] + [string] + ${Type}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPVisioSafeDataProvider { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [ValidateNotNullOrEmpty()] + [object] + ${VisioServiceApplication}, + + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${DataProviderId}, + + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [int] + ${DataProviderType}, + + [string] + ${Description}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPVisioServiceApplication { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [switch] + ${AddToDefaultGroup}, + + [Parameter(ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [string] + ${Name}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [ValidateNotNullOrEmpty()] + [object] + ${ApplicationPool}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPVisioServiceApplicationProxy { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(ValueFromPipeline=$true)] + [string] + ${Name}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${ServiceApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPWeb { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [string] + ${Url}, + + [uint32] + ${Language}, + + [object] + ${Template}, + + [string] + ${Name}, + + [string] + ${Description}, + + [switch] + ${AddToQuickLaunch}, + + [switch] + ${UniquePermissions}, + + [switch] + ${AddToTopNav}, + + [switch] + ${UseParentTopNav}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPWebApplication { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [string] + ${Name}, + + [Parameter(Mandatory=$true)] + [string] + ${ApplicationPool}, + + [object] + ${ApplicationPoolAccount}, + + [Alias('ProxyGroup')] + [object] + ${ServiceApplicationProxyGroup}, + + [switch] + ${SecureSocketsLayer}, + + [string] + ${HostHeader}, + + [uint32] + ${Port}, + + [switch] + ${AllowAnonymousAccess}, + + [string] + ${Path}, + + [string] + ${Url}, + + [ValidateSet('Kerberos','NTLM')] + [string] + ${AuthenticationMethod}, + + [object] + ${AuthenticationProvider}, + + [object] + ${AdditionalClaimProvider}, + + [string] + ${SignInRedirectURL}, + + [object] + ${SignInRedirectProvider}, + + [object] + ${UserSettingsProvider}, + + [pscredential] + ${DatabaseCredentials}, + + [string] + ${DatabaseServer}, + + [string] + ${DatabaseName}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPWebApplicationAppDomain { + [CmdletBinding(DefaultParameterSetName='WebApplication', SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [string] + ${AppDomain}, + + [object] + ${Zone}, + + [int] + ${Port}, + + [switch] + ${SecureSocketsLayer}, + + [Parameter(Mandatory=$true)] + [object] + ${WebApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPWebApplicationExtension { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(Mandatory=$true)] + [string] + ${Name}, + + [Parameter(Mandatory=$true)] + [object] + ${Zone}, + + [uint32] + ${Port}, + + [string] + ${HostHeader}, + + [string] + ${Path}, + + [string] + ${Url}, + + [ValidateSet('Kerberos','NTLM')] + [string] + ${AuthenticationMethod}, + + [switch] + ${AllowAnonymousAccess}, + + [switch] + ${SecureSocketsLayer}, + + [object] + ${AuthenticationProvider}, + + [object] + ${AdditionalClaimProvider}, + + [string] + ${SignInRedirectURL}, + + [object] + ${SignInRedirectProvider}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPWOPIBinding { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [ValidateNotNullOrEmpty()] + [string] + ${FileName}, + + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${ServerName}, + + [ValidateNotNullOrEmpty()] + [string] + ${Action}, + + [ValidateNotNullOrEmpty()] + [string] + ${Extension}, + + [ValidateNotNullOrEmpty()] + [string] + ${ProgId}, + + [ValidateNotNullOrEmpty()] + [string] + ${Application}, + + [switch] + ${AllowHTTP}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPWOPISuppressionSetting { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [ValidateNotNullOrEmpty()] + [string] + ${Extension}, + + [ValidateNotNullOrEmpty()] + [string] + ${ProgId}, + + [ValidateNotNullOrEmpty()] + [string] + ${Action}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPWordConversionServiceApplication { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Low')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [string] + ${Name}, + + [string] + ${DatabaseName}, + + [string] + ${DatabaseServer}, + + [pscredential] + ${DatabaseCredential}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${ApplicationPool}, + + [switch] + ${PartitionMode}, + + [switch] + ${Default}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPWorkflowServiceApplicationProxy { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [switch] + ${PartitionMode}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPWorkManagementServiceApplication { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [string] + ${Name}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${ApplicationPool}, + + [switch] + ${Proxy}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPWorkManagementServiceApplicationProxy { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [switch] + ${DefaultProxyGroup}, + + [Parameter(Mandatory=$true)] + [string] + ${Name}, + + [object] + ${ServiceApplication}, + + [string] + ${Uri}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Publish-SPServiceApplication { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [ValidateLength(0, 250)] + [AllowEmptyString()] + [string] + ${Description}, + + [ValidateNotNullOrEmpty()] + [uri] + ${InfoLink}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Receive-SPServiceApplicationConnectionInfo { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0)] + [ValidateNotNullOrEmpty()] + [uri] + ${FarmUrl}, + + [ValidateNotNullOrEmpty()] + [string] + ${Filter}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Register-SPAppPrincipal { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [object] + ${Site}, + + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${NameIdentifier}, + + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${DisplayName}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Register-SPWorkflowService { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true)] + [object] + ${SPSite}, + + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${WorkflowHostUri}, + + [string] + ${ScopeName}, + + [switch] + ${PartitionMode}, + + [switch] + ${AllowOAuthHttp}, + + [switch] + ${Force}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-DatabaseFromAvailabilityGroup { + [CmdletBinding(DefaultParameterSetName='Default')] +param( + [Parameter(Mandatory=$true, Position=0)] + [string] + ${AGName}, + + [Parameter(ParameterSetName='Default', Mandatory=$true)] + [string] + ${DatabaseName}, + + [Parameter(ParameterSetName='AllDatabases', Mandatory=$true)] + [switch] + ${ProcessAllDatabases}, + + [switch] + ${Force}, + + [switch] + ${KeepSecondaryData}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPAccessServicesDatabaseServer { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [object] + ${DatabaseServer}, + + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [object] + ${DatabaseServerGroup}, + + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${ServiceContext}, + + [switch] + ${Force}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPActivityFeedItems { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${ProfileServiceApplicationProxy}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${SiteSubscription}, + + [bool] + ${AllItems}, + + [long] + ${ID}, + + [string] + ${SearchText}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPAlternateURL { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPAppDeniedEndpoint { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0)] + [ValidateNotNullOrEmpty()] + [string] + ${Endpoint}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPAppPrincipalPermission { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [object] + ${Site}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${AppPrincipal}, + + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [object] + ${Scope}, + + [switch] + ${DisableAppOnlyPolicy}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPBusinessDataCatalogModel { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPClaimProvider { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPClaimTypeMapping { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, Position=1, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${TrustedIdentityTokenIssuer}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPConfigurationDatabase { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPContentDatabase { + [CmdletBinding(DefaultParameterSetName='DefaultSet', SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [switch] + ${Force}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPContentDeploymentJob { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPContentDeploymentPath { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPDeletedSite { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNullOrEmpty()] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${WebApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${ContentDatabase}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPDiagnosticsPerformanceCounter { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=1, ValueFromPipelineByPropertyName=$true)] + [string] + ${Category}, + + [Parameter(ValueFromPipelineByPropertyName=$true)] + [string] + ${Counter}, + + [Parameter(ValueFromPipelineByPropertyName=$true)] + [string] + ${Instance}, + + [Parameter(ValueFromPipelineByPropertyName=$true)] + [switch] + ${WebFrontEnd}, + + [Parameter(ValueFromPipeline=$true)] + [switch] + ${DatabaseServer}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPDistributedCacheServiceInstance { + [CmdletBinding()] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPEduClassMember { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [string] + ${UserAlias}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [string] + ${ClassId}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [object] + ${Site}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPEnterpriseSearchComponent { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [object] + ${SearchApplication}, + + [Parameter(Mandatory=$true)] + [object] + ${SearchTopology}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPEnterpriseSearchContentEnrichmentConfiguration { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPEnterpriseSearchCrawlContentSource { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [object] + ${SearchApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPEnterpriseSearchCrawlCustomConnector { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(Mandatory=$true)] + [object] + ${SearchApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPEnterpriseSearchCrawlDatabase { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [object] + ${SearchApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPEnterpriseSearchCrawlExtension { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [object] + ${SearchApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPEnterpriseSearchCrawlLogReadPermission { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${SearchApplication}, + + [guid] + ${Tenant}, + + [string] + ${UserNames}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPEnterpriseSearchCrawlMapping { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [object] + ${SearchApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPEnterpriseSearchCrawlRule { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [object] + ${SearchApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPEnterpriseSearchFileFormat { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPEnterpriseSearchLanguageResourcePhrase { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [object] + ${SearchApplication}, + + [object] + ${Type}, + + [string] + ${Language}, + + [string] + ${Mapping}, + + [Parameter(Mandatory=$true)] + [Alias('o')] + [object] + ${Owner}, + + [guid] + ${SourceId}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPEnterpriseSearchLinksDatabase { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [object] + ${SearchApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPEnterpriseSearchMetadataCategory { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [object] + ${SearchApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPEnterpriseSearchMetadataManagedProperty { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [object] + ${SearchApplication}, + + [guid] + ${Tenant}, + + [guid] + ${SiteCollection}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPEnterpriseSearchMetadataMapping { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [object] + ${SearchApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPEnterpriseSearchQueryAuthority { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [object] + ${SearchApplication}, + + [Parameter(Mandatory=$true)] + [Alias('o')] + [object] + ${Owner}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPEnterpriseSearchQueryDemoted { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [object] + ${SearchApplication}, + + [Parameter(Mandatory=$true)] + [Alias('o')] + [object] + ${Owner}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPEnterpriseSearchQueryKeyword { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(Mandatory=$true)] + [object] + ${Site}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPEnterpriseSearchQueryScope { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [object] + ${SearchApplication}, + + [Alias('u')] + [uri] + ${Url}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPEnterpriseSearchQueryScopeRule { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [object] + ${SearchApplication}, + + [Parameter(Mandatory=$true)] + [Alias('u')] + [uri] + ${Url}, + + [Alias('n')] + [object] + ${Scope}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPEnterpriseSearchRankingModel { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [object] + ${SearchApplication}, + + [Parameter(Mandatory=$true)] + [Alias('o')] + [object] + ${Owner}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPEnterpriseSearchResultItemType { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [object] + ${SearchApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${SearchApplicationProxy}, + + [Parameter(Mandatory=$true)] + [Alias('o')] + [object] + ${Owner}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPEnterpriseSearchResultSource { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(Mandatory=$true)] + [object] + ${SearchApplication}, + + [Parameter(Mandatory=$true)] + [Alias('o')] + [object] + ${Owner}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPEnterpriseSearchSecurityTrimmer { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPEnterpriseSearchServiceApplication { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [switch] + ${RemoveData}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPEnterpriseSearchServiceApplicationProxy { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPEnterpriseSearchServiceApplicationSiteSettings { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [guid] + ${TenantId}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPEnterpriseSearchSiteHitRule { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [object] + ${SearchService}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPEnterpriseSearchTenantConfiguration { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [Alias('Identity')] + [guid] + ${SiteSubscriptionId}, + + [Parameter(Mandatory=$true)] + [object] + ${SearchApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPEnterpriseSearchTenantSchema { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [object] + ${SearchApplication}, + + [guid] + ${SiteCollection}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPEnterpriseSearchTopology { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [object] + ${SearchApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPExcelBIServer { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [object] + ${ExcelServiceApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPExcelBlockedFileType { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [object] + ${ExcelServiceApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPExcelDataConnectionLibrary { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [object] + ${ExcelServiceApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPExcelDataProvider { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPExcelFileLocation { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [object] + ${ExcelServiceApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPExcelUserDefinedFunction { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [object] + ${ExcelServiceApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPInfoPathUserAgent { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [Alias('Name')] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPManagedAccount { + [CmdletBinding(DefaultParameterSetName='Default', SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ParameterSetName='ChangePassword')] + [switch] + ${ChangePassword}, + + [Parameter(ParameterSetName='ChangePassword', Mandatory=$true)] + [securestring] + ${NewPassword}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPManagedPath { + [CmdletBinding(DefaultParameterSetName='WebApplication', SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ParameterSetName='WebApplication', Mandatory=$true)] + [object] + ${WebApplication}, + + [Parameter(ParameterSetName='HostHeader', Mandatory=$true)] + [switch] + ${HostHeader}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPODataConnectionSetting { + [CmdletBinding(DefaultParameterSetName='Name', SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [object] + ${ServiceContext}, + + [Parameter(ParameterSetName='Name', Mandatory=$true)] + [ValidateNotNull()] + [string] + ${Name}, + + [Parameter(ParameterSetName='Identity', Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPPerformancePointServiceApplication { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPPerformancePointServiceApplicationProxy { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPPerformancePointServiceApplicationTrustedLocation { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPPluggableSecurityTrimmer { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0)] + [ValidateNotNull()] + [guid] + ${UserProfileApplicationProxyId}, + + [Parameter(Mandatory=$true)] + [int] + ${PlugInId}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPProfileLeader { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${ProfileServiceApplicationProxy}, + + [Parameter(ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${SiteSubscription}, + + [Parameter(Mandatory=$true, Position=1, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Name}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPProfileSyncConnection { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${ProfileServiceApplication}, + + [Parameter(Mandatory=$true)] + [string] + ${ConnectionForestName}, + + [Parameter(Mandatory=$true)] + [string] + ${ConnectionDomain}, + + [Parameter(Mandatory=$true)] + [string] + ${ConnectionUserName}, + + [Parameter(Mandatory=$true)] + [securestring] + ${ConnectionPassword}, + + [string] + ${ConnectionServerName}, + + [string] + ${ConnectionNamingContext}, + + [Parameter(Mandatory=$true)] + [string] + ${ConnectionSynchronizationOU}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPRoutingMachineInfo { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPRoutingMachinePool { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPRoutingRule { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPScaleOutDatabase { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true)] + [object] + ${ServiceApplication}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${Database}, + + [switch] + ${DeleteData}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPSecureStoreApplication { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPSecureStoreSystemAccount { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPServerScaleOutDatabase { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true)] + [object] + ${ServiceApplication}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${Database}, + + [switch] + ${DeleteData}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPServiceApplication { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [ValidateNotNull()] + [switch] + ${RemoveData}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPServiceApplicationPool { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPServiceApplicationProxy { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [ValidateNotNull()] + [switch] + ${RemoveData}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPServiceApplicationProxyGroup { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPServiceApplicationProxyGroupMember { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, Position=1)] + [Alias('Proxy')] + [ValidateNotNull()] + [object] + ${Member}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPShellAdmin { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0)] + [string] + ${UserName}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${database}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPSite { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNullOrEmpty()] + [object] + ${Identity}, + + [switch] + ${DeleteADAccounts}, + + [switch] + ${GradualDelete}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPSiteSubscription { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [switch] + ${Force}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPSiteSubscriptionBusinessDataCatalogConfig { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [object] + ${ServiceContext}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPSiteSubscriptionFeaturePack { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPSiteSubscriptionFeaturePackMember { + [CmdletBinding(DefaultParameterSetName='SingleFeatureDefinition', SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(ParameterSetName='SingleFeatureDefinition', Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${FeatureDefinition}, + + [Parameter(ParameterSetName='AllFeatureDefinitions', Mandatory=$true)] + [switch] + ${AllFeatureDefinitions}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPSiteSubscriptionMetadataConfig { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${ServiceProxy}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPSiteSubscriptionProfileConfig { + [CmdletBinding(DefaultParameterSetName='Default', SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(ParameterSetName='Default', Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(ParameterSetName='Default', Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${ProfileServiceApplicationProxy}, + + [Parameter(ParameterSetName='ServiceContext', Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${ServiceContext}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPSiteSubscriptionSettings { + [CmdletBinding(DefaultParameterSetName='SpecifySiteSubscriptions', SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(ParameterSetName='SpecifySiteSubscriptions', Mandatory=$true)] + [ValidateNotNull()] + [guid[]] + ${SiteSubscriptions}, + + [Parameter(ParameterSetName='FindAllOrphans', Mandatory=$true)] + [ValidateSet('True')] + [switch] + ${FindAllOrphans}, + + [Parameter(ParameterSetName='FindAllOrphans')] + [ValidateNotNull()] + [guid[]] + ${AlternativeSiteSubscriptions}, + + [Parameter(ParameterSetName='FindAllOrphans')] + [switch] + ${Force}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPSiteUpgradeSessionInfo { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPSiteURL { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [string] + ${Url}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPSocialItemByDate { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${ProfileServiceApplicationProxy}, + + [Parameter(ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${SiteSubscription}, + + [bool] + ${RemoveTags}, + + [bool] + ${RemoveComments}, + + [bool] + ${RemoveRatings}, + + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [datetime] + ${EndDate}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPSolution { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [uint32] + ${Language}, + + [switch] + ${Force}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPSolutionDeploymentLock { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Position=0)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPStateServiceDatabase { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [Alias('Name')] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPThrottlingRule { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPTranslationServiceJobHistory { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [object] + ${Identity}, + + [switch] + ${IncludeActiveJobs}, + + [System.Nullable[datetime]] + ${BeforeDate}, + + [System.Nullable[guid]] + ${JobId}, + + [System.Nullable[guid]] + ${PartitionId}, + + [switch] + ${AllPartitions}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPTrustedIdentityTokenIssuer { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPTrustedRootAuthority { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPTrustedSecurityTokenIssuer { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPTrustedServiceTokenIssuer { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPUsageApplication { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${UsageService}, + + [switch] + ${RemoveData}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPUser { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [Alias('UserAlias')] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Web}, + + [object] + ${Group}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPUserLicenseMapping { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [ValidateNotNull()] + [System.Collections.Generic.List[guid]] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPUserSettingsProvider { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPUserSolution { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [string] + ${Identity}, + + [Parameter(Mandatory=$true)] + [object] + ${Site}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPVisioSafeDataProvider { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [ValidateNotNullOrEmpty()] + [object] + ${VisioServiceApplication}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${DataProviderId}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [ValidateNotNullOrEmpty()] + [int] + ${DataProviderType}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPWeb { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [switch] + ${Recycle}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPWebApplication { + [CmdletBinding(DefaultParameterSetName='RemoveWebApp', SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ParameterSetName='RemoveZoneOfWebApp', Mandatory=$true)] + [object] + ${Zone}, + + [Parameter(ParameterSetName='RemoveWebApp')] + [switch] + ${RemoveContentDatabases}, + + [switch] + ${DeleteIISSite}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPWebApplicationAppDomain { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPWOPIBinding { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(ParameterSetName='Identity', Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ParameterSetName='Filter')] + [ValidateNotNullOrEmpty()] + [string] + ${Action}, + + [Parameter(ParameterSetName='Filter')] + [ValidateNotNullOrEmpty()] + [string] + ${Extension}, + + [Parameter(ParameterSetName='Filter')] + [ValidateNotNullOrEmpty()] + [string] + ${ProgId}, + + [Parameter(ParameterSetName='Filter')] + [ValidateNotNullOrEmpty()] + [string] + ${Application}, + + [Parameter(ParameterSetName='Filter')] + [ValidateNotNullOrEmpty()] + [string] + ${Server}, + + [Parameter(ParameterSetName='Filter')] + [ValidateNotNullOrEmpty()] + [string] + ${WOPIZone}, + + [Parameter(ParameterSetName='RemoveAll')] + [switch] + ${All}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPWOPISuppressionSetting { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(ParameterSetName='DocTypeAndAction')] + [ValidateNotNullOrEmpty()] + [string] + ${Extension}, + + [Parameter(ParameterSetName='DocTypeAndAction')] + [ValidateNotNullOrEmpty()] + [string] + ${ProgId}, + + [Parameter(ParameterSetName='DocTypeAndAction')] + [ValidateNotNullOrEmpty()] + [string] + ${Action}, + + [Parameter(ParameterSetName='Identity', ValueFromPipeline=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPWordConversionServiceJobHistory { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [object] + ${Identity}, + + [switch] + ${IncludeActiveJobs}, + + [System.Nullable[datetime]] + ${BeforeDate}, + + [System.Nullable[guid]] + ${JobId}, + + [System.Nullable[guid]] + ${SubscriptionId}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Rename-SPServer { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [Alias('Address')] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${Name}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Repair-SPManagedAccountDeployment { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Repair-SPSite { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [guid] + ${RuleId}, + + [switch] + ${RunAlways}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Request-SPUpgradeEvaluationSite { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [switch] + ${NoUpgrade}, + + [switch] + ${Email}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Reset-SPAccessServicesDatabasePassword { + [CmdletBinding(DefaultParameterSetName='ResetAllApps', SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='ResetSingleApp', Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${Database}, + + [Parameter(ParameterSetName='ResetAllApps', Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [Parameter(ParameterSetName='ResetSingleApp', Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${ServiceContext}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Restart-SPAppInstanceJob { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Low')] +param( + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [object] + ${AppInstance}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Restore-SPDeletedSite { + [CmdletBinding(DefaultParameterSetName='DatabaseFromPipebind', SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNullOrEmpty()] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${WebApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${ContentDatabase}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Restore-SPEnterpriseSearchServiceApplication { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0)] + [string] + ${Name}, + + [Parameter(ParameterSetName='Config', Mandatory=$true)] + [string] + ${DatabaseServer}, + + [Parameter(ParameterSetName='Config', Mandatory=$true)] + [string] + ${DatabaseName}, + + [Parameter(ParameterSetName='Config')] + [string] + ${DatabaseUsername}, + + [Parameter(ParameterSetName='Config')] + [securestring] + ${DatabasePassword}, + + [Parameter(ParameterSetName='Config')] + [string] + ${FailoverDatabaseServer}, + + [Parameter(ParameterSetName='Full', Mandatory=$true)] + [string] + ${TopologyFile}, + + [Parameter(Mandatory=$true)] + [object] + ${ApplicationPool}, + + [Parameter(ParameterSetName='Config', Mandatory=$true)] + [object] + ${AdminSearchServiceInstance}, + + [Parameter(ParameterSetName='Full')] + [switch] + ${KeepId}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Restore-SPEnterpriseSearchServiceApplicationIndex { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0)] + [object] + ${SearchApplication}, + + [Parameter(ParameterSetName='RestoreProgress', Mandatory=$true, Position=1)] + [string] + ${Handle}, + + [Parameter(ParameterSetName='Restore', Mandatory=$true, Position=1)] + [string] + ${BackupFolder}, + + [Parameter(ParameterSetName='Restore', Position=2)] + [switch] + ${AllReplicas}, + + [Parameter(ParameterSetName='Restore', Position=3)] + [switch] + ${AllowMove}, + + [Parameter(Position=4)] + [int] + ${Retries}, + + [Parameter(Position=5)] + [int] + ${RetryPauseSeconds}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Restore-SPFarm { + [CmdletBinding(DefaultParameterSetName='DefaultSet', SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true)] + [string] + ${Directory}, + + [Parameter(ParameterSetName='DefaultSet', Mandatory=$true)] + [ValidateSet('New','Overwrite')] + [string] + ${RestoreMethod}, + + [Parameter(ParameterSetName='DefaultSet')] + [int] + ${RestoreThreads}, + + [Parameter(ParameterSetName='DefaultSet')] + [switch] + ${Force}, + + [Parameter(ValueFromPipeline=$true)] + [guid] + ${BackupId}, + + [Parameter(ParameterSetName='DefaultSet')] + [string] + ${NewDatabaseServer}, + + [Parameter(ParameterSetName='DefaultSet', ValueFromPipeline=$true)] + [pscredential] + ${FarmCredentials}, + + [string] + ${Item}, + + [Parameter(ParameterSetName='ShowTree', Mandatory=$true)] + [switch] + ${ShowTree}, + + [switch] + ${ConfigurationOnly}, + + [Parameter(ParameterSetName='DefaultSet')] + [int] + ${Percentage}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Restore-SPSite { + [CmdletBinding(DefaultParameterSetName='DatabaseFromPipebind', SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [string] + ${Identity}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [string] + ${Path}, + + [string] + ${HostHeaderWebApplication}, + + [switch] + ${Force}, + + [switch] + ${GradualDelete}, + + [Parameter(ParameterSetName='DatabaseFromPipebind', ValueFromPipeline=$true)] + [object] + ${ContentDatabase}, + + [Parameter(ParameterSetName='DatabaseParameter')] + [string] + ${DatabaseName}, + + [Parameter(ParameterSetName='DatabaseParameter')] + [string] + ${DatabaseServer}, + + [switch] + ${PreserveSiteID}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Resume-SPEnterpriseSearchServiceApplication { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Resume-SPStateServiceDatabase { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [Alias('Name')] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Revoke-SPBusinessDataCatalogMetadataObject { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [object] + ${Principal}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(Mandatory=$true)] + [object] + ${Right}, + + [string] + ${SettingId}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Revoke-SPObjectSecurity { + [CmdletBinding(DefaultParameterSetName='RevokeOne')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(ParameterSetName='RevokeOne', Mandatory=$true, Position=1)] + [ValidateNotNull()] + [object] + ${Principal}, + + [Parameter(ParameterSetName='RevokeOne', Position=2)] + [ValidateNotNull()] + [string[]] + ${Rights}, + + [Parameter(ParameterSetName='RevokeAll', Mandatory=$true)] + [switch] + ${All}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPAccessServiceApplication { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [ValidateRange(1, 255)] + [int] + ${ColumnsMax}, + + [ValidateRange(1, 200000)] + [int] + ${RowsMax}, + + [ValidateRange(1, 20)] + [int] + ${SourcesMax}, + + [ValidateRange(0, 32)] + [int] + ${OutputCalculatedColumnsMax}, + + [ValidateRange(0, 8)] + [int] + ${OrderByMax}, + + [switch] + ${OuterJoinsAllowed}, + + [switch] + ${NonRemotableQueriesAllowed}, + + [ValidateRange(-1, 2147483647)] + [int] + ${RecordsInTableMax}, + + [ValidateRange(-1, 2147483647)] + [int] + ${ApplicationLogSizeMax}, + + [ValidateRange(-1, 2073600)] + [int] + ${RequestDurationMax}, + + [ValidateRange(-1, 2147483647)] + [int] + ${SessionsPerUserMax}, + + [ValidateRange(-1, 2147483647)] + [int] + ${SessionsPerAnonymousUserMax}, + + [ValidateRange(-1, 2073600)] + [int] + ${CacheTimeout}, + + [ValidateRange(0, 4096)] + [int] + ${SessionMemoryMax}, + + [ValidateRange(-1, 2147483647)] + [int] + ${PrivateBytesMax}, + + [ValidateRange(-1, 2147483647)] + [int] + ${TemplateSizeMax}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPAccessServicesApplication { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [ValidateRange(-1, 2073600)] + [int] + ${RequestDurationMax}, + + [ValidateRange(-1, 2147483647)] + [int] + ${SessionsPerUserMax}, + + [ValidateRange(-1, 2147483647)] + [int] + ${SessionsPerAnonymousUserMax}, + + [ValidateRange(-1, 2073600)] + [int] + ${CacheTimeout}, + + [ValidateRange(-1, 2147483647)] + [int] + ${PrivateBytesMax}, + + [ValidateRange(-1, 1440)] + [int] + ${RecoveryPointObjective}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPAccessServicesDatabaseServer { + [CmdletBinding(DefaultParameterSetName='SetCredentialsParameterSet', SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='SetCredentialsParameterSet', Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [Parameter(ParameterSetName='SetUserDomainParameterSet', Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [Parameter(ParameterSetName='SetAvailableForCreateParameterSet', Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [Parameter(ParameterSetName='SetEncryptParameterSet', Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [Parameter(ParameterSetName='SetSecondaryDatabaseServerNameParameterSet', Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [Parameter(ParameterSetName='SetFailoverParameterSet', Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${ServiceContext}, + + [Parameter(ParameterSetName='SetFailoverParameterSet', Mandatory=$true)] + [Parameter(Mandatory=$true)] + [Parameter(ParameterSetName='SetCredentialsParameterSet', Mandatory=$true)] + [Parameter(ParameterSetName='SetAvailableForCreateParameterSet', Mandatory=$true)] + [Parameter(ParameterSetName='SetEncryptParameterSet', Mandatory=$true)] + [Parameter(ParameterSetName='SetSecondaryDatabaseServerNameParameterSet', Mandatory=$true)] + [Parameter(ParameterSetName='SetUserDomainParameterSet', Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [object] + ${DatabaseServerGroup}, + + [Parameter(Mandatory=$true)] + [Parameter(ParameterSetName='SetSecondaryDatabaseServerNameParameterSet', Mandatory=$true)] + [Parameter(ParameterSetName='SetCredentialsParameterSet', Mandatory=$true)] + [Parameter(ParameterSetName='SetAvailableForCreateParameterSet', Mandatory=$true)] + [Parameter(ParameterSetName='SetEncryptParameterSet', Mandatory=$true)] + [Parameter(ParameterSetName='SetUserDomainParameterSet', Mandatory=$true)] + [Parameter(ParameterSetName='SetFailoverParameterSet', Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [object] + ${DatabaseServer}, + + [Parameter(ParameterSetName='SetCredentialsParameterSet')] + [string] + ${DatabaseServerName}, + + [Parameter(ParameterSetName='SetCredentialsParameterSet')] + [pscredential] + ${DatabaseServerCredentials}, + + [Parameter(ParameterSetName='SetAvailableForCreateParameterSet', Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [bool] + ${AvailableForCreate}, + + [Parameter(ParameterSetName='SetAvailableForCreateParameterSet')] + [ValidateNotNullOrEmpty()] + [bool] + ${Exclusive}, + + [Parameter(ParameterSetName='SetEncryptParameterSet', Mandatory=$true)] + [bool] + ${Encrypt}, + + [Parameter(ParameterSetName='SetEncryptParameterSet', Mandatory=$true)] + [bool] + ${TrustServerCertificate}, + + [Parameter(ParameterSetName='SetSecondaryDatabaseServerNameParameterSet')] + [string] + ${SecondaryDatabaseServerName}, + + [Parameter(ParameterSetName='SetFailoverParameterSet', Mandatory=$true)] + [bool] + ${Failover}, + + [Parameter(ParameterSetName='SetUserDomainParameterSet', Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${UserDomain}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPAccessServicesDatabaseServerGroupMapping { + [CmdletBinding(DefaultParameterSetName='SetDatabaseServerGroupMappingParameter', SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='SetDatabaseServerGroupMappingParameter', Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [Parameter(ParameterSetName='ClearDatabaseServerGroupMappingParameterSetName', Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${ServiceContext}, + + [Parameter(ParameterSetName='SetDatabaseServerGroupMappingParameter', Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [object] + ${DatabaseServerGroup}, + + [Parameter(ParameterSetName='SetDatabaseServerGroupMappingParameter')] + [Parameter(ParameterSetName='ClearDatabaseServerGroupMappingParameterSetName')] + [switch] + ${CorporateCatalog}, + + [Parameter(ParameterSetName='ClearDatabaseServerGroupMappingParameterSetName')] + [Parameter(ParameterSetName='SetDatabaseServerGroupMappingParameter')] + [switch] + ${ObjectModel}, + + [Parameter(ParameterSetName='SetDatabaseServerGroupMappingParameter')] + [Parameter(ParameterSetName='ClearDatabaseServerGroupMappingParameterSetName')] + [switch] + ${RemoteObjectModel}, + + [Parameter(ParameterSetName='ClearDatabaseServerGroupMappingParameterSetName')] + [Parameter(ParameterSetName='SetDatabaseServerGroupMappingParameter')] + [switch] + ${DeveloperSite}, + + [Parameter(ParameterSetName='SetDatabaseServerGroupMappingParameter')] + [Parameter(ParameterSetName='ClearDatabaseServerGroupMappingParameterSetName')] + [switch] + ${StoreFront}, + + [Parameter(ParameterSetName='ClearDatabaseServerGroupMappingParameterSetName', Mandatory=$true)] + [switch] + ${ClearMapping}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPAlternateURL { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [string] + ${Url}, + + [object] + ${Zone}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPAppAcquisitionConfiguration { + [CmdletBinding(DefaultParameterSetName='MarketplaceSettingsInWebApplication', SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true)] + [bool] + ${Enable}, + + [Parameter(ParameterSetName='MarketplaceSettingsInWebApplication', Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${WebApplication}, + + [Parameter(ParameterSetName='MarketplaceSettingsInSiteSubscription', Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SiteSubscription}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPAppAutoProvisionConnection { + [CmdletBinding()] +param( + [object] + ${SiteSubscription}, + + [Parameter(ParameterSetName='WebHostEndPoint', Mandatory=$true)] + [Parameter(ParameterSetName='WebHostSetup', Mandatory=$true)] + [Parameter(ParameterSetName='WebHostCredential', Mandatory=$true)] + [object] + ${ConnectionType}, + + [Parameter(ParameterSetName='WebHostSetup', Mandatory=$true)] + [Parameter(ParameterSetName='WebHostCredential', Mandatory=$true)] + [string] + ${Username}, + + [Parameter(ParameterSetName='WebHostSetup', Mandatory=$true)] + [Parameter(ParameterSetName='WebHostCredential', Mandatory=$true)] + [string] + ${Password}, + + [Parameter(ParameterSetName='WebHostEndPoint', Mandatory=$true)] + [Parameter(ParameterSetName='WebHostSetup', Mandatory=$true)] + [string] + ${EndPoint}, + + [Parameter(ParameterSetName='Remove', Mandatory=$true)] + [switch] + ${Remove}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPAppDisablingConfiguration { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true)] + [bool] + ${Enable}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPAppDomain { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0)] + [AllowNull()] + [AllowEmptyString()] + [string] + ${AppDomain}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPAppHostingQuotaConfiguration { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${SiteSubscription}, + + [Parameter(Mandatory=$true)] + [ValidateRange(0, 2147483647)] + [double] + ${AppHostingLicenseQuota}, + + [Parameter(Mandatory=$true)] + [ValidateRange(0, 2147483647)] + [double] + ${AppInstanceCountQuota}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPAppManagementDeploymentId { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [guid] + ${DeploymentId}, + + [Parameter(ValueFromPipeline=$true)] + [Alias('Subscription')] + [object] + ${Identity}, + + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [object] + ${AppManagementServiceApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPAppPrincipalPermission { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [object] + ${Site}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${AppPrincipal}, + + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [object] + ${Scope}, + + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [object] + ${Right}, + + [switch] + ${EnableAppOnlyPolicy}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPAppScaleProfile { + [CmdletBinding()] +param( + [ValidateNotNullOrEmpty()] + [string] + ${MaxDatabaseSize}, + + [ValidateRange(1, 255)] + [int] + ${RemoteWebSiteInstanceCount}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPAppSiteDomain { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [object] + ${Site}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPAppSiteSubscriptionName { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${Name}, + + [object] + ${SiteSubscription}, + + [switch] + ${Force}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPAppStateUpdateInterval { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true)] + [ValidateRange(0, 32768)] + [int] + ${AppStateSyncHours}, + + [Parameter(Mandatory=$true)] + [ValidateRange(0, 32768)] + [int] + ${FastAppRevocationHours}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPAppStoreConfiguration { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [string] + ${Url}, + + [Parameter(Mandatory=$true)] + [bool] + ${Enable}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPAuthenticationRealm { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [ValidateNotNull()] + [object] + ${ServiceContext}, + + [string] + ${Realm}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPBingMapsBlock { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Position=0, HelpMessage='Block Bing Maps in all locales.')] + [switch] + ${BlockBingMapsInAllLocales}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPBingMapsKey { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, HelpMessage='Enter the Bing Maps API key.')] + [string] + ${BingKey}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPBrowserCustomerExperienceImprovementProgram { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Low')] +param( + [Parameter(ParameterSetName='Farm', Mandatory=$true)] + [switch] + ${Farm}, + + [Parameter(ParameterSetName='WebApplication', Mandatory=$true)] + [object] + ${WebApplication}, + + [Parameter(ParameterSetName='SiteSubscription', Mandatory=$true)] + [object] + ${SiteSubscription}, + + [switch] + ${Enable}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPBusinessDataCatalogEntityNotificationWeb { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Low')] +param( + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [object] + ${Web}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPBusinessDataCatalogMetadataObject { + [CmdletBinding(DefaultParameterSetName='NameValue', SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Display')] + [string] + ${DisplayName}, + + [Parameter(ParameterSetName='NameRemove')] + [Parameter(ParameterSetName='NameValue')] + [ValidateNotNull()] + [string] + ${PropertyName}, + + [Parameter(ParameterSetName='NameValue')] + [psobject] + ${PropertyValue}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(ParameterSetName='NameRemove')] + [switch] + ${Remove}, + + [string] + ${SettingId}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPBusinessDataCatalogServiceApplication { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipelineByPropertyName=$true)] + [string] + ${Name}, + + [Parameter(ValueFromPipelineByPropertyName=$true)] + [switch] + ${Sharing}, + + [Parameter(ValueFromPipelineByPropertyName=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${DatabaseServer}, + + [Parameter(ValueFromPipelineByPropertyName=$true)] + [string] + ${DatabaseName}, + + [Parameter(ValueFromPipelineByPropertyName=$true)] + [string] + ${FailoverDatabaseServer}, + + [Parameter(ValueFromPipelineByPropertyName=$true)] + [object] + ${ApplicationPool}, + + [Parameter(ValueFromPipelineByPropertyName=$true)] + [pscredential] + ${DatabaseCredentials}, + + [Parameter(ValueFromPipelineByPropertyName=$true)] + [string] + ${DatabaseUsername}, + + [Parameter(ValueFromPipelineByPropertyName=$true)] + [securestring] + ${DatabasePassword}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPBusinessDataCatalogThrottleConfig { + [CmdletBinding(DefaultParameterSetName='MaxDefault', SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(ParameterSetName='MaxDefault', Mandatory=$true)] + [int] + ${Maximum}, + + [Parameter(ParameterSetName='MaxDefault', Mandatory=$true)] + [int] + ${Default}, + + [Parameter(ParameterSetName='Enforcement', Mandatory=$true)] + [switch] + ${Enforced}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPCentralAdministration { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true)] + [int] + ${Port}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPClaimProvider { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [switch] + ${Enabled}, + + [switch] + ${Default}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPContentDatabase { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [ValidateRange(1, 2147483647)] + [int] + ${MaxSiteCount}, + + [Parameter(ValueFromPipeline=$true)] + [ValidateRange(0, 2147483647)] + [int] + ${WarningSiteCount}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${Status}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPContentDeploymentJob { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipelineByPropertyName=$true)] + [string] + ${Name}, + + [Parameter(ValueFromPipelineByPropertyName=$true)] + [string] + ${Description}, + + [object] + ${Scope}, + + [string] + ${Schedule}, + + [switch] + ${ScheduleEnabled}, + + [switch] + ${IncrementalEnabled}, + + [object] + ${SqlSnapshotSetting}, + + [switch] + ${HostingSupportEnabled}, + + [object] + ${EmailNotifications}, + + [string[]] + ${EmailAddresses}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPContentDeploymentPath { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipelineByPropertyName=$true)] + [string] + ${Name}, + + [Parameter(ValueFromPipelineByPropertyName=$true)] + [string] + ${Description}, + + [uri] + ${DestinationCentralAdministrationURL}, + + [object] + ${Authentication}, + + [pscredential] + ${PathAccount}, + + [switch] + ${DeployUserNamesEnabled}, + + [object] + ${DeploySecurityInformation}, + + [switch] + ${EventReceiversEnabled}, + + [switch] + ${CompressionEnabled}, + + [switch] + ${PathEnabled}, + + [object] + ${KeepTemporaryFilesOptions}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPCustomLayoutsPage { + [CmdletBinding(DefaultParameterSetName='CustomPage', SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true)] + [object] + ${Identity}, + + [Parameter(ParameterSetName='CustomPage', Mandatory=$true)] + [string] + ${RelativePath}, + + [Parameter(ParameterSetName='CustomPage')] + [Parameter(ParameterSetName='ResetCustomPage')] + [ValidateRange(14, 15)] + [int] + ${CompatibilityLevel}, + + [Parameter(ParameterSetName='ResetCustomPage', Mandatory=$true)] + [switch] + ${Reset}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${WebApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPDataConnectionFile { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [ValidateLength(0, 255)] + [string] + ${DisplayName}, + + [ValidateLength(0, 255)] + [string] + ${Description}, + + [ValidateLength(0, 255)] + [string] + ${Category}, + + [ValidateSet('true','false')] + [string] + ${WebAccessible}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPDesignerSettings { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='WebApplication', Mandatory=$true, Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [object] + ${WebApplication}, + + [bool] + ${AllowDesigner}, + + [bool] + ${AllowRevertFromTemplate}, + + [bool] + ${AllowMasterPageEditing}, + + [bool] + ${ShowURLStructure}, + + [string] + ${RequiredDesignerVersion}, + + [string] + ${DesignerDownloadUrl}, + + [bool] + ${AllowCreateDeclarativeWorkflow}, + + [bool] + ${AllowSavePublishDeclarativeWorkflow}, + + [bool] + ${AllowSaveDeclarativeWorkflowAsTemplate}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPDiagnosticConfig { + [CmdletBinding()] +param( + [Parameter(ValueFromPipelineByPropertyName=$true)] + [switch] + ${AllowLegacyTraceProviders}, + + [Parameter(ValueFromPipelineByPropertyName=$true)] + [switch] + ${AppAnalyticsAutomaticUploadEnabled}, + + [Parameter(ValueFromPipelineByPropertyName=$true)] + [switch] + ${CustomerExperienceImprovementProgramEnabled}, + + [Parameter(ValueFromPipelineByPropertyName=$true)] + [switch] + ${ErrorReportingEnabled}, + + [Parameter(ValueFromPipelineByPropertyName=$true)] + [switch] + ${ErrorReportingAutomaticUploadEnabled}, + + [Parameter(ValueFromPipelineByPropertyName=$true)] + [switch] + ${DownloadErrorReportingUpdatesEnabled}, + + [Parameter(ValueFromPipelineByPropertyName=$true)] + [ValidateRange(1, 366)] + [int] + ${DaysToKeepLogs}, + + [Parameter(ValueFromPipelineByPropertyName=$true)] + [switch] + ${LogMaxDiskSpaceUsageEnabled}, + + [Parameter(ValueFromPipelineByPropertyName=$true)] + [ValidateRange(1, 1000)] + [int] + ${LogDiskSpaceUsageGB}, + + [Parameter(ValueFromPipelineByPropertyName=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${LogLocation}, + + [Parameter(ValueFromPipelineByPropertyName=$true)] + [ValidateRange(1, 1440)] + [int] + ${LogCutInterval}, + + [Parameter(ValueFromPipelineByPropertyName=$true)] + [switch] + ${EventLogFloodProtectionEnabled}, + + [Parameter(ValueFromPipelineByPropertyName=$true)] + [ValidateRange(1, 100)] + [int] + ${EventLogFloodProtectionThreshold}, + + [Parameter(ValueFromPipelineByPropertyName=$true)] + [ValidateRange(1, 1440)] + [int] + ${EventLogFloodProtectionTriggerPeriod}, + + [Parameter(ValueFromPipelineByPropertyName=$true)] + [ValidateRange(1, 1440)] + [int] + ${EventLogFloodProtectionQuietPeriod}, + + [Parameter(ValueFromPipelineByPropertyName=$true)] + [ValidateRange(1, 1440)] + [int] + ${EventLogFloodProtectionNotifyInterval}, + + [Parameter(ValueFromPipelineByPropertyName=$true)] + [switch] + ${ScriptErrorReportingEnabled}, + + [Parameter(ValueFromPipelineByPropertyName=$true)] + [switch] + ${ScriptErrorReportingRequireAuth}, + + [Parameter(ValueFromPipelineByPropertyName=$true)] + [ValidateRange(1, 1440)] + [int] + ${ScriptErrorReportingDelay}, + + [Parameter(ValueFromPipeline=$true)] + [psobject] + ${InputObject}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPDiagnosticsProvider { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [switch] + ${Enable}, + + [ValidateRange(1, 31)] + [int] + ${DaysRetained}, + + [ValidateRange(1, 9223372036854775807)] + [long] + ${MaxTotalSizeInBytes}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPDistributedCacheClientSetting { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${ContainerType}, + + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${DistributedCacheClientSettings}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPEduServiceSetting { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true)] + [object] + ${Service}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [object] + ${Site}, + + [Parameter(Position=0)] + [bool] + ${Enabled}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPEnterpriseSearchAdministrationComponent { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [object] + ${SearchApplication}, + + [string] + ${StoragePath}, + + [object] + ${SearchServiceInstance}, + + [switch] + ${Force}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPEnterpriseSearchContentEnrichmentConfiguration { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${ContentEnrichmentConfiguration}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPEnterpriseSearchCrawlContentSource { + [CmdletBinding(DefaultParameterSetName='NoSchedule', SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [object] + ${SearchApplication}, + + [Alias('n')] + [string] + ${Name}, + + [Alias('t')] + [string] + ${Tag}, + + [Alias('s')] + [string] + ${StartAddresses}, + + [Alias('p')] + [object] + ${CrawlPriority}, + + [Parameter(ParameterSetName='Weekly')] + [Parameter(ParameterSetName='Daily', Mandatory=$true)] + [Parameter(ParameterSetName='RemoveSchedule')] + [Parameter(ParameterSetName='MonthlyDate')] + [object] + ${ScheduleType}, + + [Parameter(ParameterSetName='Daily')] + [Alias('daily')] + [switch] + ${DailyCrawlSchedule}, + + [Parameter(ParameterSetName='Weekly')] + [Alias('weekly')] + [switch] + ${WeeklyCrawlSchedule}, + + [Parameter(ParameterSetName='MonthlyDate')] + [Alias('monthly')] + [switch] + ${MonthlyCrawlSchedule}, + + [Parameter(ParameterSetName='RemoveSchedule')] + [switch] + ${RemoveCrawlSchedule}, + + [Parameter(ParameterSetName='MonthlyDate')] + [Parameter(ParameterSetName='Daily')] + [Parameter(ParameterSetName='Weekly')] + [Alias('start')] + [System.Nullable[datetime]] + ${CrawlScheduleStartDateTime}, + + [Parameter(ParameterSetName='MonthlyDate')] + [Parameter(ParameterSetName='Daily')] + [Parameter(ParameterSetName='Weekly')] + [Alias('duration')] + [System.Nullable[int]] + ${CrawlScheduleRepeatDuration}, + + [Parameter(ParameterSetName='MonthlyDate')] + [Parameter(ParameterSetName='Daily')] + [Parameter(ParameterSetName='Weekly')] + [Alias('interval')] + [System.Nullable[int]] + ${CrawlScheduleRepeatInterval}, + + [Parameter(ParameterSetName='Daily')] + [Parameter(ParameterSetName='Weekly')] + [Alias('every')] + [System.Nullable[int]] + ${CrawlScheduleRunEveryInterval}, + + [Parameter(ParameterSetName='Weekly')] + [object] + ${CrawlScheduleDaysOfWeek}, + + [Parameter(ParameterSetName='MonthlyDate')] + [System.Nullable[int]] + ${CrawlScheduleDaysOfMonth}, + + [Parameter(ParameterSetName='MonthlyDate')] + [Alias('month')] + [object] + ${CrawlScheduleMonthsOfYear}, + + [System.Nullable[int]] + ${MaxPageEnumerationDepth}, + + [System.Nullable[int]] + ${MaxSiteEnumerationDepth}, + + [object] + ${BDCApplicationProxyGroup}, + + [string[]] + ${LOBSystemSet}, + + [string] + ${CustomProtocol}, + + [System.Nullable[bool]] + ${EnableContinuousCrawls}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPEnterpriseSearchCrawlDatabase { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [object] + ${SearchApplication}, + + [string] + ${DatabaseServer}, + + [string] + ${DatabaseName}, + + [string] + ${DatabaseUsername}, + + [securestring] + ${DatabasePassword}, + + [string] + ${FailoverDatabaseServer}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPEnterpriseSearchCrawlLogReadPermission { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [guid] + ${Tenant}, + + [string] + ${UserNames}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPEnterpriseSearchCrawlRule { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [object] + ${SearchApplication}, + + [Alias('t')] + [object] + ${Type}, + + [System.Nullable[bool]] + ${IsAdvancedRegularExpression}, + + [System.Nullable[bool]] + ${CrawlAsHttp}, + + [System.Nullable[bool]] + ${FollowComplexUrls}, + + [System.Nullable[int]] + ${PluggableSecurityTimmerId}, + + [System.Nullable[bool]] + ${SuppressIndexing}, + + [System.Nullable[int]] + ${Priority}, + + [string] + ${ContentClass}, + + [object] + ${AuthenticationType}, + + [string] + ${AccountName}, + + [securestring] + ${AccountPassword}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPEnterpriseSearchFileFormatState { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true)] + [object] + ${SearchApplication}, + + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, Position=1)] + [bool] + ${Enable}, + + [Parameter(Position=2)] + [System.Nullable[bool]] + ${UseIFilter}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPEnterpriseSearchLinguisticComponentsStatus { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true)] + [object] + ${SearchApplication}, + + [Parameter(Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [System.Nullable[bool]] + ${ThesaurusEnabled}, + + [System.Nullable[bool]] + ${StemmingEnabled}, + + [System.Nullable[bool]] + ${QuerySpellingEnabled}, + + [System.Nullable[bool]] + ${EntityExtractionEnabled}, + + [System.Nullable[bool]] + ${AllEnabled}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPEnterpriseSearchLinksDatabase { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [object] + ${SearchApplication}, + + [string] + ${DatabaseServer}, + + [string] + ${DatabaseName}, + + [string] + ${DatabaseUsername}, + + [securestring] + ${DatabasePassword}, + + [string] + ${FailoverDatabaseServer}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPEnterpriseSearchMetadataCategory { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [object] + ${SearchApplication}, + + [Alias('n')] + [string] + ${Name}, + + [Alias('d')] + [System.Nullable[bool]] + ${DiscoverNewProperties}, + + [Alias('m')] + [System.Nullable[bool]] + ${MapToContents}, + + [Alias('auto')] + [System.Nullable[bool]] + ${AutoCreateNewManagedProperties}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPEnterpriseSearchMetadataCrawledProperty { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(Mandatory=$true)] + [Alias('im')] + [System.Nullable[bool]] + ${IsMappedToContents}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPEnterpriseSearchMetadataManagedProperty { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [object] + ${SearchApplication}, + + [Alias('n')] + [string] + ${Name}, + + [Alias('d')] + [string] + ${Description}, + + [Alias('f')] + [System.Nullable[bool]] + ${FullTextQueriable}, + + [Alias('r')] + [System.Nullable[bool]] + ${Retrievable}, + + [Alias('e')] + [System.Nullable[bool]] + ${EnabledForScoping}, + + [Alias('nn')] + [System.Nullable[bool]] + ${NameNormalized}, + + [Alias('rp')] + [System.Nullable[bool]] + ${RespectPriority}, + + [Alias('rd')] + [System.Nullable[bool]] + ${RemoveDuplicates}, + + [Alias('im5')] + [Obsolete('This property is replaced by IncludeInAlertSignature.')] + [System.Nullable[bool]] + ${IncludeInMd5}, + + [Alias('ia')] + [System.Nullable[bool]] + ${IncludeInAlertSignature}, + + [Alias('sfa')] + [System.Nullable[bool]] + ${SafeForAnonymous}, + + [Alias('nw')] + [System.Nullable[bool]] + ${NoWordBreaker}, + + [Alias('u')] + [System.Nullable[int16]] + ${UserFlags}, + + [Alias('qir')] + [System.Nullable[bool]] + ${EnabledForQueryIndependentRank}, + + [Alias('def')] + [System.Nullable[uint32]] + ${DefaultForQueryIndependentRank}, + + [guid] + ${Tenant}, + + [guid] + ${SiteCollection}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPEnterpriseSearchMetadataMapping { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [object] + ${SearchApplication}, + + [object] + ${ManagedProperty}, + + [object] + ${CrawledProperty}, + + [guid] + ${Tenant}, + + [guid] + ${SiteCollection}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPEnterpriseSearchPrimaryHostController { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${SearchServiceInstance}, + + [switch] + ${Force}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPEnterpriseSearchQueryAuthority { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [object] + ${SearchApplication}, + + [Alias('l')] + [System.Nullable[float]] + ${Level}, + + [Parameter(Mandatory=$true)] + [Alias('o')] + [object] + ${Owner}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPEnterpriseSearchQueryKeyword { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(Mandatory=$true)] + [object] + ${Site}, + + [Alias('t')] + [string] + ${Term}, + + [Alias('d')] + [string] + ${Definition}, + + [Alias('c')] + [string] + ${Contact}, + + [Alias('s')] + [System.Nullable[datetime]] + ${StartDate}, + + [Alias('e')] + [System.Nullable[datetime]] + ${EndDate}, + + [Alias('r')] + [System.Nullable[datetime]] + ${ReviewDate}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPEnterpriseSearchQueryScope { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [object] + ${SearchApplication}, + + [uri] + ${Url}, + + [Parameter(Mandatory=$true)] + [Alias('u')] + [string] + ${AlternateResultsPage}, + + [Alias('n')] + [string] + ${Name}, + + [Alias('d')] + [string] + ${Description}, + + [Alias('disp')] + [System.Nullable[bool]] + ${DisplayInAdminUI}, + + [Alias('type')] + [System.Nullable[int]] + ${CompilationType}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPEnterpriseSearchQueryScopeRule { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [object] + ${SearchApplication}, + + [Parameter(Mandatory=$true)] + [Alias('u')] + [uri] + ${Url}, + + [Alias('n')] + [object] + ${Scope}, + + [Alias('f')] + [string] + ${FilterBehavior}, + + [Alias('ut')] + [string] + ${UrlScopeRuleType}, + + [Alias('text')] + [string] + ${MatchingString}, + + [Alias('value')] + [string] + ${PropertyValue}, + + [Alias('mname')] + [string] + ${ManagedPropertyName}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPEnterpriseSearchQuerySpellingCorrection { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true)] + [object] + ${SearchApplication}, + + [Parameter(Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [System.Nullable[bool]] + ${ContentAlignmentEnabled}, + + [System.Nullable[int]] + ${MaxDictionarySize}, + + [System.Nullable[bool]] + ${DiacriticsInSuggestionsEnabled}, + + [System.Nullable[int]] + ${TermFrequencyThreshold}, + + [System.Nullable[bool]] + ${SecurityTrimmingEnabled}, + + [object] + ${SpellingDictionary}, + + [System.Nullable[timespan]] + ${MaxProcessingTime}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPEnterpriseSearchRankingModel { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [object] + ${SearchApplication}, + + [Parameter(Mandatory=$true)] + [Alias('o')] + [object] + ${Owner}, + + [Parameter(Mandatory=$true)] + [string] + ${RankingModelXML}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPEnterpriseSearchResultItemType { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [object] + ${SearchApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${SearchApplicationProxy}, + + [Alias('n')] + [string] + ${Name}, + + [Alias('rule')] + [object] + ${Rules}, + + [Alias('priority')] + [System.Nullable[int]] + ${RulePriority}, + + [Alias('dp')] + [string] + ${DisplayProperties}, + + [Alias('sid')] + [System.Nullable[guid]] + ${SourceID}, + + [Alias('url')] + [string] + ${DisplayTemplateUrl}, + + [Parameter(Mandatory=$true)] + [Alias('o')] + [object] + ${Owner}, + + [Alias('opt')] + [System.Nullable[bool]] + ${OptimizeForFrequentUse}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPEnterpriseSearchResultSource { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [Alias('o')] + [object] + ${Owner}, + + [string] + ${Name}, + + [string] + ${Description}, + + [string] + ${QueryTemplate}, + + [guid] + ${ProviderId}, + + [string] + ${RemoteUrl}, + + [System.Nullable[bool]] + ${AutoDiscover}, + + [object] + ${AuthenticationType}, + + [string] + ${UserName}, + + [string] + ${Password}, + + [string] + ${SsoId}, + + [System.Nullable[bool]] + ${MakeDefault}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPEnterpriseSearchService { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [string] + ${ServiceAccount}, + + [securestring] + ${ServicePassword}, + + [string] + ${ContactEmail}, + + [string] + ${ConnectionTimeout}, + + [string] + ${AcknowledgementTimeout}, + + [string] + ${ProxyType}, + + [string] + ${IgnoreSSLWarnings}, + + [string] + ${InternetIdentity}, + + [string] + ${PerformanceLevel}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPEnterpriseSearchServiceApplication { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [string] + ${FailoverDatabaseServer}, + + [string] + ${DiacriticSensitive}, + + [object] + ${DefaultSearchProvider}, + + [string] + ${VerboseQueryMonitoring}, + + [object] + ${ApplicationPool}, + + [object] + ${AdminApplicationPool}, + + [string] + ${DefaultContentAccessAccountName}, + + [securestring] + ${DefaultContentAccessAccountPassword}, + + [string] + ${DatabaseServer}, + + [string] + ${DatabaseName}, + + [string] + ${DatabaseUsername}, + + [securestring] + ${DatabasePassword}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPEnterpriseSearchServiceApplicationProxy { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [string] + ${Name}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPEnterpriseSearchServiceInstance { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [string] + ${DefaultIndexLocation}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPEnterpriseSearchTopology { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [object] + ${SearchApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPExcelBIServer { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [string] + ${ServerId}, + + [string] + ${Description}, + + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [object] + ${ExcelServiceApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPExcelDataConnectionLibrary { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [string] + ${Address}, + + [string] + ${Description}, + + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [object] + ${ExcelServiceApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPExcelDataProvider { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [string] + ${ProviderId}, + + [object] + ${ProviderType}, + + [string] + ${Description}, + + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPExcelFileLocation { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [string] + ${Address}, + + [object] + ${LocationType}, + + [switch] + ${IncludeChildren}, + + [int] + ${SessionTimeout}, + + [int] + ${ShortSessionTimeout}, + + [int] + ${NewWorkbookSessionTimeout}, + + [int] + ${RequestDurationMax}, + + [int] + ${ChartRenderDurationMax}, + + [int] + ${WorkbookSizeMax}, + + [int] + ${ChartAndImageSizeMax}, + + [int] + ${AutomaticVolatileFunctionCacheLifetime}, + + [object] + ${DefaultWorkbookCalcMode}, + + [object] + ${ExternalDataAllowed}, + + [switch] + ${WarnOnDataRefresh}, + + [switch] + ${DisplayGranularExtDataErrors}, + + [switch] + ${AbortOnRefreshOnOpenFail}, + + [int] + ${PeriodicExtDataCacheLifetime}, + + [int] + ${ManualExtDataCacheLifetime}, + + [int] + ${ConcurrentDataRequestsPerSessionMax}, + + [switch] + ${UdfsAllowed}, + + [string] + ${Description}, + + [switch] + ${RESTExternalDataAllowed}, + + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [object] + ${ExcelServiceApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPExcelServiceApplication { + [CmdletBinding(DefaultParameterSetName='ExistingTargetApplicationParameterSet', SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [int] + ${ExternalDataConnectionLifetime}, + + [Parameter(ParameterSetName='ExistingTargetApplicationParameterSet')] + [string] + ${UnattendedAccountApplicationId}, + + [object] + ${LoadBalancingScheme}, + + [int] + ${SessionsPerUserMax}, + + [int] + ${PrivateBytesMax}, + + [int] + ${MemoryCacheThreshold}, + + [int] + ${UnusedObjectAgeMax}, + + [int] + ${ThrottleAccessViolationsPerSiteCollection}, + + [int] + ${SiteCollectionAnonymousSessionsMax}, + + [string] + ${WorkbookCache}, + + [int] + ${WorkbookCacheSizeMax}, + + [switch] + ${CachingOfUnusedFilesEnable}, + + [object] + ${FileAccessMethod}, + + [object] + ${EncryptedUserConnectionRequired}, + + [switch] + ${CrossDomainAccessAllowed}, + + [switch] + ${TerminateProcessOnAccessViolation}, + + [switch] + ${UseEffectiveUserName}, + + [string] + ${WorkbookModelUsageTracker}, + + [Parameter(Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ParameterSetName='NewTargetApplicationParameterSet')] + [pscredential] + ${UnattendedServiceAccount}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPExcelUserDefinedFunction { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [string] + ${Assembly}, + + [object] + ${AssemblyLocation}, + + [switch] + ${Enable}, + + [string] + ${Description}, + + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [object] + ${ExcelServiceApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPFarmConfig { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(ValueFromPipelineByPropertyName=$true)] + [int] + ${WorkflowBatchSize}, + + [Parameter(ValueFromPipelineByPropertyName=$true)] + [int] + ${WorkflowPostponeThreshold}, + + [Parameter(ValueFromPipelineByPropertyName=$true)] + [int] + ${WorkflowEventDeliveryTimeout}, + + [Parameter(ValueFromPipelineByPropertyName=$true)] + [switch] + ${InstalledProductsRefresh}, + + [Parameter(ValueFromPipelineByPropertyName=$true)] + [bool] + ${DataFormWebPartAutoRefreshEnabled}, + + [Parameter(ValueFromPipelineByPropertyName=$true)] + [bool] + ${ASPScriptOptimizationEnabled}, + + [switch] + ${ServiceConnectionPointDelete}, + + [string] + ${ServiceConnectionPointBindingInformation}, + + [switch] + ${Force}, + + [System.Nullable[switch]] + ${UserAccountDirectoryPathIsImmutable}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPInfoPathFormsService { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [object] + ${Identity}, + + [ValidateSet('true','false')] + [string] + ${AllowUserFormBrowserEnabling}, + + [ValidateSet('true','false')] + [string] + ${AllowUserFormBrowserRendering}, + + [ValidateRange(0, 2147483647)] + [System.Nullable[int]] + ${DefaultDataConnectionTimeout}, + + [ValidateRange(0, 2147483647)] + [System.Nullable[int]] + ${MemoryCacheSize}, + + [ValidateRange(0, 2147483647)] + [System.Nullable[int]] + ${MaxDataConnectionTimeout}, + + [ValidateRange(0, 2147483647)] + [System.Nullable[int]] + ${MaxDataConnectionResponseSize}, + + [ValidateSet('true','false')] + [string] + ${RequireSslForDataConnections}, + + [ValidateSet('true','false')] + [string] + ${AllowEmbeddedSqlForDataConnections}, + + [ValidateSet('true','false')] + [string] + ${AllowUdcAuthenticationForDataConnections}, + + [ValidateSet('true','false')] + [string] + ${AllowUserFormCrossDomainDataConnections}, + + [ValidateRange(0, 999999)] + [System.Nullable[int]] + ${MaxPostbacksPerSession}, + + [ValidateRange(0, 999999)] + [System.Nullable[int]] + ${MaxUserActionsPerPostback}, + + [ValidateRange(0, 999999)] + [System.Nullable[int]] + ${ActiveSessionTimeout}, + + [ValidateRange(0, 99999999)] + [System.Nullable[int]] + ${MaxSizeOfUserFormState}, + + [ValidateSet('true','false')] + [string] + ${AllowViewState}, + + [ValidateRange(0, 99999999)] + [System.Nullable[int]] + ${ViewStateThreshold}, + + [ValidateRange(0, 99999999)] + [System.Nullable[int]] + ${MaxFormLoadTime}, + + [ValidateRange(0, 99999999)] + [System.Nullable[int]] + ${MaxDataConnectionRoundTrip}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPInfoPathFormTemplate { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [ValidateLength(0, 255)] + [string] + ${Category}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPInfoPathWebServiceProxy { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [ValidateSet('true','false')] + [string] + ${AllowWebServiceProxy}, + + [ValidateSet('true','false')] + [string] + ${AllowForUserForms}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPInternalAppStateUpdateInterval { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true)] + [ValidateRange(0, 32768)] + [int] + ${AppStateSyncHours}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPIRMSettings { + [CmdletBinding(DefaultParameterSetName='UseServiceDiscovery', SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true)] + [switch] + ${IrmEnabled}, + + [switch] + ${SubscriptionScopeSettingsEnabled}, + + [Parameter(ParameterSetName='UseServiceDiscovery')] + [switch] + ${UseActiveDirectoryDiscovery}, + + [Parameter(ParameterSetName='UseSpecifiedCertificateUrl', Mandatory=$true)] + [uri] + ${CertificateServerUrl}, + + [ValidateNotNull()] + [System.Security.Cryptography.X509Certificates.X509Certificate2] + ${ServiceAuthenticationCertificate}, + + [ValidateNotNull()] + [securestring] + ${CertificatePassword}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPLogLevel { + [CmdletBinding()] +param( + [string] + ${TraceSeverity}, + + [string] + ${EventSeverity}, + + [string[]] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [psobject] + ${InputObject}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPManagedAccount { + [CmdletBinding(DefaultParameterSetName='Default', SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [string] + ${Schedule}, + + [int] + ${PreExpireDays}, + + [int] + ${EmailNotification}, + + [Parameter(ParameterSetName='AutoGeneratePassword')] + [switch] + ${AutoGeneratePassword}, + + [Parameter(ParameterSetName='NewPasswordAsParameter', Mandatory=$true)] + [securestring] + ${Password}, + + [Parameter(ParameterSetName='NewPassword')] + [switch] + ${SetNewPassword}, + + [Parameter(ParameterSetName='NewPassword', Mandatory=$true)] + [securestring] + ${NewPassword}, + + [Parameter(ParameterSetName='NewPassword', Mandatory=$true)] + [securestring] + ${ConfirmPassword}, + + [Parameter(ParameterSetName='ExistingPassword')] + [switch] + ${UseExistingPassword}, + + [Parameter(ParameterSetName='ExistingPassword', Mandatory=$true)] + [securestring] + ${ExistingPassword}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPMetadataServiceApplication { + [CmdletBinding(DefaultParameterSetName='Default', SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [string] + ${AdministratorAccount}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${ApplicationPool}, + + [string] + ${DatabaseName}, + + [string] + ${DatabaseServer}, + + [pscredential] + ${DatabaseCredentials}, + + [string] + ${FailoverDatabaseServer}, + + [string] + ${FullAccessAccount}, + + [string] + ${HubUri}, + + [int] + ${CacheTimeCheckInterval}, + + [int] + ${MaxChannelCache}, + + [switch] + ${DoNotUnpublishAllPackages}, + + [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}, + + [string] + ${Name}, + + [string] + ${ReadAccessAccount}, + + [string] + ${RestrictedAccount}, + + [switch] + ${SyndicationErrorReportEnabled}, + + [Parameter(ParameterSetName='NoQuota', Mandatory=$true)] + [switch] + ${DisablePartitionQuota}, + + [Parameter(ParameterSetName='Quota', Mandatory=$true)] + [ValidateRange(0, 2147483647)] + [int] + ${GroupsPerPartition}, + + [Parameter(ParameterSetName='Quota', Mandatory=$true)] + [ValidateRange(0, 2147483647)] + [int] + ${TermSetsPerPartition}, + + [Parameter(ParameterSetName='Quota', Mandatory=$true)] + [ValidateRange(0, 2147483647)] + [int] + ${TermsPerPartition}, + + [Parameter(ParameterSetName='Quota', Mandatory=$true)] + [ValidateRange(0, 2147483647)] + [int] + ${LabelsPerPartition}, + + [Parameter(ParameterSetName='Quota', Mandatory=$true)] + [ValidateRange(0, 2147483647)] + [int] + ${PropertiesPerPartition}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPMetadataServiceApplicationProxy { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [switch] + ${ContentTypeSyndicationEnabled}, + + [switch] + ${ContentTypePushdownEnabled}, + + [switch] + ${DefaultKeywordTaxonomy}, + + [switch] + ${DefaultProxyGroup}, + + [switch] + ${DefaultSiteCollectionTaxonomy}, + + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [string] + ${Name}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPMobileMessagingAccount { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0)] + [Alias('ServiceType','AccountType')] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${WebApplication}, + + [string] + ${ServiceName}, + + [string] + ${ServiceUrl}, + + [string] + ${UserId}, + + [string] + ${Password}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPODataConnectionSetting { + [CmdletBinding(DefaultParameterSetName='Name', SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [object] + ${ServiceContext}, + + [Parameter(ParameterSetName='Name', Mandatory=$true)] + [ValidateNotNull()] + [ValidateLength(0, 246)] + [string] + ${Name}, + + [ValidateNotNull()] + [uri] + ${ServiceAddressURL}, + + [ValidateNotNull()] + [object] + ${AuthenticationMode}, + + [ValidateNotNull()] + [ValidateLength(0, 1024)] + [string] + ${SecureStoreTargetApplicationId}, + + [string] + ${ExtensionProvider}, + + [Parameter(ParameterSetName='Identity', Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPODataConnectionSettingMetadata { + [CmdletBinding(DefaultParameterSetName='Name', SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [object] + ${ServiceContext}, + + [Parameter(ParameterSetName='Name', Mandatory=$true)] + [ValidateLength(0, 255)] + [ValidateNotNull()] + [string] + ${Name}, + + [ValidateNotNull()] + [uri] + ${ServiceAddressMetadataURL}, + + [ValidateNotNull()] + [object] + ${AuthenticationMode}, + + [ValidateNotNull()] + [ValidateLength(0, 1024)] + [string] + ${SecureStoreTargetApplicationId}, + + [Parameter(ParameterSetName='Identity', Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPOfficeStoreAppsDefaultActivation { + [CmdletBinding(DefaultParameterSetName='AppsForOfficeSettingsInWebApplication', SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true)] + [bool] + ${Enable}, + + [Parameter(ParameterSetName='AppsForOfficeSettingsInWebApplication', Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${WebApplication}, + + [Parameter(ParameterSetName='AppsForOfficeSettingsInSiteSubscription', Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SiteSubscription}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPPassPhrase { + [CmdletBinding(DefaultParameterSetName='AcrossFarm', SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true)] + [securestring] + ${PassPhrase}, + + [Parameter(ParameterSetName='AcrossFarm', Mandatory=$true)] + [securestring] + ${ConfirmPassPhrase}, + + [Parameter(ParameterSetName='LocalOnly')] + [switch] + ${LocalServerOnly}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPPerformancePointSecureDataValues { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [object] + ${ServiceApplication}, + + [Parameter(Mandatory=$true)] + [pscredential] + ${DataSourceUnattendedServiceAccount}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPPerformancePointServiceApplication { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [object] + ${ApplicationPool}, + + [bool] + ${CommentsDisabled}, + + [int] + ${CommentsScorecardMax}, + + [int] + ${IndicatorImageCacheSeconds}, + + [int] + ${DataSourceQueryTimeoutSeconds}, + + [int] + ${FilterRememberUserSelectionsDays}, + + [int] + ${FilterTreeMembersMax}, + + [int] + ${FilterSearchResultsMax}, + + [int] + ${ShowDetailsInitialRows}, + + [bool] + ${ShowDetailsMaxRowsDisabled}, + + [int] + ${ShowDetailsMaxRows}, + + [bool] + ${MSMQEnabled}, + + [string] + ${MSMQName}, + + [int] + ${SessionHistoryHours}, + + [bool] + ${AnalyticQueryLoggingEnabled}, + + [bool] + ${TrustedDataSourceLocationsRestricted}, + + [bool] + ${TrustedContentLocationsRestricted}, + + [int] + ${SelectMeasureMaximum}, + + [int] + ${DecompositionTreeMaximum}, + + [bool] + ${ApplicationProxyCacheEnabled}, + + [bool] + ${ApplicationCacheEnabled}, + + [int] + ${ApplicationCacheMinimumHitCount}, + + [int] + ${AnalyticResultCacheMinimumHitCount}, + + [int] + ${ElementCacheSeconds}, + + [int] + ${AnalyticQueryCellMax}, + + [string] + ${SettingsDatabase}, + + [string] + ${DatabaseServer}, + + [string] + ${DatabaseName}, + + [pscredential] + ${DatabaseSQLAuthenticationCredential}, + + [string] + ${DatabaseFailoverServer}, + + [bool] + ${DatabaseUseWindowsAuthentication}, + + [string] + ${DataSourceUnattendedServiceAccountTargetApplication}, + + [bool] + ${UseEffectiveUserName}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPPowerPointConversionServiceApplication { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [uint32] + ${CacheExpirationPeriodInSeconds}, + + [uint32] + ${WorkerProcessCount}, + + [uint32] + ${WorkerKeepAliveTimeoutInSeconds}, + + [uint32] + ${WorkerTimeoutInSeconds}, + + [uint32] + ${MaximumConversionsPerWorker}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPProfileServiceApplication { + [CmdletBinding(DefaultParameterSetName='Default', SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [string] + ${Name}, + + [object] + ${ApplicationPool}, + + [pscredential] + ${ProfileDBCredentials}, + + [string] + ${ProfileDBFailoverServer}, + + [pscredential] + ${SocialDBCredentials}, + + [string] + ${SocialDBFailoverServer}, + + [pscredential] + ${ProfileSyncDBCredentials}, + + [string] + ${ProfileSyncDBFailoverServer}, + + [Parameter(ValueFromPipeline=$true)] + [Parameter(ParameterSetName='MySiteSettings', Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${MySiteHostLocation}, + + [Parameter(ParameterSetName='MySiteSettings', ValueFromPipeline=$true)] + [object] + ${MySiteManagedPath}, + + [Parameter(ParameterSetName='MySiteSettings')] + [ValidateSet('None','Resolve','Block')] + [string] + ${SiteNamingConflictResolution}, + + [bool] + ${PurgeNonImportedObjects}, + + [bool] + ${UseOnlyPreferredDomainControllers}, + + [bool] + ${GetNonImportedObjects}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPProfileServiceApplicationProxy { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [string] + ${Name}, + + [switch] + ${DefaultProxyGroup}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${MySiteHostLocation}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${MySiteManagedPath}, + + [ValidateSet('None','Resolve','Block')] + [string] + ${SiteNamingConflictResolution}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPProfileServiceApplicationSecurity { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${ProfileServiceApplicationProxy}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${SiteSubscription}, + + [ValidateSet('UserACL','MySiteReaderACL')] + [string] + ${Type}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPRequestManagementSettings { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [ValidateNotNull()] + [System.Nullable[switch]] + ${RoutingEnabled}, + + [ValidateNotNull()] + [System.Nullable[switch]] + ${ThrottlingEnabled}, + + [ValidateNotNull()] + [object] + ${RoutingScheme}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPRoutingMachineInfo { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [ValidateNotNull()] + [object] + ${Availability}, + + [ValidateNotNull()] + [object] + ${OutgoingScheme}, + + [ValidateRange(1, 65535)] + [ValidateNotNull()] + [System.Nullable[int]] + ${OutgoingPort}, + + [ValidateNotNull()] + [switch] + ${ClearOutgoingPort}, + + [ValidateNotNull()] + [System.Nullable[double]] + ${StaticWeight}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPRoutingMachinePool { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [ValidateNotNull()] + [object] + ${MachineTargets}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPRoutingRule { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [ValidateNotNull()] + [object] + ${Criteria}, + + [object] + ${MachinePool}, + + [ValidateNotNull()] + [System.Nullable[int]] + ${ExecutionGroup}, + + [ValidateNotNull()] + [System.Nullable[datetime]] + ${Expiration}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPScaleOutDatabaseDataRange { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${Database}, + + [Parameter(Mandatory=$true)] + [object] + ${Range}, + + [byte[]] + ${NewRangePoint}, + + [Parameter(Mandatory=$true)] + [bool] + ${IsUpperSubRange}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPScaleOutDatabaseDataSubRange { + [CmdletBinding(DefaultParameterSetName='AttachedDatabase', SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='AttachedDatabase', Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Database}, + + [Parameter(ParameterSetName='UnattachedDatabase', Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${ConnectionString}, + + [Parameter(ParameterSetName='UnattachedDatabase')] + [switch] + ${IsAzureDatabase}, + + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [object] + ${Range}, + + [byte[]] + ${SubRangePoint}, + + [Parameter(Mandatory=$true)] + [object] + ${SubRangeMode}, + + [Parameter(Mandatory=$true)] + [bool] + ${IsUpperSubRange}, + + [switch] + ${IgnoreSubRangePointOnBoundary}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPSecureStoreApplication { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [object] + ${Administrator}, + + [object] + ${CredentialsOwnerGroup}, + + [object] + ${Fields}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [object] + ${TargetApplication}, + + [object] + ${TicketRedeemer}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPSecureStoreDefaultProvider { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [type] + ${Type}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPSecureStoreServiceApplication { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [object] + ${ApplicationPool}, + + [switch] + ${AuditingEnabled}, + + [System.Nullable[int]] + ${AuditlogMaxSize}, + + [pscredential] + ${DatabaseCredentials}, + + [string] + ${DatabaseName}, + + [securestring] + ${DatabasePassword}, + + [ValidateNotNullOrEmpty()] + [string] + ${DatabaseServer}, + + [string] + ${DatabaseUsername}, + + [string] + ${FailoverDatabaseServer}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [switch] + ${Sharing}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPSecurityTokenServiceConfig { + [CmdletBinding(DefaultParameterSetName='SigningCertificateImport', SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(ParameterSetName='SigningCertificateImport')] + [ValidateNotNull()] + [System.Security.Cryptography.X509Certificates.X509Certificate2] + ${ImportSigningCertificate}, + + [Parameter(ParameterSetName='SigningCertificateReference', Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${SigningCertificateThumbprint}, + + [Parameter(ParameterSetName='SigningCertificateReference')] + [ValidateNotNullOrEmpty()] + [string] + ${SigningCertificateStoreName}, + + [Parameter(ParameterSetName='SigningCertificateQueue')] + [ValidateNotNull()] + [System.Security.Cryptography.X509Certificates.X509Certificate2] + ${QueueSigningCertificate}, + + [Parameter(ParameterSetName='QueueSigningCertificateReference', Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${QueueSigningCertificateThumbprint}, + + [Parameter(ParameterSetName='QueueSigningCertificateReference')] + [ValidateNotNullOrEmpty()] + [string] + ${QueueSigningCertificateStoreName}, + + [Parameter(ParameterSetName='SigningCertificateRevoke')] + [ValidateNotNull()] + [System.Security.Cryptography.X509Certificates.X509Certificate2] + ${RevokeSigningCertificate}, + + [Parameter(ParameterSetName='RevokeSigningCertificateReference', Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${RevokeSigningCertificateThumbprint}, + + [Parameter(ParameterSetName='RevokeSigningCertificateReference')] + [ValidateNotNullOrEmpty()] + [string] + ${RevokeSigningCertificateStoreName}, + + [int] + ${ServiceTokenLifetime}, + + [int] + ${ServiceTokenCacheExpirationWindow}, + + [int] + ${FormsTokenLifetime}, + + [int] + ${WindowsTokenLifetime}, + + [int] + ${MaxLogonTokenCacheItems}, + + [int] + ${MaxServiceTokenCacheItems}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPServerScaleOutDatabaseDataRange { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${Database}, + + [Parameter(Mandatory=$true)] + [object] + ${Range}, + + [byte[]] + ${NewRangePoint}, + + [Parameter(Mandatory=$true)] + [bool] + ${IsUpperSubRange}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPServerScaleOutDatabaseDataSubRange { + [CmdletBinding(DefaultParameterSetName='AttachedDatabase', SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='AttachedDatabase', Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Database}, + + [Parameter(ParameterSetName='UnattachedDatabase', Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${ConnectionString}, + + [Parameter(ParameterSetName='UnattachedDatabase')] + [switch] + ${IsAzureDatabase}, + + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [object] + ${Range}, + + [byte[]] + ${SubRangePoint}, + + [Parameter(Mandatory=$true)] + [object] + ${SubRangeMode}, + + [Parameter(Mandatory=$true)] + [bool] + ${IsUpperSubRange}, + + [switch] + ${IgnoreSubRangePointOnBoundary}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPServiceApplication { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [ValidateNotNull()] + [object] + ${DefaultEndpoint}, + + [ValidateNotNull()] + [object] + ${ServiceApplicationProxyGroup}, + + [ValidateNotNull()] + [object] + ${IisWebServiceApplicationPool}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPServiceApplicationEndpoint { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(ParameterSetName='HostName', Mandatory=$true)] + [ValidateNotNull()] + [string] + ${HostName}, + + [Parameter(ParameterSetName='ResetHostName', Mandatory=$true)] + [switch] + ${ResetHostName}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPServiceApplicationPool { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(Position=1)] + [object] + ${Account}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPServiceApplicationSecurity { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, Position=1)] + [ValidateNotNull()] + [object] + ${ObjectSecurity}, + + [switch] + ${Admin}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPServiceHostConfig { + [CmdletBinding(DefaultParameterSetName='SslCertificateImport', SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(ParameterSetName='SslCertificateImport', Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [Parameter(ParameterSetName='SslCertificateReference', Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(ParameterSetName='SslCertificateReference')] + [Parameter(ParameterSetName='SslCertificateImport')] + [Alias('Port')] + [ValidateRange(1, 65535)] + [int] + ${HttpPort}, + + [Parameter(ParameterSetName='SslCertificateImport')] + [Parameter(ParameterSetName='SslCertificateReference')] + [Alias('SecurePort')] + [ValidateRange(1, 65535)] + [int] + ${HttpsPort}, + + [Parameter(ParameterSetName='SslCertificateImport')] + [Parameter(ParameterSetName='SslCertificateReference')] + [ValidateRange(1, 65535)] + [int] + ${NetTcpPort}, + + [Parameter(ParameterSetName='SslCertificateReference', Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${SslCertificateThumbprint}, + + [Parameter(ParameterSetName='SslCertificateReference')] + [ValidateNotNullOrEmpty()] + [string] + ${SslCertificateStoreName}, + + [Parameter(ParameterSetName='SslCertificateImport')] + [ValidateNotNull()] + [System.Security.Cryptography.X509Certificates.X509Certificate2] + ${ImportSslCertificate}, + + [switch] + ${NoWait}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPSessionStateService { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [System.Nullable[int]] + ${SessionTimeout}, + + [Parameter(ParameterSetName='AdvancedProvision')] + [pscredential] + ${DatabaseCredentials}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPSite { + [CmdletBinding(DefaultParameterSetName='Default', SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ParameterSetName='Default')] + [object] + ${OwnerAlias}, + + [Parameter(ParameterSetName='Default')] + [object] + ${QuotaTemplate}, + + [Parameter(ParameterSetName='Default')] + [object] + ${Template}, + + [Parameter(ParameterSetName='Default')] + [string] + ${Url}, + + [Parameter(ParameterSetName='Default')] + [long] + ${MaxSize}, + + [Parameter(ParameterSetName='Default')] + [long] + ${WarningSize}, + + [Parameter(ParameterSetName='Default')] + [string] + ${SharingType}, + + [Parameter(ParameterSetName='Default')] + [ValidateSet('Unlock','NoAdditions','ReadOnly','NoAccess')] + [string] + ${LockState}, + + [Parameter(ParameterSetName='Default')] + [object] + ${SecondaryOwnerAlias}, + + [Parameter(ParameterSetName='Default')] + [string] + ${UserAccountDirectoryPath}, + + [Parameter(ParameterSetName='SiteSubscription')] + [object] + ${SiteSubscription}, + + [Parameter(ParameterSetName='SiteSubscription')] + [switch] + ${Force}, + + [object] + ${AdministrationSiteType}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPSiteAdministration { + [CmdletBinding(DefaultParameterSetName='Default', SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ParameterSetName='Default')] + [object] + ${OwnerAlias}, + + [Parameter(ParameterSetName='Default')] + [object] + ${SecondaryOwnerAlias}, + + [Parameter(ParameterSetName='Default')] + [object] + ${Template}, + + [Parameter(ParameterSetName='Default')] + [ValidateSet('Unlock','NoAdditions','ReadOnly','NoAccess')] + [string] + ${LockState}, + + [Parameter(ParameterSetName='Default')] + [long] + ${MaxSize}, + + [Parameter(ParameterSetName='Default')] + [long] + ${WarningSize}, + + [Parameter(ParameterSetName='SiteSubscription')] + [object] + ${SiteSubscription}, + + [Parameter(ParameterSetName='SiteSubscription')] + [switch] + ${Force}, + + [object] + ${AdministrationSiteType}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPSiteSubscriptionConfig { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(ValueFromPipelineByPropertyName=$true)] + [string] + ${UserAccountDirectoryPath}, + + [Parameter(ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [object] + ${FeaturePack}, + + [switch] + ${PassThru}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPSiteSubscriptionEdiscoveryHub { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${Site}, + + [Parameter(ValueFromPipelineByPropertyName=$true)] + [string] + ${SearchScope}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPSiteSubscriptionIRMConfig { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [switch] + ${IrmEnabled}, + + [Parameter(ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [uri] + ${CertificateServerUrl}, + + [switch] + ${PassThru}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPSiteSubscriptionMetadataConfig { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${ServiceProxy}, + + [Parameter(ValueFromPipelineByPropertyName=$true)] + [string] + ${HubUri}, + + [switch] + ${DoNotUnpublishAllPackages}, + + [switch] + ${SyndicationErrorReportEnabled}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPSiteSubscriptionProfileConfig { + [CmdletBinding(DefaultParameterSetName='Default', SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${ProfileServiceApplicationProxy}, + + [Parameter(ValueFromPipeline=$true)] + [Parameter(ParameterSetName='MySiteSettings', Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${MySiteHostLocation}, + + [Parameter(ParameterSetName='MySiteSettings', ValueFromPipeline=$true)] + [object] + ${MySiteManagedPath}, + + [Parameter(ParameterSetName='MySiteSettings')] + [ValidateSet('None','Resolve','Block')] + [string] + ${SiteNamingConflictResolution}, + + [string] + ${SynchronizationOU}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPSiteURL { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [object] + ${Zone}, + + [Parameter(Mandatory=$true)] + [string] + ${Url}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPStateServiceApplication { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [object] + ${Identity}, + + [string] + ${Name}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPStateServiceApplicationProxy { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [object] + ${Identity}, + + [string] + ${Name}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPStateServiceDatabase { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [Alias('Name')] + [object] + ${Identity}, + + [Parameter(Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [Alias('Application')] + [object] + ${ServiceApplication}, + + [ValidateRange(1, 10)] + [System.Nullable[int]] + ${Weight}, + + [pscredential] + ${DatabaseCredentials}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPSubscriptionSettingsServiceApplication { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [ValidateNotNullOrEmpty()] + [string] + ${DatabaseServer}, + + [ValidateNotNullOrEmpty()] + [string] + ${FailoverDatabaseServer}, + + [ValidateNotNullOrEmpty()] + [string] + ${DatabaseName}, + + [ValidateNotNull()] + [pscredential] + ${DatabaseCredentials}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPThrottlingRule { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [ValidateNotNull()] + [object] + ${Criteria}, + + [ValidateNotNull()] + [ValidateRange(0, 10)] + [System.Nullable[int]] + ${Threshold}, + + [ValidateNotNull()] + [System.Nullable[datetime]] + ${Expiration}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPTimerJob { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [ValidateNotNullOrEmpty()] + [string] + ${Schedule}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPTopologyServiceApplication { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(Mandatory=$true)] + [string] + ${LoadBalancerUrl}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPTopologyServiceApplicationProxy { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(Mandatory=$true)] + [string] + ${BadListPeriod}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPTranslationServiceApplication { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Low')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [object] + ${Identity}, + + [string] + ${DatabaseName}, + + [pscredential] + ${DatabaseCredential}, + + [string] + ${DatabaseServer}, + + [string] + ${FailoverDatabaseServer}, + + [System.Nullable[int]] + ${TimerJobFrequency}, + + [System.Nullable[int]] + ${MaximumTranslationAttempts}, + + [System.Nullable[int]] + ${KeepAliveTimeout}, + + [System.Nullable[int]] + ${MaximumTranslationTime}, + + [System.Nullable[int]] + ${TranslationsPerInstance}, + + [System.Nullable[int]] + ${MaximumSyncTranslationRequests}, + + [System.Nullable[int]] + ${RecycleProcessThreshold}, + + [System.Nullable[int]] + ${TotalActiveProcesses}, + + [string] + ${MachineTranslationClientId}, + + [string] + ${MachineTranslationCategory}, + + [switch] + ${UseDefaultInternetSettings}, + + [string] + ${WebProxyAddress}, + + [string] + ${MachineTranslationAddress}, + + [System.Nullable[int]] + ${JobExpirationDays}, + + [System.Nullable[int]] + ${MaximumItemsPerDay}, + + [System.Nullable[int]] + ${MaximumItemsPerPartitionPerDay}, + + [System.Nullable[int]] + ${MaximumBinaryFileSize}, + + [System.Nullable[int]] + ${MaximumTextFileSize}, + + [System.Nullable[int]] + ${MaximumWordCharacterCount}, + + [System.Nullable[bool]] + ${DisableBinaryFileScan}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${ApplicationPool}, + + [string[]] + ${AddEnabledFileExtensions}, + + [string[]] + ${RemoveEnabledFileExtensions}, + + [switch] + ${ClearEnabledFileExtensions}, + + [switch] + ${EnableAllFileExtensions}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPTranslationServiceApplicationProxy { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Low')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [object] + ${Identity}, + + [System.Nullable[int]] + ${MaximumGroupSize}, + + [System.Nullable[int]] + ${MaximumItemCount}, + + [switch] + ${DefaultProxyGroup}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPTranslationThrottlingSetting { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Low')] +param( + [System.Nullable[int]] + ${SiteQuota}, + + [System.Nullable[int]] + ${TenantQuota}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPTrustedIdentityTokenIssuer { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(ParameterSetName='BasicParameterSet', Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [Parameter(ParameterSetName='ImportCertificateParameterSet', Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [Parameter(ParameterSetName='MetadataEndPointParameterSet', Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(ParameterSetName='MetadataEndPointParameterSet')] + [Parameter(ParameterSetName='BasicParameterSet')] + [Parameter(ParameterSetName='ImportCertificateParameterSet')] + [ValidateNotNullOrEmpty()] + [string] + ${Description}, + + [Parameter(ParameterSetName='ImportCertificateParameterSet', Mandatory=$true)] + [ValidateNotNull()] + [System.Security.Cryptography.X509Certificates.X509Certificate2] + ${ImportTrustCertificate}, + + [Parameter(ParameterSetName='MetadataEndPointParameterSet', Mandatory=$true)] + [ValidateNotNull()] + [uri] + ${MetadataEndPoint}, + + [Parameter(ParameterSetName='MetadataEndPointParameterSet')] + [Parameter(ParameterSetName='BasicParameterSet')] + [Parameter(ParameterSetName='ImportCertificateParameterSet')] + [object] + ${ClaimsMappings}, + + [Parameter(ParameterSetName='MetadataEndPointParameterSet')] + [Parameter(ParameterSetName='ImportCertificateParameterSet')] + [Parameter(ParameterSetName='BasicParameterSet')] + [ValidateNotNullOrEmpty()] + [string] + ${SignInUrl}, + + [Parameter(ParameterSetName='MetadataEndPointParameterSet')] + [Parameter(ParameterSetName='BasicParameterSet')] + [Parameter(ParameterSetName='ImportCertificateParameterSet')] + [object] + ${ClaimProvider}, + + [Parameter(ParameterSetName='MetadataEndPointParameterSet')] + [Parameter(ParameterSetName='ImportCertificateParameterSet')] + [Parameter(ParameterSetName='BasicParameterSet')] + [string] + ${Realm}, + + [Parameter(ParameterSetName='MetadataEndPointParameterSet')] + [Parameter(ParameterSetName='ImportCertificateParameterSet')] + [Parameter(ParameterSetName='BasicParameterSet')] + [switch] + ${UseWReply}, + + [Parameter(ParameterSetName='ImportCertificateParameterSet')] + [Parameter(ParameterSetName='BasicParameterSet')] + [Parameter(ParameterSetName='MetadataEndPointParameterSet')] + [string] + ${RegisteredIssuerName}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPTrustedRootAuthority { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(ParameterSetName='ManualUpdateCertificateParameterSet')] + [ValidateNotNull()] + [System.Security.Cryptography.X509Certificates.X509Certificate2] + ${Certificate}, + + [Parameter(ParameterSetName='MetadataEndPointParameterSet')] + [ValidateNotNull()] + [uri] + ${MetadataEndPoint}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPTrustedSecurityTokenIssuer { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [ValidateNotNullOrEmpty()] + [string] + ${Description}, + + [string] + ${RegisteredIssuerName}, + + [Parameter(ParameterSetName='MetadataEndPointParameterSet')] + [ValidateNotNull()] + [uri] + ${MetadataEndPoint}, + + [Parameter(ParameterSetName='ImportCertificateParameterSet')] + [ValidateNotNull()] + [System.Security.Cryptography.X509Certificates.X509Certificate2] + ${Certificate}, + + [ValidateNotNullOrEmpty()] + [switch] + ${IsTrustBroker}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPTrustedServiceTokenIssuer { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [ValidateNotNullOrEmpty()] + [string] + ${Description}, + + [Parameter(ParameterSetName='ImportCertificateParameterSet')] + [ValidateNotNull()] + [System.Security.Cryptography.X509Certificates.X509Certificate2] + ${Certificate}, + + [Parameter(ParameterSetName='MetadataEndPointParameterSet')] + [ValidateNotNull()] + [uri] + ${MetadataEndPoint}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPUsageApplication { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [object] + ${UsageService}, + + [ValidateNotNullOrEmpty()] + [ValidateLength(1, 135)] + [string] + ${DatabaseServer}, + + [ValidateLength(1, 128)] + [ValidateNotNullOrEmpty()] + [string] + ${DatabaseName}, + + [ValidateNotNullOrEmpty()] + [ValidateLength(1, 128)] + [string] + ${DatabaseUsername}, + + [ValidateNotNull()] + [securestring] + ${DatabasePassword}, + + [switch] + ${EnableLogging}, + + [ValidateLength(1, 135)] + [string] + ${FailoverDatabaseServer}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPUsageDefinition { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [switch] + ${Enable}, + + [ValidateRange(0, 31)] + [int] + ${DaysRetained}, + + [ValidateRange(0, 31)] + [int] + ${DaysToKeepUsageFiles}, + + [ValidateRange(1, 9223372036854775807)] + [long] + ${MaxTotalSizeInBytes}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPUsageService { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true, HelpMessage='The max space, in GB, that Usage log files should take up.')] + [ValidateRange(1, 20)] + [uint32] + ${UsageLogMaxSpaceGB}, + + [Parameter(ValueFromPipeline=$true, HelpMessage='The location where Usage log files are created.')] + [ValidateNotNullOrEmpty()] + [ValidateLength(1, 181)] + [string] + ${UsageLogLocation}, + + [Parameter(ValueFromPipeline=$true, HelpMessage='The time interval, in minutes, that Usage log files should be cut and start a new one.')] + [ValidateRange(1, 1440)] + [uint32] + ${UsageLogCutTime}, + + [Parameter(ValueFromPipeline=$true, HelpMessage='The max usage file size, in KB, that Usage log files should be cut and start a new one.')] + [ValidateRange(512, 65536)] + [uint32] + ${UsageLogMaxFileSizeKB}, + + [System.Nullable[bool]] + ${LoggingEnabled}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPUser { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [Alias('UserAlias')] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${Web}, + + [object] + ${Group}, + + [string] + ${DisplayName}, + + [switch] + ${SyncFromAD}, + + [string[]] + ${AddPermissionLevel}, + + [string[]] + ${RemovePermissionLevel}, + + [switch] + ${ClearPermissions}, + + [switch] + ${PassThru}, + + [string] + ${Email}, + + [switch] + ${IsSiteCollectionAdmin}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPVisioExternalData { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [ValidateNotNullOrEmpty()] + [object] + ${VisioServiceApplication}, + + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${UnattendedServiceAccountApplicationID}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPVisioPerformance { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [ValidateNotNullOrEmpty()] + [object] + ${VisioServiceApplication}, + + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [long] + ${MaxDiagramSize}, + + [Parameter(Mandatory=$true)] + [int] + ${MinDiagramCacheAge}, + + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [int] + ${MaxDiagramCacheAge}, + + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [int] + ${MaxRecalcDuration}, + + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [long] + ${MaxCacheSize}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPVisioSafeDataProvider { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [ValidateNotNullOrEmpty()] + [object] + ${VisioServiceApplication}, + + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${DataProviderId}, + + [Parameter(Mandatory=$true)] + [int] + ${DataProviderType}, + + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${Description}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPVisioServiceApplication { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNullOrEmpty()] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, Position=1, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [ValidateNotNullOrEmpty()] + [object] + ${ServiceApplicationPool}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPWeb { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [string] + ${RelativeUrl}, + + [string] + ${Description}, + + [object] + ${Template}, + + [Obsolete('This control applies to SharePoint 2007 theming and is no longer functional')] + [string] + ${Theme}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPWebApplication { + [CmdletBinding(DefaultParameterSetName='UpdateGeneralSettings', SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ParameterSetName='UpdateClaimSettings', Mandatory=$true)] + [object] + ${Zone}, + + [Parameter(ParameterSetName='UpdateGeneralSettings')] + [int] + ${DefaultTimeZone}, + + [Parameter(ParameterSetName='UpdateGeneralSettings')] + [string] + ${DefaultQuotaTemplate}, + + [Parameter(ParameterSetName='UpdateMailSettings', Mandatory=$true)] + [string] + ${SMTPServer}, + + [Parameter(ParameterSetName='UpdateMailSettings')] + [string] + ${OutgoingEmailAddress}, + + [Parameter(ParameterSetName='UpdateMailSettings')] + [string] + ${ReplyToEmailAddress}, + + [Parameter(ParameterSetName='UpdateGeneralSettings')] + [Alias('ProxyGroup')] + [object] + ${ServiceApplicationProxyGroup}, + + [Parameter(ParameterSetName='UpdateClaimSettings')] + [object] + ${AuthenticationProvider}, + + [Parameter(ParameterSetName='UpdateClaimSettings')] + [object] + ${AdditionalClaimProvider}, + + [Parameter(ParameterSetName='UpdateClaimSettings')] + [string] + ${SignInRedirectURL}, + + [Parameter(ParameterSetName='UpdateClaimSettings')] + [object] + ${SignInRedirectProvider}, + + [Parameter(ParameterSetName='UpdateClaimSettings')] + [ValidateSet('Kerberos','NTLM')] + [string] + ${AuthenticationMethod}, + + [switch] + ${Force}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPWebApplicationHttpThrottlingMonitor { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, Position=1, ValueFromPipelineByPropertyName=$true)] + [string] + ${Category}, + + [Parameter(Mandatory=$true, Position=2, ValueFromPipelineByPropertyName=$true)] + [string] + ${Counter}, + + [Parameter(ValueFromPipelineByPropertyName=$true)] + [string] + ${Instance}, + + [Parameter(ValueFromPipelineByPropertyName=$true)] + [Alias('Upper')] + [ValidateRange(0, 1.7976931348623157E+308)] + [double] + ${UpperLimit}, + + [Parameter(ValueFromPipelineByPropertyName=$true)] + [Alias('Lower')] + [ValidateRange(0, 1.7976931348623157E+308)] + [double] + ${LowerLimit}, + + [Parameter(ValueFromPipelineByPropertyName=$true)] + [Alias('Buckets')] + [double[]] + ${HealthScoreBuckets}, + + [Parameter(ValueFromPipelineByPropertyName=$true)] + [switch] + ${IsDESC}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPWOPIBinding { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(Mandatory=$true)] + [switch] + ${DefaultAction}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPWOPIZone { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Position=0)] + [ValidateNotNullOrEmpty()] + [string] + ${Zone}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPWordConversionServiceApplication { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Low')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [object] + ${Identity}, + + [string] + ${DatabaseName}, + + [pscredential] + ${DatabaseCredential}, + + [string] + ${DatabaseServer}, + + [System.Nullable[int]] + ${TimerJobFrequency}, + + [System.Nullable[int]] + ${ConversionTimeout}, + + [System.Nullable[int]] + ${MaximumConversionAttempts}, + + [System.Nullable[int]] + ${KeepAliveTimeout}, + + [System.Nullable[int]] + ${MaximumConversionTime}, + + [System.Nullable[int]] + ${MaximumSyncConversionRequests}, + + [System.Nullable[int]] + ${ConversionsPerInstance}, + + [switch] + ${DisableEmbeddedFonts}, + + [switch] + ${DisableBinaryFileScan}, + + [System.Nullable[int]] + ${RecycleProcessThreshold}, + + [System.Nullable[int]] + ${ActiveProcesses}, + + [System.Nullable[int]] + ${MaximumMemoryUsage}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${ApplicationPool}, + + [string[]] + ${AddSupportedFormats}, + + [string[]] + ${RemoveSupportedFormats}, + + [switch] + ${ClearSupportedFormats}, + + [System.Nullable[int]] + ${MaximumGroupSize}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPWorkflowConfig { + [CmdletBinding()] +param( + [Parameter(ParameterSetName='WebApplication', Mandatory=$true, Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [object] + ${WebApplication}, + + [Parameter(ParameterSetName='SiteCollection', Mandatory=$true, Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [object] + ${SiteCollection}, + + [bool] + ${EmailNoPermissionParticipantsEnabled}, + + [bool] + ${SendDocumentToExternalParticipants}, + + [bool] + ${DeclarativeWorkflowsEnabled}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPWorkManagementServiceApplication { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${ApplicationPool}, + + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [string] + ${Name}, + + [Parameter(HelpMessage='This value specifies the minimum amount of time between refreshes for a provider for a given user.')] + [timespan] + ${MinimumTimeBetweenProviderRefreshes}, + + [Parameter(HelpMessage='This value specifies the minimum amount of time between calls to search for a given user.')] + [timespan] + ${MinimumTimeBetweenSearchQueries}, + + [Parameter(HelpMessage='This value specifies the minimum amount of time between calls into our routine that tries to find new tenants that want to sync EWS tasks.')] + [timespan] + ${MinimumTimeBetweenEwsSyncSubscriptionSearches}, + + [Parameter(HelpMessage='This value specifies the maximum number of users a service instance will try to sync on a given tenant via EWS per Timer job interval')] + [uint32] + ${NumberOfUsersPerEwsSyncBatch}, + + [Parameter(HelpMessage='This value specifies the maximum number of users a service instance machine will sync via EWS at one time across all tenants.')] + [uint32] + ${NumberOfUsersEwsSyncWillProcessAtOnce}, + + [Parameter(HelpMessage='This value specifies the maximum number of tenants the service will try to sync via EWS per Timer job interval')] + [uint32] + ${NumberOfSubscriptionSyncsPerEwsSyncRun}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPWorkManagementServiceApplicationProxy { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [switch] + ${DefaultProxyGroup}, + + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [string] + ${Name}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Split-SPScaleOutDatabase { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='NewDatabase', Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${NewDatabaseName}, + + [Parameter(ParameterSetName='NewDatabase')] + [ValidateNotNullOrEmpty()] + [string] + ${NewDatabaseServer}, + + [Parameter(ParameterSetName='NewDatabase')] + [ValidateNotNullOrEmpty()] + [string] + ${NewDatabaseFailoverServer}, + + [Parameter(ParameterSetName='NewDatabase')] + [ValidateNotNull()] + [pscredential] + ${NewDatabaseCredentials}, + + [Parameter(ParameterSetName='ExistingDatabase', Mandatory=$true)] + [ValidateNotNull()] + [object] + ${TargetDatabase}, + + [Parameter(Mandatory=$true)] + [object] + ${SourceDatabase}, + + [Parameter(Mandatory=$true)] + [object] + ${SourceServiceApplication}, + + [int] + ${SourcePercentage}, + + [switch] + ${MoveLowerHalf}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Split-SPServerScaleOutDatabase { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='NewDatabase', Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${NewDatabaseName}, + + [Parameter(ParameterSetName='NewDatabase')] + [ValidateNotNullOrEmpty()] + [string] + ${NewDatabaseServer}, + + [Parameter(ParameterSetName='NewDatabase')] + [ValidateNotNullOrEmpty()] + [string] + ${NewDatabaseFailoverServer}, + + [Parameter(ParameterSetName='NewDatabase')] + [ValidateNotNull()] + [pscredential] + ${NewDatabaseCredentials}, + + [Parameter(ParameterSetName='ExistingDatabase', Mandatory=$true)] + [ValidateNotNull()] + [object] + ${TargetDatabase}, + + [Parameter(Mandatory=$true)] + [object] + ${SourceDatabase}, + + [Parameter(Mandatory=$true)] + [object] + ${SourceServiceApplication}, + + [int] + ${SourcePercentage}, + + [switch] + ${MoveLowerHalf}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Start-SPAdminJob { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Start-SPAssignment { + [CmdletBinding()] +param( + [switch] + ${Global}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Start-SPContentDeploymentJob { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [object] + ${Identity}, + + [switch] + ${WaitEnabled}, + + [string] + ${DeploySinceTime}, + + [switch] + ${TestEnabled}, + + [string] + ${UseSpecificSnapshot}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Start-SPDiagnosticsSession { + [CmdletBinding()] +param( + [guid] + ${CorrelationId}, + + [switch] + ${Dashboard}, + + [ValidateSet('High','Medium','Monitorable','Unexpected','Verbose','VerboseEx','None')] + [string] + ${TraceLevel}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Start-SPEnterpriseSearchQueryAndSiteSettingsServiceInstance { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Start-SPEnterpriseSearchServiceInstance { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Start-SPInfoPathFormTemplate { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Start-SPServiceInstance { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Start-SPTimerJob { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Stop-SPAssignment { + [CmdletBinding()] +param( + [switch] + ${Global}, + + [Parameter(Position=0, ValueFromPipeline=$true)] + [object] + ${SemiGlobal}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Stop-SPDiagnosticsSession { + [CmdletBinding()] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Stop-SPDistributedCacheServiceInstance { + [CmdletBinding()] +param( + [Parameter(Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [switch] + ${Graceful}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Stop-SPEnterpriseSearchQueryAndSiteSettingsServiceInstance { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Stop-SPEnterpriseSearchServiceInstance { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Stop-SPInfoPathFormTemplate { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [ValidateRange(0, 1440)] + [System.Nullable[int]] + ${TimeLeft}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Stop-SPServiceInstance { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Suspend-SPEnterpriseSearchServiceApplication { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Suspend-SPStateServiceDatabase { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [Alias('Name')] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Test-SPContentDatabase { + [CmdletBinding(DefaultParameterSetName='ContentDatabaseById')] +param( + [Parameter(ParameterSetName='ContentDatabaseByName', Mandatory=$true)] + [ValidateNotNull()] + [string] + ${Name}, + + [Parameter(ParameterSetName='ContentDatabaseByName', Mandatory=$true)] + [ValidateNotNull()] + [object] + ${WebApplication}, + + [ValidateNotNull()] + [object] + ${ServerInstance}, + + [ValidateNotNull()] + [pscredential] + ${DatabaseCredentials}, + + [switch] + ${ShowRowCounts}, + + [switch] + ${ShowLocation}, + + [Parameter(ParameterSetName='ContentDatabaseById', Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [switch] + ${ExtendedCheck}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Test-SPInfoPathFormTemplate { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [string] + ${Path}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Test-SPSite { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [guid] + ${RuleId}, + + [switch] + ${RunAlways}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Uninstall-SPAppInstance { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Uninstall-SPDataConnectionFile { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Uninstall-SPFeature { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [switch] + ${Force}, + + [int] + ${CompatibilityLevel}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Uninstall-SPHelpCollection { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${Name}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Uninstall-SPInfoPathFormTemplate { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Uninstall-SPSolution { + [CmdletBinding(DefaultParameterSetName='Default', SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ParameterSetName='OneWebApplication', Mandatory=$true)] + [object] + ${WebApplication}, + + [string] + ${Time}, + + [switch] + ${Local}, + + [Parameter(ParameterSetName='AllWebApplication', Mandatory=$true)] + [switch] + ${AllWebApplications}, + + [uint32] + ${Language}, + + [string] + ${CompatibilityLevel}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Uninstall-SPUserSolution { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(Mandatory=$true)] + [object] + ${Site}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Uninstall-SPWebPartPack { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0)] + [ValidateNotNullOrEmpty()] + [string] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${WebApplication}, + + [uint32] + ${Language}, + + [string] + ${CompatibilityLevel}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Unpublish-SPServiceApplication { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Update-SPAppCatalogConfiguration { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Site}, + + [switch] + ${SkipWebTemplateChecking}, + + [switch] + ${Force}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Update-SPAppInstance { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [object] + ${App}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Update-SPDistributedCacheSize { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [uint32] + ${CacheSizeInMB}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Update-SPFarmEncryptionKey { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [switch] + ${Resume}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Update-SPHelp { + [CmdletBinding()] +param( + [switch] + ${Force}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Update-SPInfoPathAdminFileUrl { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true)] + [uri] + ${Find}, + + [Parameter(Mandatory=$true)] + [uri] + ${Replace}, + + [switch] + ${Scan}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Update-SPInfoPathFormTemplate { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Update-SPInfoPathUserFileUrl { + [CmdletBinding(DefaultParameterSetName='WebApp', SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='WebApp', Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${WebApplication}, + + [Parameter(ParameterSetName='ContentDB', Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${ContentDatabase}, + + [Parameter(ParameterSetName='Site', Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Site}, + + [Parameter(Mandatory=$true)] + [uri] + ${Find}, + + [Parameter(Mandatory=$true)] + [uri] + ${Replace}, + + [switch] + ${Scan}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Update-SPProfilePhotoStore { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${MySiteHostLocation}, + + [bool] + ${CreateThumbnailsForImportedPhotos}, + + [bool] + ${NoDelete}, + + [uri] + ${OldBaseUri}, + + [uri] + ${NewBaseUri}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Update-SPRepopulateMicroblogFeedCache { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${ProfileServiceApplicationProxy}, + + [Parameter(ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${SiteSubscription}, + + [ValidateNotNull()] + [string] + ${AccountName}, + + [ValidateNotNull()] + [string] + ${SiteUrl}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Update-SPRepopulateMicroblogLMTCache { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${ProfileServiceApplicationProxy}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Update-SPSecureStoreApplicationServerKey { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [string] + ${Passphrase}, + + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [object] + ${ServiceApplicationProxy}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Update-SPSecureStoreCredentialMapping { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [object] + ${Principal}, + + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [securestring[]] + ${Values}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Update-SPSecureStoreGroupCredentialMapping { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [securestring[]] + ${Values}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Update-SPSecureStoreMasterKey { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [string] + ${Passphrase}, + + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [object] + ${ServiceApplicationProxy}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Update-SPSolution { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(Mandatory=$true)] + [string] + ${LiteralPath}, + + [string] + ${Time}, + + [switch] + ${CASPolicies}, + + [switch] + ${GACDeployment}, + + [switch] + ${FullTrustBinDeployment}, + + [switch] + ${Local}, + + [switch] + ${Force}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Update-SPUserSolution { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(Mandatory=$true)] + [object] + ${Site}, + + [Parameter(Mandatory=$true)] + [object] + ${ToSolution}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Update-SPWOPIProofKey { + [CmdletBinding()] +param( + [ValidateNotNullOrEmpty()] + [string] + ${ServerName}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Upgrade-SPContentDatabase { + [CmdletBinding(DefaultParameterSetName='ContentDatabaseById', SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(ParameterSetName='ContentDatabaseByName', Mandatory=$true)] + [ValidateNotNull()] + [object] + ${WebApplication}, + + [Parameter(ParameterSetName='ContentDatabaseByName', Mandatory=$true)] + [ValidateNotNull()] + [string] + ${Name}, + + [ValidateNotNull()] + [object] + ${ServerInstance}, + + [switch] + ${UseSnapshot}, + + [Parameter(ParameterSetName='ContentDatabaseById', Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(Position=1)] + [switch] + ${ForceDeleteLock}, + + [switch] + ${SkipIntegrityChecks}, + + [switch] + ${NoB2BSiteUpgrade}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Upgrade-SPEnterpriseSearchServiceApplication { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Upgrade-SPEnterpriseSearchServiceApplicationSiteSettings { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Upgrade-SPFarm { + [CmdletBinding(DefaultParameterSetName='FarmById', SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Upgrade-SPSingleSignOnDatabase { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${SSOConnectionString}, + + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${SecureStoreConnectionString}, + + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [securestring] + ${SecureStorePassphrase}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Upgrade-SPSite { + [CmdletBinding(DefaultParameterSetName='SPSiteById', SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(ParameterSetName='SPSiteById', Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [switch] + ${VersionUpgrade}, + + [switch] + ${QueueOnly}, + + [switch] + ${Email}, + + [switch] + ${Unthrottled}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + + diff --git a/Tests/Stubs/SharePoint/16.0.4316.1217/Microsoft.SharePoint.PowerShell.psm1 b/Tests/Stubs/SharePoint/16.0.4316.1217/Microsoft.SharePoint.PowerShell.psm1 new file mode 100644 index 000000000..1bbee345f --- /dev/null +++ b/Tests/Stubs/SharePoint/16.0.4316.1217/Microsoft.SharePoint.PowerShell.psm1 @@ -0,0 +1,22281 @@ +function Add-SPAppDeniedEndpoint { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0)] + [ValidateNotNullOrEmpty()] + [string] + ${Endpoint}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Add-SPClaimTypeMapping { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, Position=1)] + [ValidateNotNull()] + [object] + ${TrustedIdentityTokenIssuer}, + + [ValidateNotNull()] + [switch] + ${Force}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Add-SPDiagnosticsPerformanceCounter { + [CmdletBinding(DefaultParameterSetName='AddCounter', SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='AddMultipleCounters', Mandatory=$true, ValueFromPipelineByPropertyName=$true)] + [Parameter(ParameterSetName='AddInstance', Mandatory=$true, Position=1, ValueFromPipelineByPropertyName=$true)] + [Parameter(ParameterSetName='AddCounter', Mandatory=$true, Position=1, ValueFromPipelineByPropertyName=$true)] + [string] + ${Category}, + + [Parameter(ParameterSetName='AddInstance', ValueFromPipelineByPropertyName=$true)] + [Parameter(ParameterSetName='AddCounter', Mandatory=$true, ValueFromPipelineByPropertyName=$true)] + [string] + ${Counter}, + + [Parameter(ParameterSetName='AddMultipleCounters', Mandatory=$true, ValueFromPipelineByPropertyName=$true)] + [ValidateNotNull()] + [string[]] + ${CounterList}, + + [Parameter(ParameterSetName='AddInstance', Mandatory=$true, ValueFromPipelineByPropertyName=$true)] + [Parameter(ParameterSetName='AddMultipleCounters', ValueFromPipelineByPropertyName=$true)] + [string] + ${Instance}, + + [Parameter(ParameterSetName='AddCounter', ValueFromPipelineByPropertyName=$true)] + [Parameter(ParameterSetName='AddInstance', ValueFromPipelineByPropertyName=$true)] + [Parameter(ParameterSetName='AddMultipleCounters', ValueFromPipelineByPropertyName=$true)] + [switch] + ${WebFrontEnd}, + + [Parameter(ParameterSetName='AddInstance', ValueFromPipelineByPropertyName=$true)] + [Parameter(ParameterSetName='AddMultipleCounters', ValueFromPipelineByPropertyName=$true)] + [Parameter(ParameterSetName='AddCounter', ValueFromPipelineByPropertyName=$true)] + [switch] + ${DatabaseServer}, + + [Parameter(ParameterSetName='AddCounter', ValueFromPipelineByPropertyName=$true)] + [Parameter(ParameterSetName='AddMultipleCounters', ValueFromPipelineByPropertyName=$true)] + [Parameter(ParameterSetName='AddInstance', ValueFromPipelineByPropertyName=$true)] + [switch] + ${AllInstances}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Add-SPDistributedCacheServiceInstance { + [CmdletBinding()] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Add-SPInfoPathUserAgent { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [string] + ${Name}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Add-SPIPRangeAllowList { + [CmdletBinding(DefaultParameterSetName='CustomIPAllowList', SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${WebApplication}, + + [Parameter(ParameterSetName='CustomIPAllowList', Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${SiteName}, + + [Parameter(ParameterSetName='InternalIPAllowList', Mandatory=$true)] + [switch] + ${InternalIPAllowList}, + + [ValidateNotNullOrEmpty()] + [switch] + ${IPV4}, + + [ValidateNotNullOrEmpty()] + [switch] + ${IPV6}, + + [ValidateNotNullOrEmpty()] + [string] + ${IP}, + + [ValidateNotNullOrEmpty()] + [System.Collections.Generic.List[string]] + ${IPList}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Add-SPPluggableSecurityTrimmer { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0)] + [ValidateNotNull()] + [guid] + ${UserProfileApplicationProxyId}, + + [Parameter(Mandatory=$true)] + [int] + ${PlugInId}, + + [string] + ${QualifiedTypeName}, + + [System.Collections.Specialized.NameValueCollection] + ${CustomProperties}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Add-SPProfileLeader { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${ProfileServiceApplicationProxy}, + + [Parameter(ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${SiteSubscription}, + + [Parameter(Mandatory=$true, Position=1, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Name}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Add-SPProfileSyncConnection { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${ProfileServiceApplication}, + + [Parameter(Mandatory=$true)] + [string] + ${ConnectionForestName}, + + [Parameter(Mandatory=$true)] + [string] + ${ConnectionDomain}, + + [Parameter(Mandatory=$true)] + [string] + ${ConnectionUserName}, + + [Parameter(Mandatory=$true)] + [securestring] + ${ConnectionPassword}, + + [string] + ${ConnectionServerName}, + + [int] + ${ConnectionPort}, + + [bool] + ${ConnectionUseSSL}, + + [bool] + ${ConnectionUseDisabledFilter}, + + [string] + ${ConnectionNamingContext}, + + [string] + ${ConnectionSynchronizationOU}, + + [string] + ${ConnectionClaimProviderTypeValue}, + + [string] + ${ConnectionClaimProviderIdValue}, + + [string] + ${ConnectionClaimIDMapAttribute}, + + [bool] + ${ConnectionFilterOutUnlicensed}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Add-SPRoutingMachineInfo { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${RequestManagementSettings}, + + [Parameter(Mandatory=$true, Position=1, ValueFromPipelineByPropertyName=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${Name}, + + [ValidateNotNull()] + [object] + ${Availability}, + + [ValidateNotNull()] + [object] + ${OutgoingScheme}, + + [System.Nullable[int]] + ${OutgoingPort}, + + [ValidateNotNull()] + [System.Nullable[double]] + ${StaticWeight}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Add-SPRoutingMachinePool { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${RequestManagementSettings}, + + [Parameter(Mandatory=$true, Position=1)] + [ValidateNotNullOrEmpty()] + [string] + ${Name}, + + [ValidateNotNull()] + [object] + ${MachineTargets}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Add-SPRoutingRule { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${RequestManagementSettings}, + + [Parameter(Mandatory=$true, Position=1)] + [ValidateNotNullOrEmpty()] + [string] + ${Name}, + + [ValidateNotNull()] + [object] + ${Criteria}, + + [object] + ${MachinePool}, + + [ValidateNotNull()] + [System.Nullable[int]] + ${ExecutionGroup}, + + [ValidateNotNull()] + [System.Nullable[datetime]] + ${Expiration}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Add-SPScaleOutDatabase { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true)] + [object] + ${ServiceApplication}, + + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${DatabaseName}, + + [ValidateNotNullOrEmpty()] + [string] + ${DatabaseServer}, + + [ValidateNotNullOrEmpty()] + [string] + ${DatabaseFailoverServer}, + + [ValidateNotNull()] + [pscredential] + ${DatabaseCredentials}, + + [switch] + ${DeferUpgradeActions}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Add-SPSecureStoreSystemAccount { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${AccountName}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Add-SPServerScaleOutDatabase { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true)] + [object] + ${ServiceApplication}, + + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${DatabaseName}, + + [ValidateNotNullOrEmpty()] + [string] + ${DatabaseServer}, + + [ValidateNotNullOrEmpty()] + [string] + ${DatabaseFailoverServer}, + + [ValidateNotNull()] + [pscredential] + ${DatabaseCredentials}, + + [switch] + ${DeferUpgradeActions}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Add-SPServiceApplicationProxyGroupMember { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, Position=1)] + [Alias('Proxy')] + [ValidateNotNull()] + [object] + ${Member}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Add-SPShellAdmin { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0)] + [string] + ${UserName}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${database}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Add-SPSiteSubscriptionFeaturePackMember { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${FeatureDefinition}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Add-SPSiteSubscriptionProfileConfig { + [CmdletBinding(DefaultParameterSetName='Default', SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${ProfileServiceApplicationProxy}, + + [Parameter(ValueFromPipeline=$true)] + [Parameter(ParameterSetName='MySiteSettings', Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${MySiteHostLocation}, + + [Parameter(ParameterSetName='MySiteSettings', ValueFromPipeline=$true)] + [object] + ${MySiteManagedPath}, + + [Parameter(ParameterSetName='MySiteSettings')] + [ValidateSet('None','Resolve','Block')] + [string] + ${SiteNamingConflictResolution}, + + [string] + ${SynchronizationOU}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Add-SPSolution { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [string] + ${LiteralPath}, + + [uint32] + ${Language}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Add-SPThrottlingRule { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${RequestManagementSettings}, + + [Parameter(Mandatory=$true, Position=1)] + [ValidateNotNullOrEmpty()] + [string] + ${Name}, + + [ValidateNotNull()] + [object] + ${Criteria}, + + [ValidateNotNull()] + [ValidateRange(0, 10)] + [System.Nullable[int]] + ${Threshold}, + + [ValidateNotNull()] + [System.Nullable[datetime]] + ${Expiration}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Add-SPUserLicenseMapping { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true, ValueFromRemainingArguments=$true)] + [ValidateNotNullOrEmpty()] + [System.Collections.Generic.List`1[[object]]] + ${Mapping}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Add-SPUserSolution { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${LiteralPath}, + + [Parameter(Mandatory=$true)] + [object] + ${Site}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Backup-SPConfigurationDatabase { + [CmdletBinding(DefaultParameterSetName='DefaultSet')] +param( + [string] + ${DatabaseName}, + + [string] + ${DatabaseServer}, + + [Parameter(ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [pscredential] + ${DatabaseCredentials}, + + [Parameter(ParameterSetName='DefaultSet', Mandatory=$true)] + [string] + ${Directory}, + + [string] + ${Item}, + + [Parameter(ParameterSetName='ShowTree', Mandatory=$true)] + [switch] + ${ShowTree}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Backup-SPEnterpriseSearchServiceApplicationIndex { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='RunBackup', Mandatory=$true, Position=0)] + [int] + ${Phase}, + + [Parameter(ParameterSetName='AbortBackup', Mandatory=$true, Position=0)] + [switch] + ${Abort}, + + [Parameter(Mandatory=$true, Position=1, ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [Parameter(ParameterSetName='RunBackup', Mandatory=$true, Position=2)] + [string] + ${BackupFolder}, + + [Parameter(Mandatory=$true, Position=3)] + [string] + ${BackupHandleFile}, + + [Parameter(Position=4)] + [int] + ${Retries}, + + [Parameter(Position=5)] + [switch] + ${PeerToPeer}, + + [Parameter(Position=6)] + [string] + ${SpecifiedBackupHandle}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Backup-SPFarm { + [CmdletBinding(DefaultParameterSetName='DefaultSet', SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='DefaultSet', Mandatory=$true)] + [string] + ${Directory}, + + [Parameter(ParameterSetName='DefaultSet', Mandatory=$true)] + [ValidateSet('Full','Differential','None')] + [string] + ${BackupMethod}, + + [Parameter(ParameterSetName='DefaultSet')] + [int] + ${BackupThreads}, + + [Parameter(ParameterSetName='DefaultSet')] + [switch] + ${Force}, + + [string] + ${Item}, + + [Parameter(ParameterSetName='ShowTree', Mandatory=$true)] + [switch] + ${ShowTree}, + + [switch] + ${ConfigurationOnly}, + + [Parameter(ParameterSetName='DefaultSet')] + [int] + ${Percentage}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Backup-SPSite { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(Mandatory=$true)] + [string] + ${Path}, + + [switch] + ${Force}, + + [switch] + ${UseSqlSnapshot}, + + [switch] + ${NoSiteLock}, + + [switch] + ${UseABSDocStreamInfo}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Clear-SPAppDeniedEndpointList { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Clear-SPBusinessDataCatalogEntityNotificationWeb { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [object] + ${ServiceContext}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Clear-SPDistributedCacheItem { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${ContainerType}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Clear-SPLogLevel { + [CmdletBinding()] +param( + [string[]] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [psobject] + ${InputObject}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Clear-SPMetadataWebServicePartitionData { + [CmdletBinding(DefaultParameterSetName='Default')] +param( + [Parameter(ParameterSetName='Default', Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, Position=1, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${ServiceProxy}, + + [Parameter(ParameterSetName='ServiceContext', Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${ServiceContext}, + + [switch] + ${FromServiceDatabase}, + + [ValidateNotNull()] + [object] + ${FromContentDatabase}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Clear-SPPerformancePointServiceApplicationTrustedLocation { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${ServiceApplication}, + + [object] + ${TrustedLocationType}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Clear-SPScaleOutDatabaseDeletedDataSubRange { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Database}, + + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [object] + ${Range}, + + [Parameter(Mandatory=$true)] + [bool] + ${IsUpperSubRange}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Clear-SPScaleOutDatabaseLog { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Database}, + + [int] + ${LogEntryTimeout}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Clear-SPScaleOutDatabaseTenantData { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true)] + [object] + ${ServiceApplication}, + + [Parameter(Mandatory=$true)] + [guid] + ${SiteSubscriptionId}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Clear-SPSecureStoreCredentialMapping { + [CmdletBinding(DefaultParameterSetName='OneApplication', SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(ParameterSetName='AllApplications', Mandatory=$true)] + [switch] + ${All}, + + [Parameter(ParameterSetName='OneApplication', Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [object] + ${Principal}, + + [Parameter(ParameterSetName='AllApplications', Mandatory=$true)] + [ValidateNotNull()] + [object] + ${ServiceContext}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Clear-SPSecureStoreDefaultProvider { + [CmdletBinding()] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Clear-SPServerScaleOutDatabaseDeletedDataSubRange { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Database}, + + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [object] + ${Range}, + + [Parameter(Mandatory=$true)] + [bool] + ${IsUpperSubRange}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Clear-SPServerScaleOutDatabaseLog { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Database}, + + [int] + ${LogEntryTimeout}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Clear-SPServerScaleOutDatabaseTenantData { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true)] + [object] + ${ServiceApplication}, + + [Parameter(Mandatory=$true)] + [guid] + ${SiteSubscriptionId}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Clear-SPSiteSubscriptionBusinessDataCatalogConfig { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [object] + ${ServiceContext}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Compare-SPDatabaseSchema { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Source}, + + [Parameter(Mandatory=$true, Position=1)] + [object] + ${Target}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Connect-SPConfigurationDatabase { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [string] + ${DatabaseName}, + + [Parameter(Mandatory=$true, ValueFromPipelineByPropertyName=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${DatabaseServer}, + + [Parameter(ValueFromPipelineByPropertyName=$true)] + [pscredential] + ${DatabaseCredentials}, + + [Parameter(Mandatory=$true, Position=8, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [securestring] + ${Passphrase}, + + [Parameter(Position=9, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [switch] + ${SkipRegisterAsDistributedCacheHost}, + + [string] + ${DatabaseFailOverPartner}, + + [object] + ${LocalServerRole}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Convert-SPWebApplication { + [CmdletBinding()] +param( + [Parameter(ParameterSetName='Claims', Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ParameterSetName='Claims', Mandatory=$true, ValueFromPipeline=$true)] + [ValidateSet('LEGACY','CLAIMS-WINDOWS','CLAIMS-TRUSTED-DEFAULT')] + [string] + ${From}, + + [Parameter(ParameterSetName='Claims', Mandatory=$true, ValueFromPipeline=$true)] + [ValidateSet('CLAIMS','CLAIMS-WINDOWS','CLAIMS-TRUSTED-DEFAULT','CLAIMS-SHAREPOINT-ONLINE')] + [string] + ${To}, + + [Parameter(ParameterSetName='Claims')] + [switch] + ${Force}, + + [Parameter(ParameterSetName='Claims')] + [switch] + ${RetainPermissions}, + + [Parameter(ParameterSetName='Claims')] + [string] + ${SourceSkipList}, + + [Parameter(ParameterSetName='Claims')] + [string] + ${MapList}, + + [Parameter(ParameterSetName='Claims')] + [switch] + ${SkipSites}, + + [Parameter(ParameterSetName='Claims')] + [switch] + ${SkipPolicies}, + + [Parameter(ParameterSetName='Claims')] + [object] + ${Database}, + + [Parameter(ParameterSetName='Claims')] + [object] + ${TrustedProvider}, + + [Parameter(ParameterSetName='Claims')] + [guid] + ${SiteSubsriptionId}, + + [Parameter(ParameterSetName='Claims')] + [string] + ${LoggingDirectory}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Copy-SPAccessServicesDatabaseCredentials { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0)] + [string] + ${AppUrl}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${ServiceContext}, + + [Parameter(Mandatory=$true)] + [string] + ${SourceServer}, + + [Parameter(Mandatory=$true)] + [string] + ${TargetServer}, + + [Parameter(Mandatory=$true)] + [System.Net.NetworkCredential] + ${ServerCredential}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Copy-SPActivitiesToWorkflowService { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [string] + ${WorkflowServiceAddress}, + + [string] + ${ActivityName}, + + [System.Net.ICredentials] + ${Credential}, + + [bool] + ${Force}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Copy-SPBusinessDataCatalogAclToChildren { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [object] + ${MetadataObject}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Copy-SPDatabase { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Source}, + + [Parameter(Mandatory=$true, Position=1)] + [string] + ${TargetConnectionString}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Copy-SPSideBySideFiles { + [CmdletBinding()] +param( + [string] + ${LogFile}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Copy-SPSite { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNullOrEmpty()] + [object] + ${Identity}, + + [object] + ${DestinationDatabase}, + + [Parameter(Mandatory=$true, Position=1, ValueFromPipeline=$true)] + [string] + ${TargetUrl}, + + [string] + ${HostHeaderWebApplication}, + + [switch] + ${PreserveSiteId}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Disable-SPAppAutoProvision { + [CmdletBinding()] +param( + [object] + ${SiteSubscription}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Disable-SPBusinessDataCatalogEntity { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Disable-SPFeature { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [string] + ${Url}, + + [switch] + ${Force}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Disable-SPHealthAnalysisRule { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Disable-SPInfoPathFormTemplate { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, ValueFromPipelineByPropertyName=$true)] + [Alias('Url')] + [object] + ${Site}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Disable-SPIPRangeAllowList { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${WebApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Disable-SPProjectActiveDirectoryEnterpriseResourcePoolSync { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0)] + [ValidateNotNullOrEmpty()] + [uri] + ${Url}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Disable-SPProjectEmailNotification { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0)] + [ValidateNotNullOrEmpty()] + [uri] + ${Url}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Disable-SPProjectEnterpriseProjectTaskSync { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true)] + [uri] + ${Url}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Disable-SPProjectQueueStatsMonitoring { + [CmdletBinding(DefaultParameterSetName='__AllParameterSets')] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Disable-SPSecureStoreMinDB { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${ApplicationName}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Disable-SPSessionStateService { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Disable-SPSingleSignOn { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${ServerName}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Disable-SPTimerJob { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Disable-SPUserLicensing { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Disable-SPVideoStreaming { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${SiteSubscription}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Disable-SPWebApplicationHttpThrottling { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Disable-SPWebTemplateForSiteMaster { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true)] + [object] + ${Template}, + + [int] + ${CompatibilityLevel}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Disconnect-SPConfigurationDatabase { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Dismount-SPContentDatabase { + [CmdletBinding(DefaultParameterSetName='DefaultSet', SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Dismount-SPSiteMapDatabase { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0)] + [ValidateNotNullOrEmpty()] + [guid] + ${DatabaseId}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Dismount-SPStateServiceDatabase { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [Alias('Name')] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Enable-SPAppAutoProvision { + [CmdletBinding()] +param( + [object] + ${SiteSubscription}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Enable-SPBusinessDataCatalogEntity { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Enable-SPFeature { + [CmdletBinding(DefaultParameterSetName='FarmFeatureDefinition', SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ParameterSetName='SiteFeature')] + [string] + ${Url}, + + [switch] + ${PassThru}, + + [switch] + ${Force}, + + [Parameter(ParameterSetName='FarmFeatureDefinition')] + [int] + ${CompatibilityLevel}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Enable-SPHealthAnalysisRule { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Enable-SPInfoPathFormTemplate { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, ValueFromPipelineByPropertyName=$true)] + [Alias('url')] + [object] + ${Site}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Enable-SPIPRangeAllowList { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${WebApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Enable-SPProjectActiveDirectoryEnterpriseResourcePoolSync { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0)] + [ValidateNotNullOrEmpty()] + [uri] + ${Url}, + + [Parameter(Mandatory=$true, Position=1)] + [ValidateNotNullOrEmpty()] + [System.Collections.Generic.IEnumerable[guid]] + ${GroupUids}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Enable-SPProjectEmailNotification { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0)] + [ValidateNotNullOrEmpty()] + [uri] + ${Url}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Enable-SPProjectEnterpriseProjectTaskSync { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true)] + [uri] + ${Url}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Enable-SPProjectQueueStatsMonitoring { + [CmdletBinding(DefaultParameterSetName='__AllParameterSets')] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Enable-SPSecureStoreMinDB { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${ApplicationName}, + + [ValidateNotNullOrEmpty()] + [guid] + ${SiteSubscriptionId}, + + [ValidateNotNullOrEmpty()] + [int] + ${PartitionLimit}, + + [ValidateNotNullOrEmpty()] + [int] + ${ThreadLimit}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Enable-SPSessionStateService { + [CmdletBinding(DefaultParameterSetName='AdvancedProvision', SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='DefaultProvision', Mandatory=$true)] + [switch] + ${DefaultProvision}, + + [Parameter(ParameterSetName='AdvancedProvision')] + [string] + ${DatabaseServer}, + + [Parameter(ParameterSetName='AdvancedProvision', Mandatory=$true)] + [string] + ${DatabaseName}, + + [System.Nullable[int]] + ${SessionTimeout}, + + [Parameter(ParameterSetName='AdvancedProvision')] + [pscredential] + ${DatabaseCredentials}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Enable-SPTimerJob { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Enable-SPUserLicensing { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Enable-SPVideoStreaming { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${SiteSubscription}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Enable-SPWebApplicationHttpThrottling { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Enable-SPWebTemplateForSiteMaster { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true)] + [object] + ${Template}, + + [int] + ${CompatibilityLevel}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Export-SPAccessServicesDatabase { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${DatabaseName}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNullOrEmpty()] + [guid] + ${ServerReferenceId}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Export-SPAppPackage { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [object] + ${App}, + + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${Path}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Export-SPBusinessDataCatalogModel { + [CmdletBinding()] +param( + [switch] + ${ModelsIncluded}, + + [switch] + ${LocalizedNamesIncluded}, + + [switch] + ${PropertiesIncluded}, + + [switch] + ${ProxiesIncluded}, + + [switch] + ${PermissionsIncluded}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${Path}, + + [string] + ${SettingId}, + + [switch] + ${Force}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Export-SPEnterpriseSearchTopology { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [Parameter(Mandatory=$true)] + [string] + ${Filename}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Export-SPInfoPathAdministrationFiles { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [object] + ${Identity}, + + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [string] + ${Path}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Export-SPMetadataWebServicePartitionData { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${Path}, + + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${ServiceProxy}, + + [switch] + ${NoCompression}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Export-SPPerformancePointContent { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true)] + [string] + ${ExportFileUrl}, + + [Parameter(Mandatory=$true)] + [array] + ${ItemUrls}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Export-SPScaleOutDatabaseTenantData { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true)] + [string] + ${FilePath}, + + [Parameter(Mandatory=$true)] + [object] + ${ServiceApplication}, + + [Parameter(Mandatory=$true)] + [guid] + ${SiteSubscriptionId}, + + [switch] + ${Force}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Export-SPServerScaleOutDatabaseTenantData { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true)] + [string] + ${FilePath}, + + [Parameter(Mandatory=$true)] + [object] + ${ServiceApplication}, + + [Parameter(Mandatory=$true)] + [guid] + ${SiteSubscriptionId}, + + [switch] + ${Force}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Export-SPSiteSubscriptionBusinessDataCatalogConfig { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [object] + ${ServiceContext}, + + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${Path}, + + [switch] + ${Force}, + + [switch] + ${ModelsIncluded}, + + [switch] + ${LocalizedNamesIncluded}, + + [switch] + ${PropertiesIncluded}, + + [switch] + ${ProxiesIncluded}, + + [switch] + ${PermissionsIncluded}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Export-SPSiteSubscriptionSettings { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${Path}, + + [switch] + ${AdminProperties}, + + [switch] + ${Force}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Export-SPTagsAndNotesData { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Site}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${FilePath}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Export-SPWeb { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [switch] + ${IncludeAlerts}, + + [object] + ${IncludeVersions}, + + [int] + ${CompressionSize}, + + [switch] + ${UseSqlSnapshot}, + + [string] + ${AppLogFilePath}, + + [string] + ${ItemUrl}, + + [Parameter(Mandatory=$true)] + [string] + ${Path}, + + [switch] + ${Force}, + + [switch] + ${IncludeUserSecurity}, + + [switch] + ${HaltOnWarning}, + + [switch] + ${HaltOnError}, + + [switch] + ${NoLogFile}, + + [switch] + ${NoFileCompression}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPAccessServiceApplication { + [CmdletBinding()] +param( + [Parameter(Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPAccessServicesApplication { + [CmdletBinding()] +param( + [Parameter(Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPAccessServicesDatabase { + [CmdletBinding()] +param( + [Parameter(Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(Position=1, ValueFromPipeline=$true)] + [object] + ${ContentDb}, + + [Parameter(Position=2, ValueFromPipeline=$true)] + [bool] + ${AccessAppsOnly}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPAccessServicesDatabaseServer { + [CmdletBinding(DefaultParameterSetName='GetDatabaseServersParameterSet')] +param( + [Parameter(ParameterSetName='GetDatabaseServersParameterSet', Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [Parameter(ParameterSetName='GetSingleDatabaseServerParamterSet', Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${ServiceContext}, + + [Parameter(ParameterSetName='GetSingleDatabaseServerParamterSet', Mandatory=$true)] + [Parameter(ParameterSetName='GetDatabaseServersParameterSet')] + [object] + ${DatabaseServerGroup}, + + [Parameter(ParameterSetName='GetSingleDatabaseServerParamterSet', Mandatory=$true)] + [object] + ${DatabaseServer}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPAccessServicesDatabaseServerGroup { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${ServiceContext}, + + [Parameter(Position=1, ValueFromPipeline=$true)] + [object] + ${DatabaseServerGroup}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPAccessServicesDatabaseServerGroupMapping { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${ServiceContext}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPAlternateURL { + [CmdletBinding(DefaultParameterSetName='Default')] +param( + [Parameter(Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ParameterSetName='WebApplication', Mandatory=$true)] + [object] + ${WebApplication}, + + [object] + ${Zone}, + + [Parameter(ParameterSetName='ResourceName', Mandatory=$true)] + [string] + ${ResourceName}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPAppAcquisitionConfiguration { + [CmdletBinding(DefaultParameterSetName='MarketplaceSettingsInWebApplication')] +param( + [Parameter(ParameterSetName='MarketplaceSettingsInWebApplication', Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${WebApplication}, + + [Parameter(ParameterSetName='MarketplaceSettingsInSiteSubscription', Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SiteSubscription}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPAppAutoProvisionConnection { + [CmdletBinding()] +param( + [object] + ${SiteSubscription}, + + [object] + ${ConnectionType}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPAppDeniedEndpointList { + [CmdletBinding()] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPAppDisablingConfiguration { + [CmdletBinding()] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPAppDomain { + [CmdletBinding()] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPAppHostingQuotaConfiguration { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${SiteSubscription}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPAppInstance { + [CmdletBinding()] +param( + [Parameter(ParameterSetName='IdentityParameterSet', Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(ParameterSetName='WebParameterSet', Mandatory=$true)] + [ValidateNotNull()] + [object] + ${Web}, + + [Parameter(ParameterSetName='WebParameterSet')] + [ValidateNotNull()] + [object] + ${App}, + + [Parameter(ParameterSetName='SiteAndIdParameterSet', Mandatory=$true)] + [ValidateNotNull()] + [object] + ${Site}, + + [Parameter(ParameterSetName='SiteAndIdParameterSet', Mandatory=$true)] + [guid] + ${AppInstanceId}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPAppPrincipal { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [object] + ${Site}, + + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${NameIdentifier}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPAppScaleProfile { + [CmdletBinding()] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPAppSiteSubscriptionName { + [CmdletBinding()] +param( + [object] + ${SiteSubscription}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPAppStateSyncLastRunTime { + [CmdletBinding()] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPAppStateUpdateInterval { + [CmdletBinding()] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPAppStoreConfiguration { + [CmdletBinding()] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPAppStoreWebServiceConfiguration { + [CmdletBinding()] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPAuthenticationProvider { + [CmdletBinding()] +param( + [Parameter(Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, Position=1)] + [ValidateNotNull()] + [object] + ${WebApplication}, + + [Parameter(Mandatory=$true, Position=2)] + [object] + ${Zone}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPAuthenticationRealm { + [CmdletBinding()] +param( + [Parameter(Position=0)] + [ValidateNotNull()] + [object] + ${ServiceContext}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPAzureVideoServiceAccount { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${SiteSubscription}, + + [Parameter(Mandatory=$true, Position=1)] + [object] + ${ServiceContext}, + + [Parameter(Position=2)] + [System.Net.ICredentials] + ${OAuth2BearerCredentials}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPBackupHistory { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true)] + [string] + ${Directory}, + + [switch] + ${ShowBackup}, + + [switch] + ${ShowRestore}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPBingMapsBlock { + [CmdletBinding()] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPBingMapsKey { + [CmdletBinding()] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPBrowserCustomerExperienceImprovementProgram { + [CmdletBinding()] +param( + [Parameter(ParameterSetName='Farm', Mandatory=$true)] + [switch] + ${Farm}, + + [Parameter(ParameterSetName='WebApplication', Mandatory=$true)] + [object] + ${WebApplication}, + + [Parameter(ParameterSetName='SiteSubscription', Mandatory=$true)] + [object] + ${SiteSubscription}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPBusinessDataCatalogEntityNotificationWeb { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [object] + ${ServiceContext}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPBusinessDataCatalogMetadataObject { + [CmdletBinding()] +param( + [string] + ${Namespace}, + + [string] + ${Name}, + + [string] + ${ContainingLobSystem}, + + [Parameter(Mandatory=$true)] + [object] + ${BdcObjectType}, + + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [object] + ${ServiceContext}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPBusinessDataCatalogThrottleConfig { + [CmdletBinding(DefaultParameterSetName='ProxyProvided')] +param( + [Parameter(Mandatory=$true)] + [object] + ${Scope}, + + [Parameter(Mandatory=$true)] + [object] + ${ThrottleType}, + + [Parameter(ParameterSetName='ProxyProvided', Mandatory=$true)] + [ValidateNotNull()] + [object] + ${ServiceApplicationProxy}, + + [Parameter(ParameterSetName='FileBackedProvided', Mandatory=$true)] + [switch] + ${FileBacked}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPCertificateAuthority { + [CmdletBinding()] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPClaimProvider { + [CmdletBinding()] +param( + [Parameter(Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPClaimProviderManager { + [CmdletBinding()] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPClaimTypeEncoding { + [CmdletBinding()] +param( + [char] + ${EncodingCharacter}, + + [ValidateNotNullOrEmpty()] + [string] + ${ClaimType}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPConnectedServiceApplicationInformation { + [CmdletBinding()] +param( + [Parameter(Position=0, ValueFromPipeline=$true)] + [object] + ${ServiceApplicationProxy}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPContentDatabase { + [CmdletBinding(DefaultParameterSetName='DefaultSet')] +param( + [Parameter(ParameterSetName='DefaultSet', Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(ParameterSetName='AllContentDatabasesInWebApplication', Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${WebApplication}, + + [Parameter(ParameterSetName='ContentDatabasesOfSite', Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Site}, + + [Parameter(ParameterSetName='Unattached', Mandatory=$true)] + [switch] + ${ConnectAsUnattachedDatabase}, + + [Parameter(ParameterSetName='Unattached')] + [pscredential] + ${DatabaseCredentials}, + + [Parameter(ParameterSetName='Unattached', Mandatory=$true)] + [string] + ${DatabaseServer}, + + [Parameter(ParameterSetName='Unattached', Mandatory=$true)] + [string] + ${DatabaseName}, + + [Parameter(ParameterSetName='AllContentDatabasesInWebApplication')] + [Parameter(ParameterSetName='DefaultSet')] + [switch] + ${NoStatusFilter}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPContentDeploymentJob { + [CmdletBinding()] +param( + [Parameter(Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipelineByPropertyName=$true)] + [object] + ${Path}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPContentDeploymentPath { + [CmdletBinding()] +param( + [Parameter(Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPCustomLayoutsPage { + [CmdletBinding()] +param( + [object] + ${Identity}, + + [ValidateRange(14, 15)] + [int] + ${CompatibilityLevel}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${WebApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPDatabase { + [CmdletBinding(DefaultParameterSetName='DefaultParameterSet')] +param( + [Parameter(ParameterSetName='DefaultParameterSet', Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ParameterSetName='ServerParameterSet', Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${ServerInstance}, + + [Parameter(ParameterSetName='NameParameterSet', Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${Name}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPDataConnectionFile { + [CmdletBinding()] +param( + [Parameter(Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPDataConnectionFileDependent { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPDeletedSite { + [CmdletBinding(DefaultParameterSetName='AllDeletedSitesInWebApplication', SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='AllDeletedSitesInIdentity', Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [string] + ${Limit}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${WebApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${ContentDatabase}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${SiteSubscription}, + + [string] + ${DateTimeFrom}, + + [string] + ${DateTimeTo}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPDesignerSettings { + [CmdletBinding()] +param( + [Parameter(ParameterSetName='WebApplication', Mandatory=$true, Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [object] + ${WebApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPDiagnosticConfig { + [CmdletBinding()] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPDiagnosticsPerformanceCounter { + [CmdletBinding()] +param( + [Parameter(ValueFromPipeline=$true)] + [switch] + ${WebFrontEnd}, + + [Parameter(ValueFromPipeline=$true)] + [switch] + ${DatabaseServer}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPDiagnosticsProvider { + [CmdletBinding()] +param( + [Parameter(Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPDistributedCacheClientSetting { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${ContainerType}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPEnterpriseSearchAdministrationComponent { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPEnterpriseSearchComponent { + [CmdletBinding()] +param( + [Parameter(Position=0)] + [object] + ${Identity}, + + [object] + ${SearchApplication}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchTopology}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPEnterpriseSearchContentEnrichmentConfiguration { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPEnterpriseSearchCrawlContentSource { + [CmdletBinding()] +param( + [Parameter(Position=0)] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPEnterpriseSearchCrawlCustomConnector { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${SearchApplication}, + + [string] + ${Protocol}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPEnterpriseSearchCrawlDatabase { + [CmdletBinding()] +param( + [Parameter(Position=0)] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPEnterpriseSearchCrawlExtension { + [CmdletBinding()] +param( + [Parameter(Position=0)] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPEnterpriseSearchCrawlLogReadPermission { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${SearchApplication}, + + [guid] + ${Tenant}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPEnterpriseSearchCrawlMapping { + [CmdletBinding()] +param( + [Parameter(Position=0)] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPEnterpriseSearchCrawlRule { + [CmdletBinding()] +param( + [Parameter(Position=0)] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPEnterpriseSearchFileFormat { + [CmdletBinding()] +param( + [Parameter(Position=0)] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPEnterpriseSearchHostController { + [CmdletBinding()] +param( + [object] + ${SearchServiceInstance}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPEnterpriseSearchLanguageResourcePhrase { + [CmdletBinding()] +param( + [Parameter(Position=0)] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [object] + ${Type}, + + [string] + ${Language}, + + [string] + ${Mapping}, + + [Parameter(Mandatory=$true)] + [Alias('o')] + [object] + ${Owner}, + + [guid] + ${SourceId}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPEnterpriseSearchLinguisticComponentsStatus { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true)] + [object] + ${SearchApplication}, + + [Parameter(Position=0)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPEnterpriseSearchLinksDatabase { + [CmdletBinding()] +param( + [Parameter(Position=0)] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPEnterpriseSearchMetadataCategory { + [CmdletBinding()] +param( + [Parameter(Position=0)] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [guid] + ${Tenant}, + + [guid] + ${SiteCollection}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPEnterpriseSearchMetadataCrawledProperty { + [CmdletBinding()] +param( + [Parameter(Position=0)] + [string] + ${Name}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [Alias('p')] + [System.Nullable[guid]] + ${PropSet}, + + [Alias('vt')] + [Obsolete()] + [System.Nullable[int]] + ${VariantType}, + + [Alias('c')] + [object] + ${Category}, + + [string] + ${Limit}, + + [guid] + ${Tenant}, + + [guid] + ${SiteCollection}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPEnterpriseSearchMetadataManagedProperty { + [CmdletBinding()] +param( + [Parameter(Position=0)] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [string] + ${Limit}, + + [guid] + ${Tenant}, + + [guid] + ${SiteCollection}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPEnterpriseSearchMetadataMapping { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [object] + ${ManagedProperty}, + + [object] + ${CrawledProperty}, + + [guid] + ${Tenant}, + + [guid] + ${SiteCollection}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPEnterpriseSearchOwner { + [CmdletBinding()] +param( + [Parameter(Position=0)] + [object] + ${Identity}, + + [Parameter(Mandatory=$true)] + [Alias('l')] + [object] + ${Level}, + + [object] + ${SPWeb}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPEnterpriseSearchPropertyRule { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0)] + [string] + ${PropertyName}, + + [Parameter(Mandatory=$true, Position=1)] + [object] + ${Operator}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPEnterpriseSearchPropertyRuleCollection { + [CmdletBinding()] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPEnterpriseSearchQueryAndSiteSettingsService { + [CmdletBinding()] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPEnterpriseSearchQueryAndSiteSettingsServiceInstance { + [CmdletBinding()] +param( + [Parameter(Position=0)] + [object] + ${Identity}, + + [switch] + ${Local}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPEnterpriseSearchQueryAndSiteSettingsServiceProxy { + [CmdletBinding()] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPEnterpriseSearchQueryAuthority { + [CmdletBinding()] +param( + [Parameter(Position=0)] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [Parameter(Mandatory=$true)] + [Alias('o')] + [object] + ${Owner}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPEnterpriseSearchQueryDemoted { + [CmdletBinding()] +param( + [Parameter(Position=0)] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [Parameter(Mandatory=$true)] + [Alias('o')] + [object] + ${Owner}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPEnterpriseSearchQueryKeyword { + [CmdletBinding()] +param( + [Parameter(Position=0)] + [object] + ${Identity}, + + [Parameter(Mandatory=$true)] + [object] + ${Site}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPEnterpriseSearchQueryScope { + [CmdletBinding()] +param( + [Parameter(Position=0)] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [Alias('u')] + [uri] + ${Url}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPEnterpriseSearchQueryScopeRule { + [CmdletBinding()] +param( + [Parameter(Position=0)] + [object] + ${Identity}, + + [object] + ${SearchApplication}, + + [uri] + ${Url}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [Alias('n')] + [object] + ${Scope}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPEnterpriseSearchQuerySpellingCorrection { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true)] + [object] + ${SearchApplication}, + + [Parameter(Position=0)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPEnterpriseSearchQuerySuggestionCandidates { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [Parameter(Mandatory=$true)] + [Alias('o')] + [object] + ${Owner}, + + [guid] + ${SourceId}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPEnterpriseSearchRankingModel { + [CmdletBinding()] +param( + [Parameter(Position=0)] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [Parameter(Mandatory=$true)] + [Alias('o')] + [object] + ${Owner}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPEnterpriseSearchResultItemType { + [CmdletBinding()] +param( + [Parameter(Position=0)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${SearchApplicationProxy}, + + [Parameter(Mandatory=$true)] + [Alias('o')] + [object] + ${Owner}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPEnterpriseSearchResultSource { + [CmdletBinding()] +param( + [Parameter(Position=0)] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [Parameter(Mandatory=$true)] + [Alias('o')] + [object] + ${Owner}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPEnterpriseSearchSecurityTrimmer { + [CmdletBinding()] +param( + [Parameter(Position=0)] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPEnterpriseSearchService { + [CmdletBinding()] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPEnterpriseSearchServiceApplication { + [CmdletBinding()] +param( + [Parameter(Position=0)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPEnterpriseSearchServiceApplicationBackupStore { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0)] + [string] + ${BackupFolder}, + + [Parameter(Mandatory=$true, Position=1)] + [string] + ${Name}, + + [Parameter(Position=3, ValueFromPipeline=$true)] + [string] + ${BackupId}, + + [Parameter(Position=4)] + [switch] + ${UseMostRecent}, + + [Parameter(Position=5)] + [switch] + ${IsVerbose}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPEnterpriseSearchServiceApplicationProxy { + [CmdletBinding()] +param( + [Parameter(Position=0)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPEnterpriseSearchServiceInstance { + [CmdletBinding()] +param( + [Parameter(Position=0)] + [object] + ${Identity}, + + [switch] + ${Local}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPEnterpriseSearchSiteHitRule { + [CmdletBinding()] +param( + [Parameter(Position=0)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${SearchService}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPEnterpriseSearchStatus { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [switch] + ${Primary}, + + [switch] + ${Text}, + + [switch] + ${Detailed}, + + [switch] + ${Constellation}, + + [switch] + ${JobStatus}, + + [switch] + ${HealthReport}, + + [switch] + ${DetailSearchRuntime}, + + [string] + ${Component}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPEnterpriseSearchTopology { + [CmdletBinding()] +param( + [Parameter(Position=0)] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [switch] + ${Active}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPEnterpriseSearchVssDataPath { + [CmdletBinding()] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPFarm { + [CmdletBinding()] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPFarmConfig { + [CmdletBinding()] +param( + [switch] + ${ServiceConnectionPoint}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPFeature { + [CmdletBinding(DefaultParameterSetName='Default')] +param( + [Parameter(Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ParameterSetName='FarmFeatures')] + [switch] + ${Farm}, + + [Parameter(ParameterSetName='SiteFeatures')] + [object] + ${Site}, + + [Parameter(ParameterSetName='WebFeatures')] + [object] + ${Web}, + + [Parameter(ParameterSetName='WebApplicationFeatures')] + [object] + ${WebApplication}, + + [Parameter(ParameterSetName='SiteFeatures')] + [switch] + ${Sandboxed}, + + [string] + ${Limit}, + + [Parameter(ParameterSetName='FarmFeatureDefinitions')] + [int] + ${CompatibilityLevel}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPHealthAnalysisRule { + [CmdletBinding(DefaultParameterSetName='Default')] +param( + [Parameter(ParameterSetName='SpecificRule', Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPHelpCollection { + [CmdletBinding()] +param( + [string] + ${Name}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPInfoPathFormsService { + [CmdletBinding()] +param( + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPInfoPathFormTemplate { + [CmdletBinding()] +param( + [Parameter(Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPInfoPathUserAgent { + [CmdletBinding()] +param( + [Parameter(Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPInfoPathWebServiceProxy { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPInsightsAuthSettings { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPInternalAppStateSyncLastRunTime { + [CmdletBinding()] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPInternalAppStateUpdateInterval { + [CmdletBinding()] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPIPRangeAllowList { + [CmdletBinding(DefaultParameterSetName='CustomIPAllowList', SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${WebApplication}, + + [Parameter(ParameterSetName='CustomIPAllowList', Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${SiteName}, + + [Parameter(ParameterSetName='InternalIPAllowList', Mandatory=$true)] + [switch] + ${InternalIPAllowList}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPIRMSettings { + [CmdletBinding()] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPLogEvent { + [CmdletBinding(DefaultParameterSetName='Directory')] +param( + [Parameter(ParameterSetName='Directory')] + [ValidateNotNullOrEmpty()] + [string] + ${Directory}, + + [Parameter(ParameterSetName='File')] + [ValidateNotNullOrEmpty()] + [string] + ${File}, + + [switch] + ${AsString}, + + [ValidateNotNullOrEmpty()] + [string[]] + ${ContextKey}, + + [datetime] + ${StartTime}, + + [datetime] + ${EndTime}, + + [ValidateNotNullOrEmpty()] + [string] + ${MinimumLevel}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPLogLevel { + [CmdletBinding()] +param( + [Parameter(ValueFromPipeline=$true)] + [string[]] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPManagedAccount { + [CmdletBinding(DefaultParameterSetName='Service')] +param( + [Parameter(Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ParameterSetName='Service', ValueFromPipeline=$true)] + [object] + ${Service}, + + [Parameter(ParameterSetName='WebApplication', ValueFromPipeline=$true)] + [object] + ${WebApplication}, + + [Parameter(ParameterSetName='Server', ValueFromPipeline=$true)] + [object] + ${Server}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPManagedPath { + [CmdletBinding(DefaultParameterSetName='WebApplication')] +param( + [Parameter(Position=0)] + [object] + ${Identity}, + + [Parameter(ParameterSetName='WebApplication', Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${WebApplication}, + + [Parameter(ParameterSetName='HostHeader', Mandatory=$true)] + [switch] + ${HostHeader}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPMetadataServiceApplication { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPMetadataServiceApplicationProxy { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPMicrofeedOptions { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${ProfileServiceApplicationProxy}, + + [Parameter(ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${SiteSubscription}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPMobileMessagingAccount { + [CmdletBinding()] +param( + [Parameter(Position=0)] + [Alias('ServiceType','AccountType')] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${WebApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPO365LinkSettings { + [CmdletBinding()] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPODataConnectionSetting { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [object] + ${ServiceContext}, + + [ValidateNotNull()] + [ValidateLength(0, 246)] + [string] + ${Name}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPODataConnectionSettingMetadata { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [object] + ${ServiceContext}, + + [Parameter(Mandatory=$true)] + [ValidateLength(0, 255)] + [ValidateNotNull()] + [string] + ${Name}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPOfficeStoreAppsDefaultActivation { + [CmdletBinding(DefaultParameterSetName='AppsForOfficeSettingsInWebApplication')] +param( + [Parameter(ParameterSetName='AppsForOfficeSettingsInWebApplication', Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${WebApplication}, + + [Parameter(ParameterSetName='AppsForOfficeSettingsInSiteSubscription', Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SiteSubscription}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPPendingUpgradeActions { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${RootObject}, + + [switch] + ${Recursive}, + + [switch] + ${SkipSiteUpgradeActionInfo}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPPerformancePointServiceApplication { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPPerformancePointServiceApplicationTrustedLocation { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${ServiceApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPPluggableSecurityTrimmer { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0)] + [ValidateNotNull()] + [guid] + ${UserProfileApplicationProxyId}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPProcessAccount { + [CmdletBinding(DefaultParameterSetName='NetworkService')] +param( + [Parameter(ParameterSetName='NetworkService')] + [switch] + ${NetworkService}, + + [Parameter(ParameterSetName='LocalSystem')] + [switch] + ${LocalSystem}, + + [Parameter(ParameterSetName='LocalService')] + [switch] + ${LocalService}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPProduct { + [CmdletBinding(DefaultParameterSetName='Local')] +param( + [Parameter(ParameterSetName='Server', ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [object] + ${Server}, + + [Parameter(ParameterSetName='Local')] + [switch] + ${Local}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPProfileLeader { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${ProfileServiceApplicationProxy}, + + [Parameter(ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${SiteSubscription}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPProfileServiceApplicationSecurity { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${ProfileServiceApplicationProxy}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${SiteSubscription}, + + [ValidateSet('UserACL','MySiteReaderACL')] + [string] + ${Type}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPProjectDatabaseQuota { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [uri] + ${Url}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPProjectDatabaseUsage { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [uri] + ${Url}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPProjectEnterpriseProjectTaskSync { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true)] + [uri] + ${Url}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPProjectEventServiceSettings { + [CmdletBinding()] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPProjectIsEmailNotificationEnabled { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0)] + [ValidateNotNullOrEmpty()] + [uri] + ${Url}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPProjectOdataConfiguration { + [CmdletBinding()] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPProjectPCSSettings { + [CmdletBinding()] +param( + [Parameter(ValueFromPipeline=$true)] + [Alias('sa')] + [object] + ${ServiceApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPProjectPermissionMode { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0)] + [ValidateNotNullOrEmpty()] + [uri] + ${Url}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPProjectQueueSettings { + [CmdletBinding()] +param( + [Parameter(ValueFromPipeline=$true)] + [Alias('sa')] + [object] + ${ServiceApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPProjectWebInstance { + [CmdletBinding()] +param( + [uri] + ${Url}, + + [Parameter(ValueFromPipeline=$true)] + [Alias('sa')] + [object] + ${ServiceApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPRequestManagementSettings { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPRoutingMachineInfo { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${RequestManagementSettings}, + + [ValidateNotNull()] + [string] + ${Name}, + + [ValidateNotNull()] + [object] + ${Availability}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPRoutingMachinePool { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${RequestManagementSettings}, + + [ValidateNotNull()] + [string] + ${Name}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPRoutingRule { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${RequestManagementSettings}, + + [ValidateNotNull()] + [string] + ${Name}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPRuntimeTelemetry { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPScaleOutDatabase { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true)] + [object] + ${ServiceApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPScaleOutDatabaseDataState { + [CmdletBinding(DefaultParameterSetName='AttachedDatabase', SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='AttachedDatabase', Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Database}, + + [Parameter(ParameterSetName='UnattachedDatabase', Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${ConnectionString}, + + [Parameter(ParameterSetName='UnattachedDatabase')] + [switch] + ${IsAzureDatabase}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPScaleOutDatabaseInconsistency { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true)] + [object] + ${ServiceApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPScaleOutDatabaseLogEntry { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Database}, + + [Parameter(Mandatory=$true)] + [int] + ${Count}, + + [object] + ${MajorAction}, + + [System.Nullable[guid]] + ${CorrelationId}, + + [byte[]] + ${RangeLimitPoint}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPSecureStoreApplication { + [CmdletBinding(DefaultParameterSetName='NameSet')] +param( + [Parameter(ParameterSetName='AllSet', Mandatory=$true)] + [switch] + ${All}, + + [Parameter(ParameterSetName='NameSet', Mandatory=$true)] + [string] + ${Name}, + + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [object] + ${ServiceContext}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPSecureStoreSystemAccount { + [CmdletBinding()] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPSecurityTokenServiceConfig { + [CmdletBinding()] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPServer { + [CmdletBinding()] +param( + [Parameter(Position=0, ValueFromPipeline=$true)] + [Alias('Address')] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPServerScaleOutDatabase { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true)] + [object] + ${ServiceApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPServerScaleOutDatabaseDataState { + [CmdletBinding(DefaultParameterSetName='AttachedDatabase', SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='AttachedDatabase', Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Database}, + + [Parameter(ParameterSetName='UnattachedDatabase', Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${ConnectionString}, + + [Parameter(ParameterSetName='UnattachedDatabase')] + [switch] + ${IsAzureDatabase}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPServerScaleOutDatabaseInconsistency { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true)] + [object] + ${ServiceApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPServerScaleOutDatabaseLogEntry { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Database}, + + [Parameter(Mandatory=$true)] + [int] + ${Count}, + + [object] + ${MajorAction}, + + [System.Nullable[guid]] + ${CorrelationId}, + + [byte[]] + ${RangeLimitPoint}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPService { + [CmdletBinding(DefaultParameterSetName='Identity')] +param( + [Parameter(ParameterSetName='Identity', Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [switch] + ${All}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPServiceApplication { + [CmdletBinding()] +param( + [Parameter(Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [string] + ${Name}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPServiceApplicationEndpoint { + [CmdletBinding(DefaultParameterSetName='Identity')] +param( + [Parameter(ParameterSetName='Identity', Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ParameterSetName='Name', Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${ServiceApplication}, + + [Parameter(ParameterSetName='Name')] + [string] + ${Name}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPServiceApplicationPool { + [CmdletBinding()] +param( + [Parameter(Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPServiceApplicationProxy { + [CmdletBinding()] +param( + [Parameter(Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPServiceApplicationProxyGroup { + [CmdletBinding(DefaultParameterSetName='Identity')] +param( + [Parameter(ParameterSetName='Identity', Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ParameterSetName='Default identity', Mandatory=$true)] + [switch] + ${Default}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPServiceApplicationSecurity { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [switch] + ${Admin}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPServiceContext { + [CmdletBinding()] +param( + [Parameter(ParameterSetName='Site', Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Site}, + + [Parameter(ParameterSetName='SiteSubscription', Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SiteSubscription}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPServiceHostConfig { + [CmdletBinding()] +param( + [switch] + ${Default}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPServiceInstance { + [CmdletBinding(DefaultParameterSetName='Identity')] +param( + [Parameter(ParameterSetName='Identity', Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ParameterSetName='Server', Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${Server}, + + [switch] + ${All}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPSessionStateService { + [CmdletBinding()] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPShellAdmin { + [CmdletBinding()] +param( + [Parameter(Position=0, ValueFromPipeline=$true)] + [object] + ${database}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPSite { + [CmdletBinding(DefaultParameterSetName='AllSitesInWebApplication', SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='AllSitesInIdentity', Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [string] + ${Limit}, + + [Parameter(ParameterSetName='AllSitesInContentDB', Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${ContentDatabase}, + + [Parameter(ParameterSetName='AllSitesInContentDB')] + [switch] + ${NeedsB2BUpgrade}, + + [Parameter(ParameterSetName='AllSitesInWebApplication', ValueFromPipeline=$true)] + [object] + ${WebApplication}, + + [Parameter(ParameterSetName='AllSitesInSiteSubscription', Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SiteSubscription}, + + [Parameter(ParameterSetName='AllSitesInIdentity')] + [switch] + ${Regex}, + + [scriptblock] + ${Filter}, + + [int] + ${CompatibilityLevel}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPSiteAdministration { + [CmdletBinding(DefaultParameterSetName='AllSitesInWebApplication', SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='AllSitesInIdentity', Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [string] + ${Limit}, + + [Parameter(ParameterSetName='AllSitesInContentDB', Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${ContentDatabase}, + + [Parameter(ParameterSetName='AllSitesInWebApplication', ValueFromPipeline=$true)] + [object] + ${WebApplication}, + + [Parameter(ParameterSetName='AllSitesInSiteSubscription', Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SiteSubscription}, + + [Parameter(ParameterSetName='AllSitesInIdentity')] + [switch] + ${Regex}, + + [scriptblock] + ${Filter}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPSiteMapDatabase { + [CmdletBinding(DefaultParameterSetName='DefaultSet', SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPSiteMaster { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${ContentDatabase}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPSiteSubscription { + [CmdletBinding()] +param( + [Parameter(Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPSiteSubscriptionConfig { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPSiteSubscriptionEdiscoveryHub { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPSiteSubscriptionEdiscoverySearchScope { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPSiteSubscriptionFeaturePack { + [CmdletBinding(DefaultParameterSetName='FeaturePack')] +param( + [Parameter(ParameterSetName='FeaturePack', Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ParameterSetName='SiteSubscription', ValueFromPipeline=$true)] + [object] + ${SiteSubscription}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPSiteSubscriptionIRMConfig { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPSiteSubscriptionMetadataConfig { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${ServiceProxy}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPSiteUpgradeSessionInfo { + [CmdletBinding(DefaultParameterSetName='ContentDB')] +param( + [Parameter(ParameterSetName='Site', Mandatory=$true)] + [object] + ${Site}, + + [Parameter(ParameterSetName='ContentDB', Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${ContentDatabase}, + + [Parameter(ParameterSetName='ContentDB')] + [object] + ${SiteSubscription}, + + [Parameter(ParameterSetName='ContentDB')] + [switch] + ${HideWaiting}, + + [Parameter(ParameterSetName='ContentDB')] + [switch] + ${ShowInProgress}, + + [Parameter(ParameterSetName='ContentDB')] + [switch] + ${ShowCompleted}, + + [Parameter(ParameterSetName='ContentDB')] + [switch] + ${ShowFailed}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPSiteURL { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPSolution { + [CmdletBinding()] +param( + [Parameter(Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPStateServiceApplication { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [Alias('Name')] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPStateServiceApplicationProxy { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [Alias('Name')] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPStateServiceDatabase { + [CmdletBinding(DefaultParameterSetName='Default', SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Default', Position=0, ValueFromPipeline=$true)] + [Alias('Name')] + [object] + ${Identity}, + + [Parameter(ParameterSetName='ServiceApplication', Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [Alias('Application')] + [object] + ${ServiceApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPTaxonomySession { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [object] + ${Site}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPThrottlingRule { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${RequestManagementSettings}, + + [ValidateNotNull()] + [string] + ${Name}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPTimerJob { + [CmdletBinding()] +param( + [Parameter(Position=0)] + [object] + ${Identity}, + + [ValidateNotNullOrEmpty()] + [string] + ${Type}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${WebApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPTopologyServiceApplication { + [CmdletBinding()] +param( + [Parameter(Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPTopologyServiceApplicationProxy { + [CmdletBinding()] +param( + [Parameter(Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPTranslationThrottlingSetting { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Low')] +param( + [object] + ${Farm}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPTrustedIdentityTokenIssuer { + [CmdletBinding()] +param( + [Parameter(Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPTrustedRootAuthority { + [CmdletBinding()] +param( + [Parameter(Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPTrustedSecurityTokenIssuer { + [CmdletBinding()] +param( + [Parameter(Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPTrustedServiceTokenIssuer { + [CmdletBinding()] +param( + [Parameter(Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPUpgradeActions { + [CmdletBinding()] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPUsageApplication { + [CmdletBinding()] +param( + [Parameter(Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${UsageService}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPUsageDefinition { + [CmdletBinding()] +param( + [Parameter(Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPUsageService { + [CmdletBinding()] +param( + [Parameter(Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPUser { + [CmdletBinding()] +param( + [Parameter(Position=0, ValueFromPipeline=$true)] + [Alias('UserAlias')] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Web}, + + [object] + ${Group}, + + [string] + ${Limit}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPUserLicense { + [CmdletBinding()] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPUserLicenseMapping { + [CmdletBinding()] +param( + [Parameter(ParameterSetName='WebApplication', ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [ValidateNotNull()] + [object] + ${WebApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPUserLicensing { + [CmdletBinding()] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPUserSettingsProvider { + [CmdletBinding()] +param( + [Parameter(Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPUserSettingsProviderManager { + [CmdletBinding()] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPUserSolution { + [CmdletBinding()] +param( + [Parameter(Position=0)] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${Site}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPVideoStreamingConfig { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${SiteSubscription}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPVisioExternalData { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [ValidateNotNullOrEmpty()] + [object] + ${VisioServiceApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPVisioPerformance { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [ValidateNotNullOrEmpty()] + [object] + ${VisioServiceApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPVisioSafeDataProvider { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [ValidateNotNullOrEmpty()] + [object] + ${VisioServiceApplication}, + + [string] + ${DataProviderId}, + + [int] + ${DataProviderType}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPVisioServiceApplication { + [CmdletBinding()] +param( + [Parameter(Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPVisioServiceApplicationProxy { + [CmdletBinding()] +param( + [Parameter(Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPWeb { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Position=0)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${Site}, + + [string] + ${Limit}, + + [switch] + ${Regex}, + + [scriptblock] + ${Filter}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPWebApplication { + [CmdletBinding()] +param( + [Parameter(Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [switch] + ${IncludeCentralAdministration}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPWebApplicationAppDomain { + [CmdletBinding(DefaultParameterSetName='Default')] +param( + [Parameter(Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ParameterSetName='WebApplication', Mandatory=$true)] + [object] + ${WebApplication}, + + [Parameter(ParameterSetName='ResourceName', Mandatory=$true)] + [string] + ${AppDomain}, + + [object] + ${Zone}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPWebApplicationHttpThrottlingMonitor { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPWebPartPack { + [CmdletBinding()] +param( + [Parameter(Position=0)] + [ValidateNotNullOrEmpty()] + [string] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${WebApplication}, + + [switch] + ${GlobalOnly}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPWebTemplate { + [CmdletBinding()] +param( + [Parameter(Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [uint32] + ${CompatibilityLevel}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPWebTemplatesEnabledForSiteMaster { + [CmdletBinding()] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPWOPIBinding { + [CmdletBinding()] +param( + [ValidateNotNullOrEmpty()] + [string] + ${Application}, + + [ValidateNotNullOrEmpty()] + [string] + ${Action}, + + [ValidateNotNullOrEmpty()] + [string] + ${Extension}, + + [ValidateNotNullOrEmpty()] + [string] + ${ProgId}, + + [ValidateNotNullOrEmpty()] + [string] + ${Server}, + + [Parameter(ValueFromPipeline=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${WOPIZone}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPWOPISuppressionSetting { + [CmdletBinding()] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPWOPIZone { + [CmdletBinding()] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPWorkflowConfig { + [CmdletBinding()] +param( + [Parameter(ParameterSetName='WebApplication', Mandatory=$true, Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [object] + ${WebApplication}, + + [Parameter(ParameterSetName='SiteCollection', Mandatory=$true, Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [object] + ${SiteCollection}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Get-SPWorkflowServiceApplicationProxy { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Grant-SPBusinessDataCatalogMetadataObject { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [object] + ${Principal}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(Mandatory=$true)] + [object] + ${Right}, + + [string] + ${SettingId}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Grant-SPObjectSecurity { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, Position=1)] + [ValidateNotNull()] + [object] + ${Principal}, + + [Parameter(Mandatory=$true, Position=2)] + [ValidateNotNull()] + [string[]] + ${Rights}, + + [switch] + ${Replace}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Import-SPAccessServicesDatabase { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${DatabaseName}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNullOrEmpty()] + [guid] + ${ServerReferenceId}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNullOrEmpty()] + [byte[]] + ${Bacpac}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Import-SPAppPackage { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${Path}, + + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [object] + ${Site}, + + [Parameter(Mandatory=$true)] + [object] + ${Source}, + + [string] + ${AssetId}, + + [string] + ${ContentMarket}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Import-SPBusinessDataCatalogDotNetAssembly { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${Path}, + + [ValidateNotNullOrEmpty()] + [string[]] + ${DependentAssemblyPaths}, + + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [object] + ${LobSystem}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Import-SPBusinessDataCatalogModel { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [switch] + ${ModelsIncluded}, + + [switch] + ${LocalizedNamesIncluded}, + + [switch] + ${PropertiesIncluded}, + + [switch] + ${PermissionsIncluded}, + + [Parameter(ParameterSetName='Catalog', Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(ParameterSetName='ServiceContext', Mandatory=$true)] + [ValidateNotNull()] + [object] + ${ServiceContext}, + + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${Path}, + + [switch] + ${Force}, + + [string] + ${SettingId}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Import-SPEnterpriseSearchCustomExtractionDictionary { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true)] + [object] + ${SearchApplication}, + + [Parameter(Mandatory=$true, HelpMessage='Specify the UNC path to the CSV file.')] + [string] + ${FileName}, + + [Parameter(Mandatory=$true, HelpMessage='Specify the fully qualified name of the target dictionary to be deployed.')] + [ValidateSet('Microsoft.UserDictionaries.EntityExtraction.Custom.Word.1','Microsoft.UserDictionaries.EntityExtraction.Custom.Word.2','Microsoft.UserDictionaries.EntityExtraction.Custom.Word.3','Microsoft.UserDictionaries.EntityExtraction.Custom.Word.4','Microsoft.UserDictionaries.EntityExtraction.Custom.Word.5','Microsoft.UserDictionaries.EntityExtraction.Custom.ExactWord.1','Microsoft.UserDictionaries.EntityExtraction.Custom.WordPart.1','Microsoft.UserDictionaries.EntityExtraction.Custom.WordPart.2','Microsoft.UserDictionaries.EntityExtraction.Custom.WordPart.3','Microsoft.UserDictionaries.EntityExtraction.Custom.WordPart.4','Microsoft.UserDictionaries.EntityExtraction.Custom.WordPart.5','Microsoft.UserDictionaries.EntityExtraction.Custom.ExactWordPart.1')] + [string] + ${DictionaryName}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Import-SPEnterpriseSearchPopularQueries { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchApplicationProxy}, + + [Parameter(Mandatory=$true)] + [object] + ${ResultSource}, + + [Parameter(Mandatory=$true)] + [object] + ${Web}, + + [string] + ${Filename}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Import-SPEnterpriseSearchThesaurus { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true)] + [object] + ${SearchApplication}, + + [Parameter(Mandatory=$true, HelpMessage='Specify the UNC path to the CSV file.')] + [string] + ${FileName}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Import-SPEnterpriseSearchTopology { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [Parameter(Mandatory=$true)] + [string] + ${Filename}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Import-SPInfoPathAdministrationFiles { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [object] + ${Identity}, + + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [string] + ${Path}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Import-SPMetadataWebServicePartitionData { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${Path}, + + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${ServiceProxy}, + + [switch] + ${ToServiceDatabase}, + + [ValidateNotNull()] + [object] + ${ToContentDatabase}, + + [switch] + ${NoCompression}, + + [ValidateSet('true','false')] + [switch] + ${OverwriteExisting}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Import-SPPerformancePointContent { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true)] + [string] + ${ImportFileUrl}, + + [Parameter(Mandatory=$true)] + [string] + ${MasterPageUrl}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [object] + ${SiteDestination}, + + [Parameter(Mandatory=$true)] + [hashtable] + ${LocationMap}, + + [Parameter(Mandatory=$true)] + [hashtable] + ${DatasourceMap}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Import-SPScaleOutDatabaseTenantData { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true)] + [string] + ${FilePath}, + + [Parameter(Mandatory=$true)] + [object] + ${ServiceApplication}, + + [Parameter(Mandatory=$true)] + [guid] + ${SiteSubscriptionId}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Import-SPServerScaleOutDatabaseTenantData { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true)] + [string] + ${FilePath}, + + [Parameter(Mandatory=$true)] + [object] + ${ServiceApplication}, + + [Parameter(Mandatory=$true)] + [guid] + ${SiteSubscriptionId}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Import-SPSiteSubscriptionBusinessDataCatalogConfig { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${Path}, + + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [object] + ${ServiceContext}, + + [switch] + ${ModelsIncluded}, + + [switch] + ${LocalizedNamesIncluded}, + + [switch] + ${PropertiesIncluded}, + + [switch] + ${ProxiesIncluded}, + + [switch] + ${PermissionsIncluded}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Import-SPSiteSubscriptionSettings { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${Path}, + + [switch] + ${AdminProperties}, + + [switch] + ${Force}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Import-SPWeb { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [object] + ${IncludeUserCustomAction}, + + [switch] + ${ActivateSolutions}, + + [object] + ${UpdateVersions}, + + [Parameter(Mandatory=$true)] + [string] + ${Path}, + + [switch] + ${Force}, + + [switch] + ${IncludeUserSecurity}, + + [switch] + ${HaltOnWarning}, + + [switch] + ${HaltOnError}, + + [switch] + ${NoLogFile}, + + [switch] + ${NoFileCompression}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Initialize-SPResourceSecurity { + [CmdletBinding()] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Initialize-SPStateServiceDatabase { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [Alias('Name')] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Install-SPApp { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Low')] +param( + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [object] + ${Web}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Install-SPApplicationContent { + [CmdletBinding()] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Install-SPDataConnectionFile { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [string] + ${Path}, + + [ValidateLength(0, 255)] + [string] + ${Category}, + + [Parameter(ValueFromPipelineByPropertyName=$true)] + [switch] + ${WebAccessible}, + + [switch] + ${Overwrite}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Install-SPFeature { + [CmdletBinding(DefaultParameterSetName='PathSet', SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='PathSet', Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [string] + ${Path}, + + [Parameter(ParameterSetName='AllExistingFeatures', Mandatory=$true)] + [switch] + ${AllExistingFeatures}, + + [Parameter(ParameterSetName='ScanForFeatures', Mandatory=$true)] + [switch] + ${ScanForFeatures}, + + [switch] + ${Force}, + + [Parameter(ParameterSetName='ScanForFeatures')] + [Parameter(ParameterSetName='AllExistingFeatures')] + [string] + ${SolutionId}, + + [Parameter(ParameterSetName='PathSet')] + [int] + ${CompatibilityLevel}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Install-SPHelpCollection { + [CmdletBinding(DefaultParameterSetName='InstallOne')] +param( + [Parameter(ParameterSetName='InstallOne', Mandatory=$true)] + [ValidateNotNull()] + [string] + ${LiteralPath}, + + [Parameter(ParameterSetName='InstallAll', Mandatory=$true)] + [switch] + ${All}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Install-SPInfoPathFormTemplate { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [string] + ${Path}, + + [switch] + ${EnableGradualUpgrade}, + + [switch] + ${NoWait}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Install-SPService { + [CmdletBinding()] +param( + [switch] + ${Provision}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Install-SPSolution { + [CmdletBinding(DefaultParameterSetName='Deploy', SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Synchronize', Position=0, ValueFromPipeline=$true)] + [Parameter(ParameterSetName='Deploy', Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ParameterSetName='Deploy')] + [object] + ${WebApplication}, + + [Parameter(ParameterSetName='Deploy')] + [string] + ${Time}, + + [Parameter(ParameterSetName='Deploy')] + [switch] + ${CASPolicies}, + + [Parameter(ParameterSetName='Deploy')] + [switch] + ${GACDeployment}, + + [Parameter(ParameterSetName='Deploy')] + [switch] + ${FullTrustBinDeployment}, + + [Parameter(ParameterSetName='Deploy')] + [switch] + ${Local}, + + [uint32] + ${Language}, + + [Parameter(ParameterSetName='Deploy')] + [switch] + ${Force}, + + [Parameter(ParameterSetName='Deploy')] + [switch] + ${AllWebApplications}, + + [Parameter(ParameterSetName='Deploy')] + [string] + ${CompatibilityLevel}, + + [Parameter(ParameterSetName='Synchronize', Mandatory=$true)] + [switch] + ${Synchronize}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Install-SPUserSolution { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(Mandatory=$true)] + [object] + ${Site}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Install-SPWebPartPack { + [CmdletBinding(DefaultParameterSetName='UseFileName', SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(ParameterSetName='UseName', Mandatory=$true, Position=0)] + [ValidateNotNullOrEmpty()] + [string] + ${Name}, + + [Parameter(ParameterSetName='UseFileName', Mandatory=$true, Position=0)] + [ValidateNotNullOrEmpty()] + [string] + ${LiteralPath}, + + [Parameter(ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${WebApplication}, + + [switch] + ${GlobalInstall}, + + [uint32] + ${Language}, + + [switch] + ${Force}, + + [string] + ${CompatibilityLevel}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Invoke-SPProjectActiveDirectoryEnterpriseResourcePoolSync { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0)] + [ValidateNotNullOrEmpty()] + [uri] + ${Url}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Invoke-SPProjectActiveDirectoryGroupSync { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0)] + [ValidateNotNullOrEmpty()] + [uri] + ${Url}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Merge-SPLogFile { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true)] + [string] + ${Path}, + + [switch] + ${Overwrite}, + + [datetime] + ${StartTime}, + + [datetime] + ${EndTime}, + + [string[]] + ${Process}, + + [uint32[]] + ${ThreadID}, + + [string[]] + ${Area}, + + [string[]] + ${Category}, + + [string[]] + ${EventID}, + + [string] + ${Level}, + + [string[]] + ${Message}, + + [guid[]] + ${Correlation}, + + [string[]] + ${ContextFilter}, + + [switch] + ${ExcludeNestedCorrelation}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Migrate-SPDatabase { + [CmdletBinding(DefaultParameterSetName='SiteSubscription', SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ParameterSetName='SiteSubscription', Mandatory=$true, Position=1)] + [object] + ${DestinationDatabase}, + + [Parameter(ParameterSetName='SiteCollection', Mandatory=$true, Position=2)] + [object] + ${SiteCollection}, + + [Parameter(ParameterSetName='SiteSubscription', Mandatory=$true, Position=2)] + [object] + ${SiteSubscription}, + + [Parameter(Mandatory=$true, Position=3)] + [object] + ${ServiceType}, + + [Parameter(Position=4)] + [switch] + ${Overwrite}, + + [Parameter(Position=5)] + [switch] + ${UseLinkedSqlServer}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Migrate-SPProjectDatabase { + [CmdletBinding(DefaultParameterSetName='web', SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(ParameterSetName='web', Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${DatabaseName}, + + [Parameter(ParameterSetName='web')] + [ValidateNotNullOrEmpty()] + [string] + ${DatabaseServer}, + + [Parameter(ParameterSetName='web')] + [ValidateNotNullOrEmpty()] + [string] + ${FailoverPartner}, + + [Parameter(ParameterSetName='web')] + [pscredential] + ${SQLLogon}, + + [Parameter(ParameterSetName='web')] + [switch] + ${Overwrite}, + + [Parameter(ParameterSetName='web', Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SiteCollection}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Migrate-SPProjectResourcePlans { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0)] + [ValidateNotNullOrEmpty()] + [uri] + ${Url}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Mount-SPContentDatabase { + [CmdletBinding(DefaultParameterSetName='DefaultSet', SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [switch] + ${SkipIntegrityChecks}, + + [switch] + ${NoB2BSiteUpgrade}, + + [string] + ${DatabaseFailoverServer}, + + [Parameter(Mandatory=$true, Position=0)] + [ValidateNotNull()] + [string] + ${Name}, + + [Parameter(Mandatory=$true, Position=1)] + [ValidateNotNull()] + [object] + ${WebApplication}, + + [ValidateNotNullOrEmpty()] + [string] + ${DatabaseServer}, + + [ValidateNotNull()] + [pscredential] + ${DatabaseCredentials}, + + [ValidateNotNull()] + [pscredential] + ${DatabaseAccessCredentials}, + + [ValidateRange(1, 2147483647)] + [int] + ${MaxSiteCount}, + + [ValidateRange(0, 2147483647)] + [int] + ${WarningSiteCount}, + + [switch] + ${ClearChangeLog}, + + [switch] + ${ChangeSyncKnowledge}, + + [switch] + ${AssignNewDatabaseId}, + + [switch] + ${UseLatestSchema}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Mount-SPSiteMapDatabase { + [CmdletBinding(DefaultParameterSetName='DefaultSet', SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0)] + [ValidateNotNullOrEmpty()] + [string] + ${DatabaseName}, + + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${DatabaseServer}, + + [ValidateNotNull()] + [pscredential] + ${DatabaseCredentials}, + + [string] + ${DatabaseFailoverServer}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Mount-SPStateServiceDatabase { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0)] + [string] + ${Name}, + + [string] + ${DatabaseServer}, + + [pscredential] + ${DatabaseCredentials}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${ServiceApplication}, + + [ValidateRange(0, 10)] + [System.Nullable[int]] + ${Weight}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Move-SPAppManagementData { + [CmdletBinding(DefaultParameterSetName='Default', SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Default', Mandatory=$true)] + [object] + ${SourceAppManagementDatabase}, + + [Parameter(ParameterSetName='Default', Mandatory=$true)] + [object] + ${TargetContentDatabase}, + + [Parameter(ParameterSetName='Default', Mandatory=$true)] + [guid] + ${SiteSubscriptionId}, + + [Parameter(ParameterSetName='Default')] + [switch] + ${OverWrite}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Move-SPBlobStorageLocation { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0)] + [ValidateNotNullOrEmpty()] + [string] + ${SourceDatabase}, + + [ValidateNotNullOrEmpty()] + [string] + ${DestinationDataSourceInstance}, + + [ValidateNotNullOrEmpty()] + [string] + ${DestinationDatabase}, + + [ValidateNotNullOrEmpty()] + [string] + ${Dir}, + + [ValidateNotNullOrEmpty()] + [bool] + ${VerboseMod}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Move-SPDeletedSite { + [CmdletBinding(DefaultParameterSetName='DatabaseFromPipebind', SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNullOrEmpty()] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${WebApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${ContentDatabase}, + + [Parameter(Mandatory=$true)] + [object] + ${DestinationDatabase}, + + [hashtable] + ${RbsProviderMapping}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Move-SPEnterpriseSearchLinksDatabases { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [Parameter(Position=1)] + [System.Nullable[guid]] + ${RepartitioningId}, + + [Parameter(Position=2)] + [object] + ${SourceStores}, + + [Parameter(Position=3)] + [object] + ${TargetStores}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Move-SPProfileManagedMetadataProperty { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${ProfileServiceApplicationProxy}, + + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [string] + ${Identity}, + + [string] + ${TermSetName}, + + [switch] + ${AvailableForTagging}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Move-SPSecureStorePartitionData { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${DatabaseConnectionString}, + + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [string] + ${SourceFarmPassphrase}, + + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [string] + ${TargetFarmPassphrase}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Move-SPSite { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNullOrEmpty()] + [object] + ${Identity}, + + [Parameter(Mandatory=$true)] + [object] + ${DestinationDatabase}, + + [hashtable] + ${RbsProviderMapping}, + + [bool] + ${CopyEvents}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Move-SPSocialComment { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${ProfileServiceApplicationProxy}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${SiteSubscription}, + + [string] + ${OldUrl}, + + [string] + ${NewUrl}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Move-SPUser { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [Alias('UserAlias')] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${NewAlias}, + + [switch] + ${IgnoreSID}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPAccessServiceApplication { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${ApplicationPool}, + + [string] + ${Name}, + + [switch] + ${Default}, + + [ValidateRange(1, 255)] + [int] + ${ColumnsMax}, + + [ValidateRange(1, 200000)] + [int] + ${RowsMax}, + + [ValidateRange(1, 20)] + [int] + ${SourcesMax}, + + [ValidateRange(0, 32)] + [int] + ${OutputCalculatedColumnsMax}, + + [ValidateRange(0, 8)] + [int] + ${OrderByMax}, + + [switch] + ${OuterJoinsAllowed}, + + [switch] + ${NonRemotableQueriesAllowed}, + + [ValidateRange(-1, 2147483647)] + [int] + ${RecordsInTableMax}, + + [ValidateRange(-1, 2147483647)] + [int] + ${ApplicationLogSizeMax}, + + [ValidateRange(-1, 2073600)] + [int] + ${RequestDurationMax}, + + [ValidateRange(-1, 2147483647)] + [int] + ${SessionsPerUserMax}, + + [ValidateRange(-1, 2147483647)] + [int] + ${SessionsPerAnonymousUserMax}, + + [ValidateRange(-1, 2073600)] + [int] + ${CacheTimeout}, + + [ValidateRange(0, 4096)] + [int] + ${SessionMemoryMax}, + + [ValidateRange(-1, 2147483647)] + [int] + ${PrivateBytesMax}, + + [ValidateRange(-1, 2147483647)] + [int] + ${TemplateSizeMax}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPAccessServicesApplication { + [CmdletBinding(DefaultParameterSetName='NoApplicationServerParameterSet', SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='DefaultParameterSet', Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${DatabaseServer}, + + [Parameter(ParameterSetName='DefaultParameterSet')] + [ValidateNotNull()] + [pscredential] + ${DatabaseServerCredentials}, + + [Parameter(ParameterSetName='DefaultParameterSet', Mandatory=$true, ValueFromPipeline=$true)] + [Parameter(ParameterSetName='NoApplicationServerParameterSet', Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${ApplicationPool}, + + [Parameter(ParameterSetName='DefaultParameterSet')] + [Parameter(ParameterSetName='NoApplicationServerParameterSet')] + [string] + ${Name}, + + [Parameter(ParameterSetName='NoApplicationServerParameterSet')] + [Parameter(ParameterSetName='DefaultParameterSet', Mandatory=$true)] + [switch] + ${Default}, + + [Parameter(ParameterSetName='NoApplicationServerParameterSet')] + [Parameter(ParameterSetName='DefaultParameterSet')] + [ValidateRange(-1, 2073600)] + [int] + ${RequestDurationMax}, + + [Parameter(ParameterSetName='DefaultParameterSet')] + [Parameter(ParameterSetName='NoApplicationServerParameterSet')] + [ValidateRange(-1, 2147483647)] + [int] + ${SessionsPerUserMax}, + + [Parameter(ParameterSetName='NoApplicationServerParameterSet')] + [Parameter(ParameterSetName='DefaultParameterSet')] + [ValidateRange(-1, 2147483647)] + [int] + ${SessionsPerAnonymousUserMax}, + + [Parameter(ParameterSetName='NoApplicationServerParameterSet')] + [Parameter(ParameterSetName='DefaultParameterSet')] + [ValidateRange(-1, 2073600)] + [int] + ${CacheTimeout}, + + [Parameter(ParameterSetName='DefaultParameterSet')] + [Parameter(ParameterSetName='NoApplicationServerParameterSet')] + [ValidateRange(-1, 2147483647)] + [int] + ${PrivateBytesMax}, + + [Parameter(ParameterSetName='DefaultParameterSet')] + [Parameter(ParameterSetName='NoApplicationServerParameterSet')] + [ValidateRange(-1, 2073600)] + [int] + ${QueryTimeout}, + + [Parameter(ParameterSetName='NoApplicationServerParameterSet')] + [Parameter(ParameterSetName='DefaultParameterSet')] + [ValidateRange(-1, 1440)] + [int] + ${RecoveryPointObjective}, + + [Parameter(ParameterSetName='DefaultParameterSet')] + [Parameter(ParameterSetName='NoApplicationServerParameterSet')] + [bool] + ${Hosted}, + + [Parameter(ParameterSetName='DefaultParameterSet')] + [bool] + ${Encrypt}, + + [Parameter(ParameterSetName='DefaultParameterSet')] + [bool] + ${TrustServerCertificate}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPAccessServicesApplicationProxy { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${application}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPAccessServicesDatabaseServer { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${ServiceContext}, + + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${DatabaseServerName}, + + [ValidateNotNullOrEmpty()] + [string] + ${DatabaseServerGroupName}, + + [ValidateNotNullOrEmpty()] + [guid] + ${ServerReferenceId}, + + [ValidateNotNullOrEmpty()] + [pscredential] + ${DatabaseServerCredentials}, + + [ValidateNotNullOrEmpty()] + [bool] + ${AvailableForCreate}, + + [ValidateNotNullOrEmpty()] + [bool] + ${Exclusive}, + + [bool] + ${Encrypt}, + + [bool] + ${TrustServerCertificate}, + + [bool] + ${ValidateServer}, + + [ValidateNotNullOrEmpty()] + [string] + ${SecondaryDatabaseServerName}, + + [ValidateNotNullOrEmpty()] + [string] + ${UserDomain}, + + [object] + ${LoginType}, + + [object] + ${State}, + + [object] + ${StateOwner}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPAlternateURL { + [CmdletBinding(DefaultParameterSetName='WebApplication', SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [string] + ${Url}, + + [object] + ${Zone}, + + [switch] + ${Internal}, + + [Parameter(ParameterSetName='WebApplication', Mandatory=$true)] + [object] + ${WebApplication}, + + [Parameter(ParameterSetName='ResourceName', Mandatory=$true)] + [string] + ${ResourceName}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPAppManagementServiceApplication { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [string] + ${Name}, + + [ValidateNotNullOrEmpty()] + [string] + ${DatabaseServer}, + + [ValidateNotNullOrEmpty()] + [string] + ${DatabaseName}, + + [ValidateNotNullOrEmpty()] + [string] + ${FailoverDatabaseServer}, + + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [object] + ${ApplicationPool}, + + [ValidateNotNull()] + [pscredential] + ${DatabaseCredentials}, + + [switch] + ${DeferUpgradeActions}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPAppManagementServiceApplicationProxy { + [CmdletBinding(DefaultParameterSetName='Uri', SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [string] + ${Name}, + + [switch] + ${UseDefaultProxyGroup}, + + [Parameter(ParameterSetName='Uri', Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${Uri}, + + [Parameter(ParameterSetName='ServiceApplication', Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${ServiceApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPAuthenticationProvider { + [CmdletBinding(DefaultParameterSetName='Windows')] +param( + [Parameter(ParameterSetName='Windows')] + [switch] + ${AllowAnonymous}, + + [Parameter(ParameterSetName='Windows')] + [switch] + ${UseBasicAuthentication}, + + [Parameter(ParameterSetName='Windows')] + [switch] + ${DisableKerberos}, + + [Parameter(ParameterSetName='Windows')] + [switch] + ${UseWindowsIntegratedAuthentication}, + + [Parameter(ParameterSetName='Forms', Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${ASPNETMembershipProvider}, + + [Parameter(ParameterSetName='Forms', Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${ASPNETRoleProviderName}, + + [Parameter(ParameterSetName='Trusted', Mandatory=$true)] + [ValidateNotNull()] + [object] + ${TrustedIdentityTokenIssuer}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPAzureAccessControlServiceApplicationProxy { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${Name}, + + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${MetadataServiceEndpointUri}, + + [ValidateNotNull()] + [switch] + ${DefaultProxyGroup}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPAzureVideoServiceAccount { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${SiteSubscription}, + + [Parameter(Mandatory=$true, Position=1)] + [object] + ${ServiceContext}, + + [Parameter(Mandatory=$true, Position=2)] + [uri] + ${GlobalLocatorServiceUri}, + + [Parameter(Mandatory=$true, Position=3)] + [string] + ${Region}, + + [Parameter(Position=4)] + [System.Net.ICredentials] + ${OAuth2BearerCredentials}, + + [Parameter(Position=5)] + [switch] + ${SkipCheckAccountExistence}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPBECWebServiceApplicationProxy { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${Name}, + + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${ServiceEndpointUri}, + + [ValidateNotNull()] + [switch] + ${DefaultProxyGroup}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPBusinessDataCatalogServiceApplication { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [string] + ${Name}, + + [switch] + ${PartitionMode}, + + [switch] + ${Sharing}, + + [ValidateNotNullOrEmpty()] + [string] + ${DatabaseServer}, + + [string] + ${DatabaseName}, + + [string] + ${FailoverDatabaseServer}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${ApplicationPool}, + + [pscredential] + ${DatabaseCredentials}, + + [string] + ${DatabaseUsername}, + + [securestring] + ${DatabasePassword}, + + [switch] + ${DeferUpgradeActions}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPBusinessDataCatalogServiceApplicationProxy { + [CmdletBinding(DefaultParameterSetName='Uri', SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Uri', Mandatory=$true)] + [ValidateNotNull()] + [uri] + ${Uri}, + + [switch] + ${DefaultProxyGroup}, + + [string] + ${Name}, + + [Parameter(ParameterSetName='PipeBind', Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${ServiceApplication}, + + [Parameter(ParameterSetName='Uri')] + [switch] + ${PartitionMode}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPCentralAdministration { + [CmdletBinding()] +param( + [Parameter(Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [int] + ${Port}, + + [Parameter(Position=1, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [string] + ${WindowsAuthProvider}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPClaimProvider { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true)] + [string] + ${DisplayName}, + + [Parameter(Mandatory=$true)] + [string] + ${Description}, + + [Parameter(Mandatory=$true)] + [string] + ${AssemblyName}, + + [Parameter(Mandatory=$true)] + [string] + ${Type}, + + [switch] + ${Enabled}, + + [switch] + ${Default}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +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)] + [ValidateNotNullOrEmpty()] + [string] + ${Identity}, + + [Parameter(ParameterSetName='STSIdentity', Mandatory=$true, Position=2)] + [Parameter(ParameterSetName='TrustIdentity', Mandatory=$true, Position=1)] + [ValidateNotNullOrEmpty()] + [object] + ${TrustedIdentityTokenIssuer}, + + [Parameter(ParameterSetName='IdentityType', Mandatory=$true, Position=1)] + [ValidateNotNull()] + [object] + ${IdentityType}, + + [Parameter(ParameterSetName='BasicClaim', Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${EncodedClaim}, + + [Parameter(ParameterSetName='ClaimProvider', Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [Parameter(ParameterSetName='STSIdentity', Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${ClaimValue}, + + [Parameter(ParameterSetName='ClaimProvider', Mandatory=$true, Position=1)] + [Parameter(ParameterSetName='STSIdentity', Position=1)] + [ValidateNotNullOrEmpty()] + [string] + ${ClaimType}, + + [Parameter(ParameterSetName='ClaimProvider', Mandatory=$true, Position=2)] + [ValidateNotNull()] + [object] + ${ClaimProvider}, + + [Parameter(ParameterSetName='STSIdentity', Position=3)] + [ValidateNotNull()] + [switch] + ${IdentifierClaim}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPClaimTypeEncoding { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true)] + [char] + ${EncodingCharacter}, + + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${ClaimType}, + + [switch] + ${Force}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPClaimTypeMapping { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0)] + [ValidateNotNullOrEmpty()] + [string] + ${IncomingClaimType}, + + [Parameter(Mandatory=$true, Position=1)] + [ValidateNotNullOrEmpty()] + [string] + ${IncomingClaimTypeDisplayName}, + + [Parameter(Position=2)] + [ValidateNotNullOrEmpty()] + [string] + ${LocalClaimType}, + + [ValidateNotNull()] + [switch] + ${SameAsIncoming}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPConfigurationDatabase { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [string] + ${DatabaseName}, + + [Parameter(Mandatory=$true, Position=1, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${DatabaseServer}, + + [Parameter(Position=2, ValueFromPipelineByPropertyName=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${DirectoryDomain}, + + [Parameter(Position=3, ValueFromPipelineByPropertyName=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${DirectoryOrganizationUnit}, + + [Parameter(Position=4, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${AdministrationContentDatabaseName}, + + [Parameter(Position=5, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [pscredential] + ${DatabaseCredentials}, + + [Parameter(Mandatory=$true, Position=6, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [pscredential] + ${FarmCredentials}, + + [Parameter(Mandatory=$true, Position=7, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [securestring] + ${Passphrase}, + + [Parameter(Position=8, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [switch] + ${SkipRegisterAsDistributedCacheHost}, + + [Parameter(Position=9, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${SiteMapDatabaseName}, + + [Parameter(Position=10, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${SiteMapDatabaseServer}, + + [Parameter(Position=11, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [string] + ${DatabaseFailOverServer}, + + [object] + ${LocalServerRole}, + + [switch] + ${ServerRoleOptional}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPContentDatabase { + [CmdletBinding(DefaultParameterSetName='DefaultSet', SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0)] + [ValidateNotNull()] + [string] + ${Name}, + + [Parameter(Mandatory=$true, Position=1)] + [ValidateNotNull()] + [object] + ${WebApplication}, + + [ValidateNotNullOrEmpty()] + [string] + ${DatabaseServer}, + + [ValidateNotNull()] + [pscredential] + ${DatabaseCredentials}, + + [ValidateNotNull()] + [pscredential] + ${DatabaseAccessCredentials}, + + [ValidateRange(1, 2147483647)] + [int] + ${MaxSiteCount}, + + [ValidateRange(0, 2147483647)] + [int] + ${WarningSiteCount}, + + [switch] + ${ClearChangeLog}, + + [switch] + ${ChangeSyncKnowledge}, + + [switch] + ${AssignNewDatabaseId}, + + [switch] + ${UseLatestSchema}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPContentDeploymentJob { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true)] + [string] + ${Name}, + + [string] + ${Description}, + + [Parameter(Mandatory=$true)] + [object] + ${SPContentDeploymentPath}, + + [object] + ${Scope}, + + [string] + ${Schedule}, + + [switch] + ${ScheduleEnabled}, + + [switch] + ${IncrementalEnabled}, + + [object] + ${SqlSnapshotSetting}, + + [switch] + ${HostingSupportEnabled}, + + [object] + ${EmailNotifications}, + + [string[]] + ${EmailAddresses}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPContentDeploymentPath { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true)] + [string] + ${Name}, + + [string] + ${Description}, + + [Parameter(Mandatory=$true)] + [object] + ${SourceSPWebApplication}, + + [Parameter(Mandatory=$true)] + [object] + ${SourceSPSite}, + + [Parameter(Mandatory=$true)] + [uri] + ${DestinationCentralAdministrationURL}, + + [Parameter(Mandatory=$true)] + [uri] + ${DestinationSPWebApplication}, + + [Parameter(Mandatory=$true)] + [string] + ${DestinationSPSite}, + + [object] + ${Authentication}, + + [Parameter(Mandatory=$true)] + [pscredential] + ${PathAccount}, + + [switch] + ${DeployUserNamesEnabled}, + + [object] + ${DeploySecurityInformation}, + + [switch] + ${EventReceiversEnabled}, + + [switch] + ${CompressionEnabled}, + + [switch] + ${PathEnabled}, + + [object] + ${KeepTemporaryFilesOptions}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPEnterpriseSearchAdminComponent { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchTopology}, + + [Parameter(Mandatory=$true)] + [object] + ${SearchServiceInstance}, + + [object] + ${SearchApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPEnterpriseSearchAnalyticsProcessingComponent { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchTopology}, + + [Parameter(Mandatory=$true)] + [object] + ${SearchServiceInstance}, + + [object] + ${SearchApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPEnterpriseSearchContentEnrichmentConfiguration { + [CmdletBinding()] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPEnterpriseSearchContentProcessingComponent { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchTopology}, + + [Parameter(Mandatory=$true)] + [object] + ${SearchServiceInstance}, + + [object] + ${SearchApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPEnterpriseSearchCrawlComponent { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchTopology}, + + [Parameter(Mandatory=$true)] + [object] + ${SearchServiceInstance}, + + [object] + ${SearchApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPEnterpriseSearchCrawlContentSource { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0)] + [string] + ${Name}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [Parameter(Mandatory=$true)] + [Alias('t')] + [object] + ${Type}, + + [string] + ${Tag}, + + [Alias('s')] + [string] + ${StartAddresses}, + + [Alias('p')] + [object] + ${CrawlPriority}, + + [System.Nullable[int]] + ${MaxPageEnumerationDepth}, + + [System.Nullable[int]] + ${MaxSiteEnumerationDepth}, + + [object] + ${SharePointCrawlBehavior}, + + [object] + ${BDCApplicationProxyGroup}, + + [string[]] + ${LOBSystemSet}, + + [string] + ${CustomProtocol}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPEnterpriseSearchCrawlCustomConnector { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${SearchApplication}, + + [Parameter(Mandatory=$true)] + [string] + ${Protocol}, + + [string] + ${Name}, + + [Parameter(Mandatory=$true)] + [string] + ${ModelFilePath}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPEnterpriseSearchCrawlDatabase { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [Parameter(Mandatory=$true)] + [string] + ${DatabaseName}, + + [string] + ${DatabaseServer}, + + [string] + ${DatabaseUsername}, + + [securestring] + ${DatabasePassword}, + + [string] + ${FailoverDatabaseServer}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPEnterpriseSearchCrawlExtension { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Position=0)] + [string] + ${Name}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPEnterpriseSearchCrawlMapping { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0)] + [string] + ${Url}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [Parameter(Mandatory=$true)] + [Alias('t')] + [string] + ${Target}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPEnterpriseSearchCrawlRule { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0)] + [string] + ${Path}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [Parameter(Mandatory=$true)] + [Alias('t')] + [object] + ${Type}, + + [System.Nullable[bool]] + ${IsAdvancedRegularExpression}, + + [System.Nullable[bool]] + ${CrawlAsHttp}, + + [System.Nullable[bool]] + ${FollowComplexUrls}, + + [System.Nullable[int]] + ${PluggableSecurityTimmerId}, + + [System.Nullable[bool]] + ${SuppressIndexing}, + + [System.Nullable[int]] + ${Priority}, + + [string] + ${ContentClass}, + + [object] + ${AuthenticationType}, + + [string] + ${AccountName}, + + [securestring] + ${AccountPassword}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPEnterpriseSearchFileFormat { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [Parameter(Mandatory=$true, Position=0)] + [string] + ${FormatId}, + + [Parameter(Mandatory=$true, Position=1)] + [string] + ${FormatName}, + + [Parameter(Mandatory=$true, Position=2)] + [string] + ${MimeType}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPEnterpriseSearchIndexComponent { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchTopology}, + + [Parameter(Mandatory=$true)] + [object] + ${SearchServiceInstance}, + + [object] + ${SearchApplication}, + + [uint32] + ${IndexPartition}, + + [string] + ${RootDirectory}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPEnterpriseSearchLanguageResourcePhrase { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0)] + [string] + ${Name}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [Parameter(Mandatory=$true)] + [object] + ${Type}, + + [Parameter(Mandatory=$true)] + [string] + ${Language}, + + [string] + ${Mapping}, + + [Parameter(Mandatory=$true)] + [Alias('o')] + [object] + ${Owner}, + + [guid] + ${SourceId}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPEnterpriseSearchLinksDatabase { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [Parameter(Mandatory=$true)] + [string] + ${DatabaseName}, + + [string] + ${DatabaseServer}, + + [string] + ${DatabaseUsername}, + + [securestring] + ${DatabasePassword}, + + [string] + ${FailoverDatabaseServer}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPEnterpriseSearchMetadataCategory { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0)] + [string] + ${Name}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [Alias('p')] + [System.Nullable[guid]] + ${PropSet}, + + [Alias('d')] + [System.Nullable[bool]] + ${DiscoverNewProperties}, + + [Alias('m')] + [System.Nullable[bool]] + ${MapToContents}, + + [Alias('auto')] + [System.Nullable[bool]] + ${AutoCreateNewManagedProperties}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPEnterpriseSearchMetadataCrawledProperty { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true)] + [string] + ${Name}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [Parameter(Mandatory=$true)] + [Alias('c')] + [object] + ${Category}, + + [Parameter(Mandatory=$true)] + [Alias('ie')] + [bool] + ${IsNameEnum}, + + [Parameter(Mandatory=$true)] + [Alias('vt')] + [Obsolete()] + [int] + ${VariantType}, + + [Parameter(Mandatory=$true)] + [Alias('p')] + [guid] + ${PropSet}, + + [Alias('im')] + [System.Nullable[bool]] + ${IsMappedToContents}, + + [guid] + ${Tenant}, + + [guid] + ${SiteCollection}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPEnterpriseSearchMetadataManagedProperty { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0)] + [string] + ${Name}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [Parameter(Mandatory=$true)] + [Alias('t')] + [int] + ${Type}, + + [Alias('d')] + [string] + ${Description}, + + [Alias('f')] + [System.Nullable[bool]] + ${FullTextQueriable}, + + [Alias('r')] + [System.Nullable[bool]] + ${Retrievable}, + + [Alias('q')] + [System.Nullable[bool]] + ${Queryable}, + + [Alias('e')] + [System.Nullable[bool]] + ${EnabledForScoping}, + + [Alias('nn')] + [System.Nullable[bool]] + ${NameNormalized}, + + [Alias('rp')] + [System.Nullable[bool]] + ${RespectPriority}, + + [Alias('rd')] + [System.Nullable[bool]] + ${RemoveDuplicates}, + + [Alias('im5')] + [Obsolete('This property is replaced by IncludeInAlertSignature.')] + [System.Nullable[bool]] + ${IncludeInMd5}, + + [Alias('sfa')] + [System.Nullable[bool]] + ${SafeForAnonymous}, + + [Alias('ia')] + [System.Nullable[bool]] + ${IncludeInAlertSignature}, + + [Alias('nw')] + [System.Nullable[bool]] + ${NoWordBreaker}, + + [Alias('u')] + [System.Nullable[int16]] + ${UserFlags}, + + [Alias('qir')] + [System.Nullable[bool]] + ${EnabledForQueryIndependentRank}, + + [Alias('def')] + [System.Nullable[uint32]] + ${DefaultForQueryIndependentRank}, + + [guid] + ${Tenant}, + + [guid] + ${SiteCollection}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPEnterpriseSearchMetadataMapping { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [Parameter(Mandatory=$true)] + [object] + ${ManagedProperty}, + + [Parameter(Mandatory=$true)] + [object] + ${CrawledProperty}, + + [guid] + ${Tenant}, + + [guid] + ${SiteCollection}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPEnterpriseSearchQueryAuthority { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0)] + [string] + ${Url}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [Parameter(Mandatory=$true)] + [Alias('l')] + [float] + ${Level}, + + [Parameter(Mandatory=$true)] + [Alias('o')] + [object] + ${Owner}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPEnterpriseSearchQueryDemoted { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0)] + [string] + ${Url}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [Parameter(Mandatory=$true)] + [Alias('o')] + [object] + ${Owner}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPEnterpriseSearchQueryKeyword { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0)] + [string] + ${Term}, + + [Parameter(Mandatory=$true)] + [object] + ${Site}, + + [Alias('d')] + [string] + ${Definition}, + + [Alias('c')] + [string] + ${Contact}, + + [Alias('s')] + [System.Nullable[datetime]] + ${StartDate}, + + [Alias('e')] + [System.Nullable[datetime]] + ${EndDate}, + + [Alias('r')] + [System.Nullable[datetime]] + ${ReviewDate}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPEnterpriseSearchQueryProcessingComponent { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchTopology}, + + [Parameter(Mandatory=$true)] + [object] + ${SearchServiceInstance}, + + [object] + ${SearchApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPEnterpriseSearchQueryScope { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0)] + [string] + ${Name}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [Parameter(Mandatory=$true)] + [Alias('d')] + [string] + ${Description}, + + [Alias('o')] + [uri] + ${OwningSiteUrl}, + + [Alias('a')] + [string] + ${AlternateResultsPage}, + + [Parameter(Mandatory=$true)] + [Alias('disp')] + [System.Nullable[bool]] + ${DisplayInAdminUI}, + + [Alias('type')] + [System.Nullable[int]] + ${CompilationType}, + + [Alias('f')] + [string] + ${ExtendedSearchFilter}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPEnterpriseSearchQueryScopeRule { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [object] + ${SearchApplication}, + + [Parameter(Mandatory=$true)] + [Alias('u')] + [uri] + ${Url}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [Alias('s')] + [object] + ${Scope}, + + [Parameter(Mandatory=$true)] + [Alias('type')] + [string] + ${RuleType}, + + [Alias('f')] + [string] + ${FilterBehavior}, + + [Alias('ut')] + [string] + ${UrlScopeRuleType}, + + [Alias('text')] + [string] + ${MatchingString}, + + [Alias('value')] + [string] + ${PropertyValue}, + + [Alias('mname')] + [object] + ${ManagedProperty}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPEnterpriseSearchRankingModel { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [Parameter(Mandatory=$true)] + [string] + ${RankingModelXML}, + + [Parameter(Mandatory=$true)] + [Alias('o')] + [object] + ${Owner}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPEnterpriseSearchResultItemType { + [CmdletBinding(DefaultParameterSetName='New', SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${SearchApplicationProxy}, + + [Parameter(ParameterSetName='New', Mandatory=$true, Position=1)] + [Parameter(ParameterSetName='Copy', Position=1)] + [Alias('n')] + [string] + ${Name}, + + [Parameter(ParameterSetName='New', Mandatory=$true, Position=2)] + [Parameter(ParameterSetName='Copy', Position=2)] + [Alias('rule')] + [object] + ${Rules}, + + [Parameter(Position=3)] + [Alias('priority')] + [int] + ${RulePriority}, + + [Parameter(Position=4)] + [Alias('dp')] + [string] + ${DisplayProperties}, + + [Parameter(Position=5)] + [Alias('sid')] + [System.Nullable[guid]] + ${SourceID}, + + [Parameter(ParameterSetName='New', Mandatory=$true, Position=6)] + [Parameter(ParameterSetName='Copy', Position=6)] + [Alias('url')] + [string] + ${DisplayTemplateUrl}, + + [Parameter(Mandatory=$true)] + [Alias('o')] + [object] + ${Owner}, + + [Parameter(ParameterSetName='Copy', Mandatory=$true)] + [Alias('copy')] + [object] + ${ExistingResultItemType}, + + [Parameter(ParameterSetName='Copy', Mandatory=$true)] + [Alias('eo')] + [object] + ${ExistingResultItemTypeOwner}, + + [Alias('opt')] + [System.Nullable[bool]] + ${OptimizeForFrequentUse}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPEnterpriseSearchResultSource { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [Parameter(Mandatory=$true)] + [Alias('o')] + [object] + ${Owner}, + + [Parameter(Mandatory=$true)] + [string] + ${Name}, + + [string] + ${Description}, + + [string] + ${QueryTemplate}, + + [Parameter(Mandatory=$true)] + [guid] + ${ProviderId}, + + [string] + ${RemoteUrl}, + + [System.Nullable[bool]] + ${AutoDiscover}, + + [object] + ${AuthenticationType}, + + [string] + ${UserName}, + + [string] + ${Password}, + + [string] + ${SsoId}, + + [System.Nullable[bool]] + ${MakeDefault}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPEnterpriseSearchSecurityTrimmer { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0)] + [int] + ${Id}, + + [Parameter(Mandatory=$true)] + [string] + ${TypeName}, + + [string] + ${Properties}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [string] + ${RulePath}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPEnterpriseSearchServiceApplication { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='DefaultParameterSet', Position=0)] + [Parameter(ParameterSetName='DatabasePlacement', Position=0)] + [string] + ${Name}, + + [Parameter(ParameterSetName='DefaultParameterSet')] + [string] + ${DatabaseServer}, + + [Parameter(ParameterSetName='DefaultParameterSet')] + [string] + ${DatabaseName}, + + [Parameter(ParameterSetName='DefaultParameterSet')] + [string] + ${DatabaseUsername}, + + [Parameter(ParameterSetName='DefaultParameterSet')] + [securestring] + ${DatabasePassword}, + + [Parameter(ParameterSetName='DefaultParameterSet')] + [string] + ${FailoverDatabaseServer}, + + [Parameter(ParameterSetName='DatabasePlacement')] + [Parameter(ParameterSetName='DefaultParameterSet')] + [switch] + ${Partitioned}, + + [Parameter(ParameterSetName='DefaultParameterSet', Mandatory=$true)] + [object] + ${ApplicationPool}, + + [Parameter(ParameterSetName='DefaultParameterSet')] + [object] + ${AdminApplicationPool}, + + [Parameter(ParameterSetName='DatabasePlacement', Mandatory=$true)] + [hashtable] + ${ParametersForDatabases}, + + [Parameter(ParameterSetName='DatabasePlacement')] + [Parameter(ParameterSetName='DefaultParameterSet')] + [bool] + ${CloudIndex}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPEnterpriseSearchServiceApplicationProxy { + [CmdletBinding(DefaultParameterSetName='Uri', SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='SSA', Mandatory=$true)] + [object] + ${SearchApplication}, + + [Parameter(Position=0)] + [string] + ${Name}, + + [Parameter(ParameterSetName='Uri', Mandatory=$true)] + [string] + ${Uri}, + + [switch] + ${Partitioned}, + + [switch] + ${MergeWithDefaultPartition}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPEnterpriseSearchSiteHitRule { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0)] + [string] + ${Name}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${SearchService}, + + [Parameter(Mandatory=$true)] + [string] + ${HitRate}, + + [Parameter(Mandatory=$true)] + [string] + ${Behavior}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPEnterpriseSearchTopology { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [Parameter(ParameterSetName='Clone')] + [switch] + ${Clone}, + + [Parameter(ParameterSetName='Clone')] + [object] + ${SearchTopology}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPLogFile { + [CmdletBinding()] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPManagedAccount { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [pscredential] + ${Credential}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPManagedPath { + [CmdletBinding(DefaultParameterSetName='WebApplication', SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [string] + ${RelativeURL}, + + [Parameter(ParameterSetName='WebApplication', Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${WebApplication}, + + [Parameter(ParameterSetName='HostHeader', Mandatory=$true)] + [switch] + ${HostHeader}, + + [switch] + ${Explicit}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPMarketplaceWebServiceApplicationProxy { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${Name}, + + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${ServiceEndpointUri}, + + [ValidateNotNull()] + [switch] + ${DefaultProxyGroup}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPMetadataServiceApplication { + [CmdletBinding(DefaultParameterSetName='Default', SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [string] + ${AdministratorAccount}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${ApplicationPool}, + + [string] + ${DatabaseName}, + + [string] + ${DatabaseServer}, + + [pscredential] + ${DatabaseCredentials}, + + [string] + ${FailoverDatabaseServer}, + + [string] + ${FullAccessAccount}, + + [string] + ${HubUri}, + + [Parameter(ParameterSetName='NoQuota', Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [Parameter(ParameterSetName='Quota', Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [Parameter(ParameterSetName='Default', Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [string] + ${Name}, + + [switch] + ${PartitionMode}, + + [string] + ${ReadAccessAccount}, + + [string] + ${RestrictedAccount}, + + [switch] + ${SyndicationErrorReportEnabled}, + + [int] + ${CacheTimeCheckInterval}, + + [int] + ${MaxChannelCache}, + + [Parameter(ParameterSetName='NoQuota', Mandatory=$true)] + [switch] + ${DisablePartitionQuota}, + + [Parameter(ParameterSetName='Quota', Mandatory=$true)] + [ValidateRange(0, 2147483647)] + [int] + ${GroupsPerPartition}, + + [Parameter(ParameterSetName='Quota', Mandatory=$true)] + [ValidateRange(0, 2147483647)] + [int] + ${TermSetsPerPartition}, + + [Parameter(ParameterSetName='Quota', Mandatory=$true)] + [ValidateRange(0, 2147483647)] + [int] + ${TermsPerPartition}, + + [Parameter(ParameterSetName='Quota', Mandatory=$true)] + [ValidateRange(0, 2147483647)] + [int] + ${LabelsPerPartition}, + + [Parameter(ParameterSetName='Quota', Mandatory=$true)] + [ValidateRange(0, 2147483647)] + [int] + ${PropertiesPerPartition}, + + [switch] + ${DeferUpgradeActions}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPMetadataServiceApplicationProxy { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [switch] + ${ContentTypePushdownEnabled}, + + [switch] + ${ContentTypeSyndicationEnabled}, + + [switch] + ${DefaultProxyGroup}, + + [switch] + ${DefaultKeywordTaxonomy}, + + [switch] + ${DefaultSiteCollectionTaxonomy}, + + [Parameter(Mandatory=$true)] + [string] + ${Name}, + + [switch] + ${PartitionMode}, + + [object] + ${ServiceApplication}, + + [string] + ${Uri}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPODataConnectionSetting { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [object] + ${ServiceContext}, + + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [ValidateLength(0, 246)] + [string] + ${Name}, + + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [uri] + ${ServiceAddressURL}, + + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [object] + ${AuthenticationMode}, + + [ValidateNotNull()] + [ValidateLength(0, 1024)] + [string] + ${SecureStoreTargetApplicationId}, + + [string] + ${ExtensionProvider}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPOnlineApplicationPrincipalManagementServiceApplicationProxy { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${Name}, + + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${OnlineTenantUri}, + + [ValidateNotNull()] + [switch] + ${DefaultProxyGroup}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPPerformancePointServiceApplication { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateLength(0, 64)] + [string] + ${Name}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [object] + ${ApplicationPool}, + + [bool] + ${CommentsDisabled}, + + [int] + ${CommentsScorecardMax}, + + [int] + ${IndicatorImageCacheSeconds}, + + [int] + ${DataSourceQueryTimeoutSeconds}, + + [int] + ${FilterRememberUserSelectionsDays}, + + [int] + ${FilterTreeMembersMax}, + + [int] + ${FilterSearchResultsMax}, + + [int] + ${ShowDetailsInitialRows}, + + [bool] + ${ShowDetailsMaxRowsDisabled}, + + [int] + ${ShowDetailsMaxRows}, + + [bool] + ${MSMQEnabled}, + + [string] + ${MSMQName}, + + [int] + ${SessionHistoryHours}, + + [bool] + ${AnalyticQueryLoggingEnabled}, + + [bool] + ${TrustedDataSourceLocationsRestricted}, + + [bool] + ${TrustedContentLocationsRestricted}, + + [int] + ${SelectMeasureMaximum}, + + [int] + ${DecompositionTreeMaximum}, + + [bool] + ${ApplicationProxyCacheEnabled}, + + [bool] + ${ApplicationCacheEnabled}, + + [int] + ${ApplicationCacheMinimumHitCount}, + + [int] + ${AnalyticResultCacheMinimumHitCount}, + + [int] + ${ElementCacheSeconds}, + + [int] + ${AnalyticQueryCellMax}, + + [string] + ${DatabaseServer}, + + [string] + ${DatabaseName}, + + [string] + ${DatabaseFailoverServer}, + + [pscredential] + ${DatabaseSQLAuthenticationCredential}, + + [bool] + ${UseEffectiveUserName}, + + [string] + ${DataSourceUnattendedServiceAccountTargetApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPPerformancePointServiceApplicationProxy { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [ValidateLength(0, 64)] + [string] + ${Name}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${ServiceApplication}, + + [switch] + ${Default}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPPerformancePointServiceApplicationTrustedLocation { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true)] + [ValidateLength(0, 1024)] + [string] + ${Url}, + + [Parameter(Mandatory=$true)] + [object] + ${Type}, + + [Parameter(Mandatory=$true)] + [object] + ${TrustedLocationType}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${ServiceApplication}, + + [string] + ${Description}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPPowerPointConversionServiceApplication { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0)] + [ValidateLength(1, 128)] + [string] + ${Name}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${ApplicationPool}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPPowerPointConversionServiceApplicationProxy { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0)] + [ValidateLength(1, 128)] + [string] + ${Name}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${ServiceApplication}, + + [switch] + ${AddToDefaultGroup}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPProfileServiceApplication { + [CmdletBinding(DefaultParameterSetName='Default', SupportsShouldProcess=$true, ConfirmImpact='Low')] +param( + [string] + ${Name}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${ApplicationPool}, + + [string] + ${ProfileDBName}, + + [string] + ${ProfileDBServer}, + + [pscredential] + ${ProfileDBCredentials}, + + [string] + ${ProfileDBFailoverServer}, + + [string] + ${SocialDBName}, + + [string] + ${SocialDBServer}, + + [pscredential] + ${SocialDBCredentials}, + + [string] + ${SocialDBFailoverServer}, + + [string] + ${ProfileSyncDBName}, + + [string] + ${ProfileSyncDBServer}, + + [pscredential] + ${ProfileSyncDBCredentials}, + + [string] + ${ProfileSyncDBFailoverServer}, + + [switch] + ${PartitionMode}, + + [Parameter(ValueFromPipeline=$true)] + [Parameter(ParameterSetName='MySiteSettings', Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${MySiteHostLocation}, + + [Parameter(ParameterSetName='MySiteSettings', ValueFromPipeline=$true)] + [object] + ${MySiteManagedPath}, + + [Parameter(ParameterSetName='MySiteSettings')] + [ValidateSet('None','Resolve','Block')] + [string] + ${SiteNamingConflictResolution}, + + [switch] + ${DeferUpgradeActions}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPProfileServiceApplicationProxy { + [CmdletBinding(DefaultParameterSetName='Uri', SupportsShouldProcess=$true, ConfirmImpact='Low')] +param( + [string] + ${Name}, + + [Parameter(ParameterSetName='Application', Mandatory=$true)] + [ValidateNotNull()] + [object] + ${ServiceApplication}, + + [Parameter(ParameterSetName='Uri', Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [uri] + ${Uri}, + + [switch] + ${DefaultProxyGroup}, + + [switch] + ${PartitionMode}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPProjectServiceApplication { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0)] + [string] + ${Name}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNullOrEmpty()] + [object] + ${ApplicationPool}, + + [switch] + ${Proxy}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPProjectServiceApplicationProxy { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0)] + [string] + ${Name}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [Alias('sa')] + [object] + ${ServiceApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPRequestManagementRuleCriteria { + [CmdletBinding()] +param( + [Parameter(ParameterSetName='CustomPropertyParameterSet', Mandatory=$true, Position=0)] + [Parameter(ParameterSetName='StandardParameterSet', Mandatory=$true, Position=0)] + [string] + ${Value}, + + [Parameter(ParameterSetName='CustomPropertyParameterSet', Mandatory=$true, Position=1)] + [string] + ${CustomHeader}, + + [Parameter(ParameterSetName='StandardParameterSet', Mandatory=$true, Position=1)] + [ValidateNotNull()] + [object] + ${Property}, + + [Parameter(ParameterSetName='CustomPropertyParameterSet', Position=2)] + [Parameter(ParameterSetName='StandardParameterSet', Position=2)] + [ValidateNotNull()] + [object] + ${MatchType}, + + [Parameter(ParameterSetName='StandardParameterSet', Position=2)] + [Parameter(ParameterSetName='CustomPropertyParameterSet', Position=2)] + [System.Nullable[switch]] + ${CaseSensitive}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPSecureStoreApplication { + [CmdletBinding()] +param( + [object] + ${Administrator}, + + [object] + ${CredentialsOwnerGroup}, + + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [object] + ${Fields}, + + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [object] + ${ServiceContext}, + + [Parameter(Mandatory=$true)] + [object] + ${TargetApplication}, + + [object] + ${TicketRedeemer}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPSecureStoreApplicationField { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true)] + [switch] + ${Masked}, + + [Parameter(Mandatory=$true)] + [string] + ${Name}, + + [Parameter(Mandatory=$true)] + [object] + ${Type}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPSecureStoreServiceApplication { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='MinDBSet', Mandatory=$true)] + [Parameter(ParameterSetName='NoMinDBSet', Mandatory=$true)] + [object] + ${ApplicationPool}, + + [Parameter(ParameterSetName='MinDBSet', Mandatory=$true)] + [Parameter(ParameterSetName='NoMinDBSet', Mandatory=$true)] + [switch] + ${AuditingEnabled}, + + [Parameter(ParameterSetName='NoMinDBSet')] + [Parameter(ParameterSetName='MinDBSet')] + [System.Nullable[int]] + ${AuditlogMaxSize}, + + [Parameter(ParameterSetName='NoMinDBSet')] + [pscredential] + ${DatabaseCredentials}, + + [Parameter(ParameterSetName='NoMinDBSet')] + [string] + ${DatabaseName}, + + [Parameter(ParameterSetName='NoMinDBSet')] + [securestring] + ${DatabasePassword}, + + [Parameter(ParameterSetName='NoMinDBSet')] + [ValidateNotNullOrEmpty()] + [string] + ${DatabaseServer}, + + [Parameter(ParameterSetName='NoMinDBSet')] + [string] + ${DatabaseUsername}, + + [Parameter(ParameterSetName='NoMinDBSet')] + [string] + ${FailoverDatabaseServer}, + + [Parameter(ParameterSetName='MinDBSet')] + [Parameter(ParameterSetName='NoMinDBSet')] + [string] + ${Name}, + + [Parameter(ParameterSetName='NoMinDBSet')] + [Parameter(ParameterSetName='MinDBSet')] + [switch] + ${PartitionMode}, + + [Parameter(ParameterSetName='NoMinDBSet')] + [Parameter(ParameterSetName='MinDBSet')] + [switch] + ${Sharing}, + + [Parameter(ParameterSetName='MinDBSet')] + [Parameter(ParameterSetName='NoMinDBSet')] + [switch] + ${DeferUpgradeActions}, + + [Parameter(ParameterSetName='MinDBSet', Mandatory=$true)] + [switch] + ${EnableMinDB}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPSecureStoreServiceApplicationProxy { + [CmdletBinding(DefaultParameterSetName='Uri', SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [switch] + ${DefaultProxyGroup}, + + [string] + ${Name}, + + [Parameter(ParameterSetName='PipeBind', Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${ServiceApplication}, + + [Parameter(ParameterSetName='Uri', Mandatory=$true)] + [ValidateNotNull()] + [uri] + ${Uri}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPSecureStoreTargetApplication { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true)] + [object] + ${ApplicationType}, + + [string] + ${ContactEmail}, + + [Parameter(Mandatory=$true)] + [string] + ${FriendlyName}, + + [Parameter(Mandatory=$true)] + [string] + ${Name}, + + [ValidateNotNull()] + [uri] + ${SetCredentialsUri}, + + [int] + ${TimeoutInMinutes}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPServiceApplicationPool { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0)] + [ValidateLength(1, 100)] + [ValidateNotNullOrEmpty()] + [string] + ${Name}, + + [Parameter(Mandatory=$true, Position=1)] + [object] + ${Account}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPServiceApplicationProxyGroup { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0)] + [ValidateNotNull()] + [AllowEmptyString()] + [ValidateLength(0, 100)] + [string] + ${Name}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPSite { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [string] + ${Url}, + + [uint32] + ${Language}, + + [object] + ${Template}, + + [string] + ${Name}, + + [string] + ${Description}, + + [object] + ${QuotaTemplate}, + + [string] + ${OwnerEmail}, + + [Parameter(Mandatory=$true)] + [object] + ${OwnerAlias}, + + [string] + ${SecondaryEmail}, + + [object] + ${SecondaryOwnerAlias}, + + [object] + ${HostHeaderWebApplication}, + + [object] + ${ContentDatabase}, + + [object] + ${SiteSubscription}, + + [object] + ${AdministrationSiteType}, + + [int] + ${CompatibilityLevel}, + + [switch] + ${OverrideCompatibilityRestriction}, + + [switch] + ${CreateFromSiteMaster}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPSiteMaster { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${ContentDatabase}, + + [Parameter(Mandatory=$true)] + [object] + ${Template}, + + [uint32] + ${Language}, + + [int] + ${CompatibilityLevel}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPSiteSubscription { + [CmdletBinding()] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPSiteSubscriptionFeaturePack { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPStateServiceApplication { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [string] + ${Name}, + + [Parameter(ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [object] + ${Database}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPStateServiceApplicationProxy { + [CmdletBinding()] +param( + [string] + ${Name}, + + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [object] + ${ServiceApplication}, + + [switch] + ${DefaultProxyGroup}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPStateServiceDatabase { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0)] + [string] + ${Name}, + + [string] + ${DatabaseServer}, + + [pscredential] + ${DatabaseCredentials}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${ServiceApplication}, + + [ValidateRange(0, 10)] + [System.Nullable[int]] + ${Weight}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPSubscriptionSettingsServiceApplication { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [string] + ${Name}, + + [ValidateNotNullOrEmpty()] + [string] + ${DatabaseServer}, + + [ValidateNotNullOrEmpty()] + [string] + ${DatabaseName}, + + [ValidateNotNullOrEmpty()] + [string] + ${FailoverDatabaseServer}, + + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [object] + ${ApplicationPool}, + + [ValidateNotNull()] + [pscredential] + ${DatabaseCredentials}, + + [switch] + ${DeferUpgradeActions}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPSubscriptionSettingsServiceApplicationProxy { + [CmdletBinding(DefaultParameterSetName='Uri', SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Uri', Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${Uri}, + + [Parameter(ParameterSetName='ServiceApplication', Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${ServiceApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPTranslationServiceApplication { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Low')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [string] + ${Name}, + + [string] + ${DatabaseName}, + + [string] + ${DatabaseServer}, + + [pscredential] + ${DatabaseCredential}, + + [string] + ${FailoverDatabaseServer}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${ApplicationPool}, + + [switch] + ${PartitionMode}, + + [switch] + ${Default}, + + [switch] + ${DeferUpgradeActions}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPTranslationServiceApplicationProxy { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Low')] +param( + [switch] + ${DefaultProxyGroup}, + + [Parameter(Mandatory=$true)] + [string] + ${Name}, + + [switch] + ${PartitionMode}, + + [Parameter(ParameterSetName='ConnectLocal', Mandatory=$true)] + [object] + ${ServiceApplication}, + + [Parameter(ParameterSetName='ConnectRemote', Mandatory=$true)] + [string] + ${Uri}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPTrustedIdentityTokenIssuer { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(ParameterSetName='MetadataEndPointParameterSet', Mandatory=$true)] + [Parameter(ParameterSetName='BasicParameterSet', Mandatory=$true)] + [Parameter(ParameterSetName='ActiveDirectoryBackedParameterSet', Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${Name}, + + [Parameter(ParameterSetName='BasicParameterSet', Mandatory=$true)] + [Parameter(ParameterSetName='MetadataEndPointParameterSet', Mandatory=$true)] + [Parameter(ParameterSetName='ActiveDirectoryBackedParameterSet', Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${Description}, + + [Parameter(ParameterSetName='ActiveDirectoryBackedParameterSet')] + [Parameter(ParameterSetName='BasicParameterSet')] + [ValidateNotNull()] + [System.Security.Cryptography.X509Certificates.X509Certificate2] + ${ImportTrustCertificate}, + + [Parameter(ParameterSetName='MetadataEndPointParameterSet', Mandatory=$true)] + [ValidateNotNull()] + [uri] + ${MetadataEndPoint}, + + [Parameter(ParameterSetName='MetadataEndPointParameterSet', Mandatory=$true)] + [Parameter(ParameterSetName='BasicParameterSet', Mandatory=$true)] + [ValidateNotNull()] + [object] + ${ClaimsMappings}, + + [Parameter(ParameterSetName='BasicParameterSet', Mandatory=$true)] + [Parameter(ParameterSetName='MetadataEndPointParameterSet', Mandatory=$true)] + [Parameter(ParameterSetName='ActiveDirectoryBackedParameterSet', Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${SignInUrl}, + + [Parameter(ParameterSetName='MetadataEndPointParameterSet', Mandatory=$true)] + [Parameter(ParameterSetName='BasicParameterSet', Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${IdentifierClaim}, + + [Parameter(ParameterSetName='MetadataEndPointParameterSet')] + [Parameter(ParameterSetName='BasicParameterSet')] + [object] + ${ClaimProvider}, + + [Parameter(ParameterSetName='BasicParameterSet', Mandatory=$true)] + [Parameter(ParameterSetName='MetadataEndPointParameterSet', Mandatory=$true)] + [Parameter(ParameterSetName='ActiveDirectoryBackedParameterSet', Mandatory=$true)] + [ValidateNotNull()] + [string] + ${Realm}, + + [Parameter(ParameterSetName='BasicParameterSet')] + [Parameter(ParameterSetName='MetadataEndPointParameterSet')] + [Parameter(ParameterSetName='ActiveDirectoryBackedParameterSet')] + [switch] + ${UseWReply}, + + [Parameter(ParameterSetName='ActiveDirectoryBackedParameterSet', Mandatory=$true)] + [switch] + ${UseDefaultConfiguration}, + + [Parameter(ParameterSetName='ActiveDirectoryBackedParameterSet')] + [ValidateSet('EMAIL','USER-PRINCIPAL-NAME','ACCOUNT-NAME')] + [string] + ${IdentifierClaimIs}, + + [Parameter(ParameterSetName='ActiveDirectoryBackedParameterSet')] + [Parameter(ParameterSetName='BasicParameterSet')] + [Parameter(ParameterSetName='MetadataEndPointParameterSet')] + [ValidateNotNullOrEmpty()] + [string] + ${SignOutUrl}, + + [Parameter(ParameterSetName='ActiveDirectoryBackedParameterSet')] + [Parameter(ParameterSetName='BasicParameterSet')] + [ValidateNotNullOrEmpty()] + [string] + ${RegisteredIssuerName}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPTrustedRootAuthority { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0)] + [ValidateNotNullOrEmpty()] + [string] + ${Name}, + + [Parameter(ParameterSetName='ManualUpdateCertificateParameterSet', Mandatory=$true)] + [ValidateNotNull()] + [System.Security.Cryptography.X509Certificates.X509Certificate2] + ${Certificate}, + + [Parameter(ParameterSetName='MetadataEndPointParameterSet', Mandatory=$true)] + [ValidateNotNull()] + [uri] + ${MetadataEndPoint}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPTrustedSecurityTokenIssuer { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0)] + [ValidateNotNullOrEmpty()] + [string] + ${Name}, + + [ValidateNotNullOrEmpty()] + [string] + ${Description}, + + [ValidateNotNullOrEmpty()] + [string] + ${RegisteredIssuerName}, + + [ValidateNotNullOrEmpty()] + [switch] + ${IsTrustBroker}, + + [Parameter(ParameterSetName='ImportCertificateParameterSet', Mandatory=$true)] + [ValidateNotNull()] + [System.Security.Cryptography.X509Certificates.X509Certificate2] + ${Certificate}, + + [Parameter(ParameterSetName='MetadataEndPointParameterSet', Mandatory=$true)] + [ValidateNotNull()] + [uri] + ${MetadataEndPoint}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPTrustedServiceTokenIssuer { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0)] + [ValidateNotNullOrEmpty()] + [string] + ${Name}, + + [ValidateNotNullOrEmpty()] + [string] + ${Description}, + + [Parameter(ParameterSetName='ImportCertificateParameterSet', Mandatory=$true)] + [ValidateNotNull()] + [System.Security.Cryptography.X509Certificates.X509Certificate2] + ${Certificate}, + + [Parameter(ParameterSetName='MetadataEndPointParameterSet', Mandatory=$true)] + [ValidateNotNull()] + [uri] + ${MetadataEndPoint}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPUsageApplication { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Position=0)] + [string] + ${Name}, + + [ValidateNotNullOrEmpty()] + [ValidateLength(1, 135)] + [string] + ${DatabaseServer}, + + [ValidateNotNullOrEmpty()] + [ValidateLength(1, 135)] + [string] + ${FailoverDatabaseServer}, + + [ValidateNotNullOrEmpty()] + [ValidateLength(1, 128)] + [string] + ${DatabaseName}, + + [Parameter(ParameterSetName='SQLAuthentication')] + [ValidateLength(1, 128)] + [ValidateNotNullOrEmpty()] + [string] + ${DatabaseUsername}, + + [Parameter(ParameterSetName='SQLAuthentication')] + [ValidateNotNull()] + [securestring] + ${DatabasePassword}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${UsageService}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPUsageLogFile { + [CmdletBinding()] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPUser { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0)] + [ValidateNotNullOrEmpty()] + [string] + ${UserAlias}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Web}, + + [string] + ${Email}, + + [object] + ${Group}, + + [string[]] + ${PermissionLevel}, + + [string] + ${DisplayName}, + + [switch] + ${SiteCollectionAdmin}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPUserLicenseMapping { + [CmdletBinding(DefaultParameterSetName='WindowsAuth', SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='WindowsAuth', Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${SecurityGroup}, + + [Parameter(ParameterSetName='FormsAuth', Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${Role}, + + [Parameter(ParameterSetName='FormsAuth', Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${RoleProviderName}, + + [Parameter(ParameterSetName='ClaimsValues', Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${OriginalIssuer}, + + [Parameter(ParameterSetName='ClaimsValues', Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${Value}, + + [Parameter(ParameterSetName='ClaimsValues', Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${ClaimType}, + + [Parameter(ParameterSetName='ClaimsValues')] + [ValidateNotNullOrEmpty()] + [string] + ${ValueType}, + + [Parameter(ParameterSetName='TrustIdentity', Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Claim}, + + [Parameter(Mandatory=$true, ValueFromPipelineByPropertyName=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${License}, + + [ValidateNotNull()] + [object] + ${WebApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPUserSettingsProvider { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true)] + [string] + ${DisplayName}, + + [Parameter(Mandatory=$true)] + [string] + ${AssemblyName}, + + [Parameter(Mandatory=$true)] + [string] + ${Type}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPVisioSafeDataProvider { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [ValidateNotNullOrEmpty()] + [object] + ${VisioServiceApplication}, + + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${DataProviderId}, + + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [int] + ${DataProviderType}, + + [string] + ${Description}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPVisioServiceApplication { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [switch] + ${AddToDefaultGroup}, + + [Parameter(ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [string] + ${Name}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [ValidateNotNullOrEmpty()] + [object] + ${ApplicationPool}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPVisioServiceApplicationProxy { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(ValueFromPipeline=$true)] + [string] + ${Name}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${ServiceApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPWeb { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [string] + ${Url}, + + [uint32] + ${Language}, + + [object] + ${Template}, + + [string] + ${Name}, + + [string] + ${Description}, + + [switch] + ${AddToQuickLaunch}, + + [switch] + ${UniquePermissions}, + + [switch] + ${AddToTopNav}, + + [switch] + ${UseParentTopNav}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPWebApplication { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [string] + ${Name}, + + [Parameter(Mandatory=$true)] + [string] + ${ApplicationPool}, + + [object] + ${ApplicationPoolAccount}, + + [Alias('ProxyGroup')] + [object] + ${ServiceApplicationProxyGroup}, + + [switch] + ${SecureSocketsLayer}, + + [string] + ${HostHeader}, + + [uint32] + ${Port}, + + [switch] + ${AllowAnonymousAccess}, + + [string] + ${Path}, + + [string] + ${Url}, + + [ValidateSet('Kerberos','NTLM')] + [string] + ${AuthenticationMethod}, + + [object] + ${AuthenticationProvider}, + + [object] + ${AdditionalClaimProvider}, + + [string] + ${SignInRedirectURL}, + + [object] + ${SignInRedirectProvider}, + + [object] + ${UserSettingsProvider}, + + [pscredential] + ${DatabaseCredentials}, + + [string] + ${DatabaseServer}, + + [string] + ${DatabaseName}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPWebApplicationAppDomain { + [CmdletBinding(DefaultParameterSetName='WebApplication', SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [string] + ${AppDomain}, + + [object] + ${Zone}, + + [int] + ${Port}, + + [switch] + ${SecureSocketsLayer}, + + [Parameter(Mandatory=$true)] + [object] + ${WebApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPWebApplicationExtension { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(Mandatory=$true)] + [string] + ${Name}, + + [Parameter(Mandatory=$true)] + [object] + ${Zone}, + + [uint32] + ${Port}, + + [string] + ${HostHeader}, + + [string] + ${Path}, + + [string] + ${Url}, + + [ValidateSet('Kerberos','NTLM')] + [string] + ${AuthenticationMethod}, + + [switch] + ${AllowAnonymousAccess}, + + [switch] + ${SecureSocketsLayer}, + + [object] + ${AuthenticationProvider}, + + [object] + ${AdditionalClaimProvider}, + + [string] + ${SignInRedirectURL}, + + [object] + ${SignInRedirectProvider}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPWOPIBinding { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [ValidateNotNullOrEmpty()] + [string] + ${FileName}, + + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${ServerName}, + + [ValidateNotNullOrEmpty()] + [string] + ${Action}, + + [ValidateNotNullOrEmpty()] + [string] + ${Extension}, + + [ValidateNotNullOrEmpty()] + [string] + ${ProgId}, + + [ValidateNotNullOrEmpty()] + [string] + ${Application}, + + [switch] + ${AllowHTTP}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPWOPISuppressionSetting { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [ValidateNotNullOrEmpty()] + [string] + ${Extension}, + + [ValidateNotNullOrEmpty()] + [string] + ${ProgId}, + + [ValidateNotNullOrEmpty()] + [string] + ${Action}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPWordConversionServiceApplication { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Low')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [string] + ${Name}, + + [string] + ${DatabaseName}, + + [string] + ${DatabaseServer}, + + [pscredential] + ${DatabaseCredential}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${ApplicationPool}, + + [switch] + ${PartitionMode}, + + [switch] + ${Default}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPWorkflowServiceApplicationProxy { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [switch] + ${PartitionMode}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPWorkManagementServiceApplication { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [string] + ${Name}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${ApplicationPool}, + + [switch] + ${Proxy}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function New-SPWorkManagementServiceApplicationProxy { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [switch] + ${DefaultProxyGroup}, + + [Parameter(Mandatory=$true)] + [string] + ${Name}, + + [object] + ${ServiceApplication}, + + [string] + ${Uri}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Pause-SPProjectWebInstance { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Publish-SPServiceApplication { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [AllowEmptyString()] + [ValidateLength(0, 250)] + [string] + ${Description}, + + [ValidateNotNullOrEmpty()] + [uri] + ${InfoLink}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Receive-SPServiceApplicationConnectionInfo { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0)] + [ValidateNotNullOrEmpty()] + [uri] + ${FarmUrl}, + + [ValidateNotNullOrEmpty()] + [string] + ${Filter}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Register-SPAppPrincipal { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [object] + ${Site}, + + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${NameIdentifier}, + + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${DisplayName}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Register-SPContentDatabase { + [CmdletBinding(DefaultParameterSetName='DefaultSet', SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0)] + [ValidateNotNull()] + [string] + ${Name}, + + [Parameter(Mandatory=$true, Position=1)] + [ValidateNotNull()] + [guid] + ${DatabaseId}, + + [Parameter(Mandatory=$true, Position=2)] + [ValidateNotNull()] + [object] + ${WebApplication}, + + [Parameter(Mandatory=$true, Position=3)] + [ValidateNotNullOrEmpty()] + [string] + ${DatabaseServer}, + + [string] + ${DatabaseFailoverServer}, + + [switch] + ${IsSqlAzure}, + + [ValidateNotNull()] + [pscredential] + ${DatabaseCredentials}, + + [ValidateNotNull()] + [pscredential] + ${DatabaseAccessCredentials}, + + [ValidateRange(1, 2147483647)] + [int] + ${MaxSiteCount}, + + [ValidateRange(0, 2147483647)] + [int] + ${WarningSiteCount}, + + [switch] + ${SkipWebApplicationUpdate}, + + [switch] + ${ForceDeleteLock}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Register-SPWorkflowService { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true)] + [object] + ${SPSite}, + + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${WorkflowHostUri}, + + [string] + ${ScopeName}, + + [switch] + ${PartitionMode}, + + [switch] + ${AllowOAuthHttp}, + + [switch] + ${Force}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPAccessServicesDatabaseServer { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [object] + ${DatabaseServer}, + + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [object] + ${DatabaseServerGroup}, + + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${ServiceContext}, + + [switch] + ${Force}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPActivityFeedItems { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${ProfileServiceApplicationProxy}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${SiteSubscription}, + + [bool] + ${AllItems}, + + [int] + ${ID}, + + [string] + ${SearchText}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPAlternateURL { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPAppDeniedEndpoint { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0)] + [ValidateNotNullOrEmpty()] + [string] + ${Endpoint}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPAppPrincipalPermission { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [object] + ${Site}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${AppPrincipal}, + + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [object] + ${Scope}, + + [switch] + ${DisableAppOnlyPolicy}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPAzureVideoServiceAccount { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${SiteSubscription}, + + [Parameter(Mandatory=$true, Position=1)] + [object] + ${ServiceContext}, + + [Parameter(Position=2)] + [System.Net.ICredentials] + ${OAuth2BearerCredentials}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPBusinessDataCatalogModel { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPClaimProvider { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPClaimTypeMapping { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, Position=1, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${TrustedIdentityTokenIssuer}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPConfigurationDatabase { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPContentDatabase { + [CmdletBinding(DefaultParameterSetName='DefaultSet', SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [switch] + ${Force}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPContentDeploymentJob { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPContentDeploymentPath { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPDeletedSite { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNullOrEmpty()] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${WebApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${ContentDatabase}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPDiagnosticsPerformanceCounter { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=1, ValueFromPipelineByPropertyName=$true)] + [string] + ${Category}, + + [Parameter(ValueFromPipelineByPropertyName=$true)] + [string] + ${Counter}, + + [Parameter(ValueFromPipelineByPropertyName=$true)] + [string] + ${Instance}, + + [Parameter(ValueFromPipelineByPropertyName=$true)] + [switch] + ${WebFrontEnd}, + + [Parameter(ValueFromPipeline=$true)] + [switch] + ${DatabaseServer}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPDistributedCacheServiceInstance { + [CmdletBinding()] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPEnterpriseSearchComponent { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [object] + ${SearchApplication}, + + [Parameter(Mandatory=$true)] + [object] + ${SearchTopology}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPEnterpriseSearchContentEnrichmentConfiguration { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPEnterpriseSearchCrawlContentSource { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [object] + ${SearchApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPEnterpriseSearchCrawlCustomConnector { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(Mandatory=$true)] + [object] + ${SearchApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPEnterpriseSearchCrawlDatabase { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [object] + ${SearchApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPEnterpriseSearchCrawlExtension { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [object] + ${SearchApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPEnterpriseSearchCrawlLogReadPermission { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${SearchApplication}, + + [guid] + ${Tenant}, + + [string] + ${UserNames}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPEnterpriseSearchCrawlMapping { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [object] + ${SearchApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPEnterpriseSearchCrawlRule { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [object] + ${SearchApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPEnterpriseSearchFileFormat { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPEnterpriseSearchLanguageResourcePhrase { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [object] + ${SearchApplication}, + + [object] + ${Type}, + + [string] + ${Language}, + + [string] + ${Mapping}, + + [Parameter(Mandatory=$true)] + [Alias('o')] + [object] + ${Owner}, + + [guid] + ${SourceId}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPEnterpriseSearchLinksDatabase { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [object] + ${SearchApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPEnterpriseSearchMetadataCategory { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [object] + ${SearchApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPEnterpriseSearchMetadataManagedProperty { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [object] + ${SearchApplication}, + + [guid] + ${Tenant}, + + [guid] + ${SiteCollection}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPEnterpriseSearchMetadataMapping { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [object] + ${SearchApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPEnterpriseSearchQueryAuthority { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [object] + ${SearchApplication}, + + [Parameter(Mandatory=$true)] + [Alias('o')] + [object] + ${Owner}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPEnterpriseSearchQueryDemoted { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [object] + ${SearchApplication}, + + [Parameter(Mandatory=$true)] + [Alias('o')] + [object] + ${Owner}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPEnterpriseSearchQueryKeyword { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(Mandatory=$true)] + [object] + ${Site}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPEnterpriseSearchQueryScope { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [object] + ${SearchApplication}, + + [Alias('u')] + [uri] + ${Url}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPEnterpriseSearchQueryScopeRule { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [object] + ${SearchApplication}, + + [Parameter(Mandatory=$true)] + [Alias('u')] + [uri] + ${Url}, + + [Alias('n')] + [object] + ${Scope}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPEnterpriseSearchRankingModel { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [object] + ${SearchApplication}, + + [Parameter(Mandatory=$true)] + [Alias('o')] + [object] + ${Owner}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPEnterpriseSearchResultItemType { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [object] + ${SearchApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${SearchApplicationProxy}, + + [Parameter(Mandatory=$true)] + [Alias('o')] + [object] + ${Owner}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPEnterpriseSearchResultSource { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(Mandatory=$true)] + [object] + ${SearchApplication}, + + [Parameter(Mandatory=$true)] + [Alias('o')] + [object] + ${Owner}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPEnterpriseSearchSecurityTrimmer { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPEnterpriseSearchServiceApplication { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [switch] + ${RemoveData}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPEnterpriseSearchServiceApplicationProxy { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPEnterpriseSearchServiceApplicationSiteSettings { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [guid] + ${TenantId}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPEnterpriseSearchSiteHitRule { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [object] + ${SearchService}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPEnterpriseSearchTenantConfiguration { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [Alias('Identity')] + [guid] + ${SiteSubscriptionId}, + + [Parameter(Mandatory=$true)] + [object] + ${SearchApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPEnterpriseSearchTenantSchema { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [object] + ${SearchApplication}, + + [guid] + ${SiteCollection}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPEnterpriseSearchTopology { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [object] + ${SearchApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPInfoPathUserAgent { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [Alias('Name')] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPIPRangeAllowList { + [CmdletBinding(DefaultParameterSetName='CustomIPAllowList', SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${WebApplication}, + + [Parameter(ParameterSetName='CustomIPAllowList', Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${SiteName}, + + [Parameter(ParameterSetName='InternalIPAllowList', Mandatory=$true)] + [switch] + ${InternalIPAllowList}, + + [ValidateNotNullOrEmpty()] + [switch] + ${IPV4}, + + [ValidateNotNullOrEmpty()] + [switch] + ${IPV6}, + + [ValidateNotNullOrEmpty()] + [string] + ${IP}, + + [ValidateNotNullOrEmpty()] + [System.Collections.Generic.List[string]] + ${IPList}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPManagedAccount { + [CmdletBinding(DefaultParameterSetName='Default', SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ParameterSetName='ChangePassword')] + [switch] + ${ChangePassword}, + + [Parameter(ParameterSetName='ChangePassword', Mandatory=$true)] + [securestring] + ${NewPassword}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPManagedPath { + [CmdletBinding(DefaultParameterSetName='WebApplication', SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ParameterSetName='WebApplication', Mandatory=$true)] + [object] + ${WebApplication}, + + [Parameter(ParameterSetName='HostHeader', Mandatory=$true)] + [switch] + ${HostHeader}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPODataConnectionSetting { + [CmdletBinding(DefaultParameterSetName='Name', SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [object] + ${ServiceContext}, + + [Parameter(ParameterSetName='Name', Mandatory=$true)] + [ValidateNotNull()] + [string] + ${Name}, + + [Parameter(ParameterSetName='Identity', Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPPerformancePointServiceApplication { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPPerformancePointServiceApplicationProxy { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPPerformancePointServiceApplicationTrustedLocation { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPPluggableSecurityTrimmer { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0)] + [ValidateNotNull()] + [guid] + ${UserProfileApplicationProxyId}, + + [Parameter(Mandatory=$true)] + [int] + ${PlugInId}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPProfileLeader { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${ProfileServiceApplicationProxy}, + + [Parameter(ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${SiteSubscription}, + + [Parameter(Mandatory=$true, Position=1, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Name}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPProfileSyncConnection { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${ProfileServiceApplication}, + + [Parameter(Mandatory=$true)] + [string] + ${ConnectionForestName}, + + [Parameter(Mandatory=$true)] + [string] + ${ConnectionDomain}, + + [Parameter(Mandatory=$true)] + [string] + ${ConnectionUserName}, + + [Parameter(Mandatory=$true)] + [securestring] + ${ConnectionPassword}, + + [string] + ${ConnectionServerName}, + + [string] + ${ConnectionNamingContext}, + + [Parameter(Mandatory=$true)] + [string] + ${ConnectionSynchronizationOU}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPProjectWebInstanceData { + [CmdletBinding(DefaultParameterSetName='web', SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(ParameterSetName='web', Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SiteCollection}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPRoutingMachineInfo { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPRoutingMachinePool { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPRoutingRule { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPScaleOutDatabase { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true)] + [object] + ${ServiceApplication}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${Database}, + + [switch] + ${DeleteData}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPSecureStoreApplication { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPSecureStoreSystemAccount { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPServerScaleOutDatabase { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true)] + [object] + ${ServiceApplication}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${Database}, + + [switch] + ${DeleteData}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPServiceApplication { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [ValidateNotNull()] + [switch] + ${RemoveData}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPServiceApplicationPool { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPServiceApplicationProxy { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [ValidateNotNull()] + [switch] + ${RemoveData}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPServiceApplicationProxyGroup { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPServiceApplicationProxyGroupMember { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, Position=1)] + [Alias('Proxy')] + [ValidateNotNull()] + [object] + ${Member}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPShellAdmin { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0)] + [string] + ${UserName}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${database}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPSite { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNullOrEmpty()] + [object] + ${Identity}, + + [switch] + ${DeleteADAccounts}, + + [switch] + ${GradualDelete}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPSiteMaster { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [object] + ${ContentDatabase}, + + [Parameter(Mandatory=$true, Position=1, ValueFromPipelineByPropertyName=$true)] + [guid] + ${SiteId}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPSiteSubscription { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [switch] + ${Force}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPSiteSubscriptionBusinessDataCatalogConfig { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [object] + ${ServiceContext}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPSiteSubscriptionFeaturePack { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPSiteSubscriptionFeaturePackMember { + [CmdletBinding(DefaultParameterSetName='SingleFeatureDefinition', SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(ParameterSetName='SingleFeatureDefinition', Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${FeatureDefinition}, + + [Parameter(ParameterSetName='AllFeatureDefinitions', Mandatory=$true)] + [switch] + ${AllFeatureDefinitions}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPSiteSubscriptionMetadataConfig { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${ServiceProxy}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPSiteSubscriptionProfileConfig { + [CmdletBinding(DefaultParameterSetName='Default', SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(ParameterSetName='Default', Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(ParameterSetName='Default', Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${ProfileServiceApplicationProxy}, + + [Parameter(ParameterSetName='ServiceContext', Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${ServiceContext}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPSiteSubscriptionSettings { + [CmdletBinding(DefaultParameterSetName='SpecifySiteSubscriptions', SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(ParameterSetName='SpecifySiteSubscriptions', Mandatory=$true)] + [ValidateNotNull()] + [guid[]] + ${SiteSubscriptions}, + + [Parameter(ParameterSetName='FindAllOrphans', Mandatory=$true)] + [ValidateSet('True')] + [switch] + ${FindAllOrphans}, + + [Parameter(ParameterSetName='FindAllOrphans')] + [ValidateNotNull()] + [guid[]] + ${AlternativeSiteSubscriptions}, + + [Parameter(ParameterSetName='FindAllOrphans')] + [switch] + ${Force}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPSiteUpgradeSessionInfo { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPSiteURL { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [string] + ${Url}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPSocialItemByDate { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${ProfileServiceApplicationProxy}, + + [Parameter(ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${SiteSubscription}, + + [bool] + ${RemoveTags}, + + [bool] + ${RemoveComments}, + + [bool] + ${RemoveRatings}, + + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [datetime] + ${EndDate}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPSolution { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [uint32] + ${Language}, + + [switch] + ${Force}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPSolutionDeploymentLock { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Position=0)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPStateServiceDatabase { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [Alias('Name')] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPThrottlingRule { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPTranslationServiceJobHistory { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [object] + ${Identity}, + + [switch] + ${IncludeActiveJobs}, + + [System.Nullable[datetime]] + ${BeforeDate}, + + [System.Nullable[guid]] + ${JobId}, + + [System.Nullable[guid]] + ${PartitionId}, + + [switch] + ${AllPartitions}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPTrustedIdentityTokenIssuer { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPTrustedRootAuthority { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPTrustedSecurityTokenIssuer { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPTrustedServiceTokenIssuer { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPUsageApplication { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${UsageService}, + + [switch] + ${RemoveData}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPUser { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [Alias('UserAlias')] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Web}, + + [object] + ${Group}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPUserLicenseMapping { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [ValidateNotNull()] + [System.Collections.Generic.List[guid]] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPUserSettingsProvider { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPUserSolution { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [string] + ${Identity}, + + [Parameter(Mandatory=$true)] + [object] + ${Site}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPVisioSafeDataProvider { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [ValidateNotNullOrEmpty()] + [object] + ${VisioServiceApplication}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${DataProviderId}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [ValidateNotNullOrEmpty()] + [int] + ${DataProviderType}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPWeb { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [switch] + ${Recycle}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPWebApplication { + [CmdletBinding(DefaultParameterSetName='RemoveWebApp', SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ParameterSetName='RemoveZoneOfWebApp', Mandatory=$true)] + [object] + ${Zone}, + + [Parameter(ParameterSetName='RemoveWebApp')] + [switch] + ${RemoveContentDatabases}, + + [switch] + ${DeleteIISSite}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPWebApplicationAppDomain { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPWOPIBinding { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(ParameterSetName='Identity', Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ParameterSetName='Filter')] + [ValidateNotNullOrEmpty()] + [string] + ${Action}, + + [Parameter(ParameterSetName='Filter')] + [ValidateNotNullOrEmpty()] + [string] + ${Extension}, + + [Parameter(ParameterSetName='Filter')] + [ValidateNotNullOrEmpty()] + [string] + ${ProgId}, + + [Parameter(ParameterSetName='Filter')] + [ValidateNotNullOrEmpty()] + [string] + ${Application}, + + [Parameter(ParameterSetName='Filter')] + [ValidateNotNullOrEmpty()] + [string] + ${Server}, + + [Parameter(ParameterSetName='Filter')] + [ValidateNotNullOrEmpty()] + [string] + ${WOPIZone}, + + [Parameter(ParameterSetName='RemoveAll')] + [switch] + ${All}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPWOPISuppressionSetting { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(ParameterSetName='DocTypeAndAction')] + [ValidateNotNullOrEmpty()] + [string] + ${Extension}, + + [Parameter(ParameterSetName='DocTypeAndAction')] + [ValidateNotNullOrEmpty()] + [string] + ${ProgId}, + + [Parameter(ParameterSetName='DocTypeAndAction')] + [ValidateNotNullOrEmpty()] + [string] + ${Action}, + + [Parameter(ParameterSetName='Identity', ValueFromPipeline=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Remove-SPWordConversionServiceJobHistory { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [object] + ${Identity}, + + [switch] + ${IncludeActiveJobs}, + + [System.Nullable[datetime]] + ${BeforeDate}, + + [System.Nullable[guid]] + ${JobId}, + + [System.Nullable[guid]] + ${SubscriptionId}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Rename-SPServer { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [Alias('Address')] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${Name}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Repair-SPManagedAccountDeployment { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Repair-SPProjectWebInstance { + [CmdletBinding()] +param( + [Parameter(ParameterSetName='FindProjectSiteByWebInstance', Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(Mandatory=$true)] + [object] + ${RepairRule}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Repair-SPSite { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [guid] + ${RuleId}, + + [switch] + ${RunAlways}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Request-SPUpgradeEvaluationSite { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [switch] + ${NoUpgrade}, + + [switch] + ${Email}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Reset-SPAccessServicesDatabasePassword { + [CmdletBinding(DefaultParameterSetName='ResetAllApps', SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='ResetSingleApp', Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${Database}, + + [Parameter(ParameterSetName='ResetSingleApp', Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [Parameter(ParameterSetName='ResetAllApps', Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${ServiceContext}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Reset-SPProjectEventServiceSettings { + [CmdletBinding()] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Reset-SPProjectPCSSettings { + [CmdletBinding()] +param( + [Parameter(ValueFromPipeline=$true)] + [Alias('sa')] + [object] + ${ServiceApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Reset-SPProjectQueueSettings { + [CmdletBinding()] +param( + [Parameter(ValueFromPipeline=$true)] + [Alias('sa')] + [object] + ${ServiceApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Reset-SPSites { + [CmdletBinding(DefaultParameterSetName='DefaultSet', SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Restart-SPAppInstanceJob { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Low')] +param( + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [object] + ${AppInstance}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Restore-SPDeletedSite { + [CmdletBinding(DefaultParameterSetName='DatabaseFromPipebind', SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNullOrEmpty()] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${WebApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${ContentDatabase}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Restore-SPEnterpriseSearchServiceApplication { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0)] + [string] + ${Name}, + + [Parameter(ParameterSetName='Config', Mandatory=$true)] + [string] + ${DatabaseServer}, + + [Parameter(ParameterSetName='Config', Mandatory=$true)] + [string] + ${DatabaseName}, + + [Parameter(ParameterSetName='Config')] + [string] + ${DatabaseUsername}, + + [Parameter(ParameterSetName='Config')] + [securestring] + ${DatabasePassword}, + + [Parameter(ParameterSetName='Config')] + [string] + ${FailoverDatabaseServer}, + + [Parameter(ParameterSetName='Full', Mandatory=$true)] + [string] + ${TopologyFile}, + + [Parameter(Mandatory=$true)] + [object] + ${ApplicationPool}, + + [Parameter(ParameterSetName='Config', Mandatory=$true)] + [object] + ${AdminSearchServiceInstance}, + + [Parameter(ParameterSetName='Full')] + [switch] + ${KeepId}, + + [Parameter(ParameterSetName='Full')] + [switch] + ${DeferUpgradeActions}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Restore-SPEnterpriseSearchServiceApplicationIndex { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0)] + [object] + ${SearchApplication}, + + [Parameter(ParameterSetName='RestoreProgress', Mandatory=$true, Position=1)] + [string] + ${Handle}, + + [Parameter(ParameterSetName='Restore', Mandatory=$true, Position=1)] + [string] + ${BackupFolder}, + + [Parameter(ParameterSetName='Restore', Position=2)] + [switch] + ${AllReplicas}, + + [Parameter(ParameterSetName='Restore', Position=3)] + [switch] + ${AllowMove}, + + [Parameter(Position=4)] + [int] + ${Retries}, + + [Parameter(Position=5)] + [int] + ${RetryPauseSeconds}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Restore-SPFarm { + [CmdletBinding(DefaultParameterSetName='DefaultSet', SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true)] + [string] + ${Directory}, + + [Parameter(ParameterSetName='DefaultSet', Mandatory=$true)] + [ValidateSet('New','Overwrite')] + [string] + ${RestoreMethod}, + + [Parameter(ParameterSetName='DefaultSet')] + [int] + ${RestoreThreads}, + + [Parameter(ParameterSetName='DefaultSet')] + [switch] + ${Force}, + + [Parameter(ValueFromPipeline=$true)] + [guid] + ${BackupId}, + + [Parameter(ParameterSetName='DefaultSet')] + [string] + ${NewDatabaseServer}, + + [Parameter(ParameterSetName='DefaultSet', ValueFromPipeline=$true)] + [pscredential] + ${FarmCredentials}, + + [string] + ${Item}, + + [Parameter(ParameterSetName='ShowTree', Mandatory=$true)] + [switch] + ${ShowTree}, + + [switch] + ${ConfigurationOnly}, + + [Parameter(ParameterSetName='DefaultSet')] + [int] + ${Percentage}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Restore-SPSite { + [CmdletBinding(DefaultParameterSetName='DatabaseFromPipebind', SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [string] + ${Identity}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [string] + ${Path}, + + [string] + ${HostHeaderWebApplication}, + + [switch] + ${Force}, + + [switch] + ${GradualDelete}, + + [Parameter(ParameterSetName='DatabaseFromPipebind', ValueFromPipeline=$true)] + [object] + ${ContentDatabase}, + + [Parameter(ParameterSetName='DatabaseParameter')] + [string] + ${DatabaseName}, + + [Parameter(ParameterSetName='DatabaseParameter')] + [string] + ${DatabaseServer}, + + [switch] + ${PreserveSiteID}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Resume-SPEnterpriseSearchServiceApplication { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Resume-SPProjectWebInstance { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Resume-SPStateServiceDatabase { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [Alias('Name')] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Resume-SPVideoStreamingAccess { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${SiteSubscription}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Revoke-SPBusinessDataCatalogMetadataObject { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [object] + ${Principal}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(Mandatory=$true)] + [object] + ${Right}, + + [string] + ${SettingId}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Revoke-SPObjectSecurity { + [CmdletBinding(DefaultParameterSetName='RevokeOne')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(ParameterSetName='RevokeOne', Mandatory=$true, Position=1)] + [ValidateNotNull()] + [object] + ${Principal}, + + [Parameter(ParameterSetName='RevokeOne', Position=2)] + [ValidateNotNull()] + [string[]] + ${Rights}, + + [Parameter(ParameterSetName='RevokeAll', Mandatory=$true)] + [switch] + ${All}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPAccessServiceApplication { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [ValidateRange(1, 255)] + [int] + ${ColumnsMax}, + + [ValidateRange(1, 200000)] + [int] + ${RowsMax}, + + [ValidateRange(1, 20)] + [int] + ${SourcesMax}, + + [ValidateRange(0, 32)] + [int] + ${OutputCalculatedColumnsMax}, + + [ValidateRange(0, 8)] + [int] + ${OrderByMax}, + + [switch] + ${OuterJoinsAllowed}, + + [switch] + ${NonRemotableQueriesAllowed}, + + [ValidateRange(-1, 2147483647)] + [int] + ${RecordsInTableMax}, + + [ValidateRange(-1, 2147483647)] + [int] + ${ApplicationLogSizeMax}, + + [ValidateRange(-1, 2073600)] + [int] + ${RequestDurationMax}, + + [ValidateRange(-1, 2147483647)] + [int] + ${SessionsPerUserMax}, + + [ValidateRange(-1, 2147483647)] + [int] + ${SessionsPerAnonymousUserMax}, + + [ValidateRange(-1, 2073600)] + [int] + ${CacheTimeout}, + + [ValidateRange(0, 4096)] + [int] + ${SessionMemoryMax}, + + [ValidateRange(-1, 2147483647)] + [int] + ${PrivateBytesMax}, + + [ValidateRange(-1, 2147483647)] + [int] + ${TemplateSizeMax}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPAccessServicesApplication { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [ValidateRange(-1, 2073600)] + [int] + ${RequestDurationMax}, + + [ValidateRange(-1, 2147483647)] + [int] + ${SessionsPerUserMax}, + + [ValidateRange(-1, 2147483647)] + [int] + ${SessionsPerAnonymousUserMax}, + + [ValidateRange(-1, 2073600)] + [int] + ${CacheTimeout}, + + [ValidateRange(-1, 2147483647)] + [int] + ${PrivateBytesMax}, + + [ValidateRange(-1, 1440)] + [int] + ${RecoveryPointObjective}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPAccessServicesDatabaseServer { + [CmdletBinding(DefaultParameterSetName='SetCredentialsParameterSet', SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='SetServerStateParameterSet', Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [Parameter(ParameterSetName='SetUserDomainParameterSet', Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [Parameter(ParameterSetName='SetCredentialsParameterSet', Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [Parameter(ParameterSetName='SetAvailableForCreateParameterSet', Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [Parameter(ParameterSetName='SetEncryptParameterSet', Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [Parameter(ParameterSetName='SetSecondaryDatabaseServerNameParameterSet', Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [Parameter(ParameterSetName='SetFailoverParameterSet', Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${ServiceContext}, + + [Parameter(ParameterSetName='SetAvailableForCreateParameterSet', Mandatory=$true)] + [Parameter(ParameterSetName='SetServerStateParameterSet', Mandatory=$true)] + [Parameter(Mandatory=$true)] + [Parameter(ParameterSetName='SetCredentialsParameterSet', Mandatory=$true)] + [Parameter(ParameterSetName='SetEncryptParameterSet', Mandatory=$true)] + [Parameter(ParameterSetName='SetSecondaryDatabaseServerNameParameterSet', Mandatory=$true)] + [Parameter(ParameterSetName='SetFailoverParameterSet', Mandatory=$true)] + [Parameter(ParameterSetName='SetUserDomainParameterSet', Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [object] + ${DatabaseServerGroup}, + + [Parameter(ParameterSetName='SetEncryptParameterSet', Mandatory=$true)] + [Parameter(ParameterSetName='SetSecondaryDatabaseServerNameParameterSet', Mandatory=$true)] + [Parameter(ParameterSetName='SetFailoverParameterSet', Mandatory=$true)] + [Parameter(Mandatory=$true)] + [Parameter(ParameterSetName='SetCredentialsParameterSet', Mandatory=$true)] + [Parameter(ParameterSetName='SetAvailableForCreateParameterSet', Mandatory=$true)] + [Parameter(ParameterSetName='SetServerStateParameterSet', Mandatory=$true)] + [Parameter(ParameterSetName='SetUserDomainParameterSet', Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [object] + ${DatabaseServer}, + + [Parameter(ParameterSetName='SetCredentialsParameterSet')] + [string] + ${DatabaseServerName}, + + [Parameter(ParameterSetName='SetCredentialsParameterSet')] + [pscredential] + ${DatabaseServerCredentials}, + + [Parameter(ParameterSetName='SetAvailableForCreateParameterSet', Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [bool] + ${AvailableForCreate}, + + [Parameter(ParameterSetName='SetAvailableForCreateParameterSet')] + [ValidateNotNullOrEmpty()] + [bool] + ${Exclusive}, + + [Parameter(ParameterSetName='SetEncryptParameterSet', Mandatory=$true)] + [bool] + ${Encrypt}, + + [Parameter(ParameterSetName='SetEncryptParameterSet', Mandatory=$true)] + [bool] + ${TrustServerCertificate}, + + [Parameter(ParameterSetName='SetSecondaryDatabaseServerNameParameterSet')] + [string] + ${SecondaryDatabaseServerName}, + + [Parameter(ParameterSetName='SetFailoverParameterSet', Mandatory=$true)] + [bool] + ${Failover}, + + [Parameter(ParameterSetName='SetUserDomainParameterSet', Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${UserDomain}, + + [Parameter(ParameterSetName='SetServerStateParameterSet', Mandatory=$true)] + [object] + ${State}, + + [Parameter(ParameterSetName='SetServerStateParameterSet', Mandatory=$true)] + [object] + ${StateOwner}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPAccessServicesDatabaseServerGroupMapping { + [CmdletBinding(DefaultParameterSetName='SetDatabaseServerGroupMappingParameter', SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='SetDatabaseServerGroupMappingParameter', Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [Parameter(ParameterSetName='ClearDatabaseServerGroupMappingParameterSetName', Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${ServiceContext}, + + [Parameter(ParameterSetName='SetDatabaseServerGroupMappingParameter', Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [object] + ${DatabaseServerGroup}, + + [Parameter(ParameterSetName='SetDatabaseServerGroupMappingParameter')] + [Parameter(ParameterSetName='ClearDatabaseServerGroupMappingParameterSetName')] + [switch] + ${CorporateCatalog}, + + [Parameter(ParameterSetName='SetDatabaseServerGroupMappingParameter')] + [Parameter(ParameterSetName='ClearDatabaseServerGroupMappingParameterSetName')] + [switch] + ${ObjectModel}, + + [Parameter(ParameterSetName='SetDatabaseServerGroupMappingParameter')] + [Parameter(ParameterSetName='ClearDatabaseServerGroupMappingParameterSetName')] + [switch] + ${RemoteObjectModel}, + + [Parameter(ParameterSetName='SetDatabaseServerGroupMappingParameter')] + [Parameter(ParameterSetName='ClearDatabaseServerGroupMappingParameterSetName')] + [switch] + ${DeveloperSite}, + + [Parameter(ParameterSetName='ClearDatabaseServerGroupMappingParameterSetName')] + [Parameter(ParameterSetName='SetDatabaseServerGroupMappingParameter')] + [switch] + ${StoreFront}, + + [Parameter(ParameterSetName='ClearDatabaseServerGroupMappingParameterSetName', Mandatory=$true)] + [switch] + ${ClearMapping}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPAlternateURL { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [string] + ${Url}, + + [object] + ${Zone}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPAppAcquisitionConfiguration { + [CmdletBinding(DefaultParameterSetName='MarketplaceSettingsInWebApplication', SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true)] + [bool] + ${Enable}, + + [Parameter(ParameterSetName='MarketplaceSettingsInWebApplication', Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${WebApplication}, + + [Parameter(ParameterSetName='MarketplaceSettingsInSiteSubscription', Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SiteSubscription}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPAppAutoProvisionConnection { + [CmdletBinding()] +param( + [object] + ${SiteSubscription}, + + [Parameter(ParameterSetName='WebHostSetup', Mandatory=$true)] + [Parameter(ParameterSetName='WebHostEndPoint', Mandatory=$true)] + [Parameter(ParameterSetName='WebHostCredential', Mandatory=$true)] + [object] + ${ConnectionType}, + + [Parameter(ParameterSetName='WebHostCredential', Mandatory=$true)] + [Parameter(ParameterSetName='WebHostSetup', Mandatory=$true)] + [string] + ${Username}, + + [Parameter(ParameterSetName='WebHostCredential', Mandatory=$true)] + [Parameter(ParameterSetName='WebHostSetup', Mandatory=$true)] + [string] + ${Password}, + + [Parameter(ParameterSetName='WebHostEndPoint', Mandatory=$true)] + [Parameter(ParameterSetName='WebHostSetup', Mandatory=$true)] + [string] + ${EndPoint}, + + [Parameter(ParameterSetName='Remove', Mandatory=$true)] + [switch] + ${Remove}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPAppDisablingConfiguration { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true)] + [bool] + ${Enable}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPAppDomain { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0)] + [AllowEmptyString()] + [AllowNull()] + [string] + ${AppDomain}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPAppHostingQuotaConfiguration { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${SiteSubscription}, + + [Parameter(Mandatory=$true)] + [ValidateRange(0, 2147483647)] + [double] + ${AppHostingLicenseQuota}, + + [Parameter(Mandatory=$true)] + [ValidateRange(0, 2147483647)] + [double] + ${AppInstanceCountQuota}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPAppManagementDeploymentId { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [guid] + ${DeploymentId}, + + [Parameter(ValueFromPipeline=$true)] + [Alias('Subscription')] + [object] + ${Identity}, + + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [object] + ${AppManagementServiceApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPAppPrincipalPermission { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [object] + ${Site}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${AppPrincipal}, + + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [object] + ${Scope}, + + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [object] + ${Right}, + + [switch] + ${EnableAppOnlyPolicy}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPAppScaleProfile { + [CmdletBinding()] +param( + [ValidateNotNullOrEmpty()] + [string] + ${MaxDatabaseSize}, + + [ValidateRange(1, 255)] + [int] + ${RemoteWebSiteInstanceCount}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPAppSiteDomain { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [object] + ${Site}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPAppSiteSubscriptionName { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${Name}, + + [object] + ${SiteSubscription}, + + [switch] + ${Force}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPAppStateUpdateInterval { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true)] + [ValidateRange(0, 32768)] + [int] + ${AppStateSyncHours}, + + [Parameter(Mandatory=$true)] + [ValidateRange(0, 32768)] + [int] + ${FastAppRevocationHours}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPAppStoreConfiguration { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [string] + ${Url}, + + [Parameter(Mandatory=$true)] + [bool] + ${Enable}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPAppStoreWebServiceConfiguration { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true)] + [string] + ${Client}, + + [version] + ${ProxyVersion}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPAuthenticationRealm { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [ValidateNotNull()] + [object] + ${ServiceContext}, + + [string] + ${Realm}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPBingMapsBlock { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Position=0, HelpMessage='Block Bing Maps in all locales.')] + [switch] + ${BlockBingMapsInAllLocales}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPBingMapsKey { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, HelpMessage='Enter the Bing Maps API key.')] + [string] + ${BingKey}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPBrowserCustomerExperienceImprovementProgram { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Low')] +param( + [Parameter(ParameterSetName='Farm', Mandatory=$true)] + [switch] + ${Farm}, + + [Parameter(ParameterSetName='WebApplication', Mandatory=$true)] + [object] + ${WebApplication}, + + [Parameter(ParameterSetName='SiteSubscription', Mandatory=$true)] + [object] + ${SiteSubscription}, + + [switch] + ${Enable}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPBusinessDataCatalogEntityNotificationWeb { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Low')] +param( + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [object] + ${Web}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPBusinessDataCatalogMetadataObject { + [CmdletBinding(DefaultParameterSetName='NameValue', SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='Display')] + [string] + ${DisplayName}, + + [Parameter(ParameterSetName='NameRemove')] + [Parameter(ParameterSetName='NameValue')] + [ValidateNotNull()] + [string] + ${PropertyName}, + + [Parameter(ParameterSetName='NameValue')] + [psobject] + ${PropertyValue}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(ParameterSetName='NameRemove')] + [switch] + ${Remove}, + + [string] + ${SettingId}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPBusinessDataCatalogServiceApplication { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipelineByPropertyName=$true)] + [string] + ${Name}, + + [Parameter(ValueFromPipelineByPropertyName=$true)] + [switch] + ${Sharing}, + + [Parameter(ValueFromPipelineByPropertyName=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${DatabaseServer}, + + [Parameter(ValueFromPipelineByPropertyName=$true)] + [string] + ${DatabaseName}, + + [Parameter(ValueFromPipelineByPropertyName=$true)] + [string] + ${FailoverDatabaseServer}, + + [Parameter(ValueFromPipelineByPropertyName=$true)] + [object] + ${ApplicationPool}, + + [Parameter(ValueFromPipelineByPropertyName=$true)] + [pscredential] + ${DatabaseCredentials}, + + [Parameter(ValueFromPipelineByPropertyName=$true)] + [string] + ${DatabaseUsername}, + + [Parameter(ValueFromPipelineByPropertyName=$true)] + [securestring] + ${DatabasePassword}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPBusinessDataCatalogThrottleConfig { + [CmdletBinding(DefaultParameterSetName='MaxDefault', SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(ParameterSetName='MaxDefault', Mandatory=$true)] + [int] + ${Maximum}, + + [Parameter(ParameterSetName='MaxDefault', Mandatory=$true)] + [int] + ${Default}, + + [Parameter(ParameterSetName='Enforcement', Mandatory=$true)] + [switch] + ${Enforced}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPCentralAdministration { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true)] + [int] + ${Port}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPClaimProvider { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [switch] + ${Enabled}, + + [switch] + ${Default}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPContentDatabase { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [ValidateRange(1, 2147483647)] + [int] + ${MaxSiteCount}, + + [Parameter(ValueFromPipeline=$true)] + [ValidateRange(0, 2147483647)] + [int] + ${WarningSiteCount}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${Status}, + + [Parameter(ValueFromPipeline=$true)] + [string] + ${DatabaseFailoverServer}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPContentDeploymentJob { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipelineByPropertyName=$true)] + [string] + ${Name}, + + [Parameter(ValueFromPipelineByPropertyName=$true)] + [string] + ${Description}, + + [object] + ${Scope}, + + [string] + ${Schedule}, + + [switch] + ${ScheduleEnabled}, + + [switch] + ${IncrementalEnabled}, + + [object] + ${SqlSnapshotSetting}, + + [switch] + ${HostingSupportEnabled}, + + [object] + ${EmailNotifications}, + + [string[]] + ${EmailAddresses}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPContentDeploymentPath { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipelineByPropertyName=$true)] + [string] + ${Name}, + + [Parameter(ValueFromPipelineByPropertyName=$true)] + [string] + ${Description}, + + [uri] + ${DestinationCentralAdministrationURL}, + + [object] + ${Authentication}, + + [pscredential] + ${PathAccount}, + + [switch] + ${DeployUserNamesEnabled}, + + [object] + ${DeploySecurityInformation}, + + [switch] + ${EventReceiversEnabled}, + + [switch] + ${CompressionEnabled}, + + [switch] + ${PathEnabled}, + + [object] + ${KeepTemporaryFilesOptions}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPCustomLayoutsPage { + [CmdletBinding(DefaultParameterSetName='CustomPage', SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true)] + [object] + ${Identity}, + + [Parameter(ParameterSetName='CustomPage', Mandatory=$true)] + [string] + ${RelativePath}, + + [Parameter(ParameterSetName='CustomPage')] + [Parameter(ParameterSetName='ResetCustomPage')] + [ValidateRange(14, 15)] + [int] + ${CompatibilityLevel}, + + [Parameter(ParameterSetName='ResetCustomPage', Mandatory=$true)] + [switch] + ${Reset}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${WebApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPDataConnectionFile { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [ValidateLength(0, 255)] + [string] + ${DisplayName}, + + [ValidateLength(0, 255)] + [string] + ${Description}, + + [ValidateLength(0, 255)] + [string] + ${Category}, + + [ValidateSet('true','false')] + [string] + ${WebAccessible}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPDefaultProfileConfig { + [CmdletBinding(DefaultParameterSetName='Default', SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${ProfileServiceApplicationProxy}, + + [Parameter(Mandatory=$true)] + [bool] + ${MySitesPublicEnabled}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPDesignerSettings { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='WebApplication', Mandatory=$true, Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [object] + ${WebApplication}, + + [bool] + ${AllowDesigner}, + + [bool] + ${AllowRevertFromTemplate}, + + [bool] + ${AllowMasterPageEditing}, + + [bool] + ${ShowURLStructure}, + + [string] + ${RequiredDesignerVersion}, + + [string] + ${DesignerDownloadUrl}, + + [bool] + ${AllowCreateDeclarativeWorkflow}, + + [bool] + ${AllowSavePublishDeclarativeWorkflow}, + + [bool] + ${AllowSaveDeclarativeWorkflowAsTemplate}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPDiagnosticConfig { + [CmdletBinding()] +param( + [Parameter(ValueFromPipelineByPropertyName=$true)] + [switch] + ${AllowLegacyTraceProviders}, + + [Parameter(ValueFromPipelineByPropertyName=$true)] + [switch] + ${AppAnalyticsAutomaticUploadEnabled}, + + [Parameter(ValueFromPipelineByPropertyName=$true)] + [switch] + ${CustomerExperienceImprovementProgramEnabled}, + + [Parameter(ValueFromPipelineByPropertyName=$true)] + [switch] + ${ErrorReportingEnabled}, + + [Parameter(ValueFromPipelineByPropertyName=$true)] + [switch] + ${ErrorReportingAutomaticUploadEnabled}, + + [Parameter(ValueFromPipelineByPropertyName=$true)] + [switch] + ${DownloadErrorReportingUpdatesEnabled}, + + [Parameter(ValueFromPipelineByPropertyName=$true)] + [ValidateRange(1, 366)] + [int] + ${DaysToKeepLogs}, + + [Parameter(ValueFromPipelineByPropertyName=$true)] + [switch] + ${LogMaxDiskSpaceUsageEnabled}, + + [Parameter(ValueFromPipelineByPropertyName=$true)] + [ValidateRange(1, 1000)] + [int] + ${LogDiskSpaceUsageGB}, + + [Parameter(ValueFromPipelineByPropertyName=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${LogLocation}, + + [Parameter(ValueFromPipelineByPropertyName=$true)] + [ValidateRange(1, 1440)] + [int] + ${LogCutInterval}, + + [Parameter(ValueFromPipelineByPropertyName=$true)] + [switch] + ${EventLogFloodProtectionEnabled}, + + [Parameter(ValueFromPipelineByPropertyName=$true)] + [ValidateRange(1, 100)] + [int] + ${EventLogFloodProtectionThreshold}, + + [Parameter(ValueFromPipelineByPropertyName=$true)] + [ValidateRange(1, 1440)] + [int] + ${EventLogFloodProtectionTriggerPeriod}, + + [Parameter(ValueFromPipelineByPropertyName=$true)] + [ValidateRange(1, 1440)] + [int] + ${EventLogFloodProtectionQuietPeriod}, + + [Parameter(ValueFromPipelineByPropertyName=$true)] + [ValidateRange(1, 1440)] + [int] + ${EventLogFloodProtectionNotifyInterval}, + + [Parameter(ValueFromPipelineByPropertyName=$true)] + [switch] + ${ScriptErrorReportingEnabled}, + + [Parameter(ValueFromPipelineByPropertyName=$true)] + [switch] + ${ScriptErrorReportingRequireAuth}, + + [Parameter(ValueFromPipelineByPropertyName=$true)] + [ValidateRange(1, 1440)] + [int] + ${ScriptErrorReportingDelay}, + + [Parameter(ValueFromPipeline=$true)] + [psobject] + ${InputObject}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPDiagnosticsProvider { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [switch] + ${Enable}, + + [ValidateRange(1, 31)] + [int] + ${DaysRetained}, + + [ValidateRange(1, 9223372036854775807)] + [long] + ${MaxTotalSizeInBytes}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPDistributedCacheClientSetting { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${ContainerType}, + + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${DistributedCacheClientSettings}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPEnterpriseSearchAdministrationComponent { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [object] + ${SearchApplication}, + + [string] + ${StoragePath}, + + [object] + ${SearchServiceInstance}, + + [switch] + ${Force}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPEnterpriseSearchContentEnrichmentConfiguration { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${ContentEnrichmentConfiguration}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPEnterpriseSearchCrawlContentSource { + [CmdletBinding(DefaultParameterSetName='NoSchedule', SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [object] + ${SearchApplication}, + + [Alias('n')] + [string] + ${Name}, + + [Alias('t')] + [string] + ${Tag}, + + [Alias('s')] + [string] + ${StartAddresses}, + + [Alias('p')] + [object] + ${CrawlPriority}, + + [Parameter(ParameterSetName='Weekly')] + [Parameter(ParameterSetName='RemoveSchedule')] + [Parameter(ParameterSetName='MonthlyDate')] + [Parameter(ParameterSetName='Daily', Mandatory=$true)] + [System.Nullable`1[[object]]] + ${ScheduleType}, + + [Parameter(ParameterSetName='Daily')] + [Alias('daily')] + [switch] + ${DailyCrawlSchedule}, + + [Parameter(ParameterSetName='Weekly')] + [Alias('weekly')] + [switch] + ${WeeklyCrawlSchedule}, + + [Parameter(ParameterSetName='MonthlyDate')] + [Alias('monthly')] + [switch] + ${MonthlyCrawlSchedule}, + + [Parameter(ParameterSetName='RemoveSchedule')] + [switch] + ${RemoveCrawlSchedule}, + + [Parameter(ParameterSetName='Daily')] + [Parameter(ParameterSetName='Weekly')] + [Parameter(ParameterSetName='MonthlyDate')] + [Alias('start')] + [System.Nullable[datetime]] + ${CrawlScheduleStartDateTime}, + + [Parameter(ParameterSetName='MonthlyDate')] + [Parameter(ParameterSetName='Weekly')] + [Parameter(ParameterSetName='Daily')] + [Alias('duration')] + [System.Nullable[int]] + ${CrawlScheduleRepeatDuration}, + + [Parameter(ParameterSetName='MonthlyDate')] + [Parameter(ParameterSetName='Daily')] + [Parameter(ParameterSetName='Weekly')] + [Alias('interval')] + [System.Nullable[int]] + ${CrawlScheduleRepeatInterval}, + + [Parameter(ParameterSetName='Daily')] + [Parameter(ParameterSetName='Weekly')] + [Alias('every')] + [System.Nullable[int]] + ${CrawlScheduleRunEveryInterval}, + + [Parameter(ParameterSetName='Weekly')] + [object] + ${CrawlScheduleDaysOfWeek}, + + [Parameter(ParameterSetName='MonthlyDate')] + [System.Nullable[int]] + ${CrawlScheduleDaysOfMonth}, + + [Parameter(ParameterSetName='MonthlyDate')] + [Alias('month')] + [object] + ${CrawlScheduleMonthsOfYear}, + + [System.Nullable[int]] + ${MaxPageEnumerationDepth}, + + [System.Nullable[int]] + ${MaxSiteEnumerationDepth}, + + [object] + ${BDCApplicationProxyGroup}, + + [string[]] + ${LOBSystemSet}, + + [string] + ${CustomProtocol}, + + [System.Nullable[bool]] + ${EnableContinuousCrawls}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPEnterpriseSearchCrawlDatabase { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [object] + ${SearchApplication}, + + [string] + ${DatabaseServer}, + + [string] + ${DatabaseName}, + + [string] + ${DatabaseUsername}, + + [securestring] + ${DatabasePassword}, + + [string] + ${FailoverDatabaseServer}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPEnterpriseSearchCrawlLogReadPermission { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [guid] + ${Tenant}, + + [string] + ${UserNames}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPEnterpriseSearchCrawlRule { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [object] + ${SearchApplication}, + + [Alias('t')] + [object] + ${Type}, + + [System.Nullable[bool]] + ${IsAdvancedRegularExpression}, + + [System.Nullable[bool]] + ${CrawlAsHttp}, + + [System.Nullable[bool]] + ${FollowComplexUrls}, + + [System.Nullable[int]] + ${PluggableSecurityTimmerId}, + + [System.Nullable[bool]] + ${SuppressIndexing}, + + [System.Nullable[int]] + ${Priority}, + + [string] + ${ContentClass}, + + [object] + ${AuthenticationType}, + + [string] + ${AccountName}, + + [securestring] + ${AccountPassword}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPEnterpriseSearchFileFormatState { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true)] + [object] + ${SearchApplication}, + + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, Position=1)] + [bool] + ${Enable}, + + [Parameter(Position=2)] + [System.Nullable[bool]] + ${UseIFilter}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPEnterpriseSearchLinguisticComponentsStatus { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true)] + [object] + ${SearchApplication}, + + [Parameter(Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [System.Nullable[bool]] + ${ThesaurusEnabled}, + + [System.Nullable[bool]] + ${StemmingEnabled}, + + [System.Nullable[bool]] + ${QuerySpellingEnabled}, + + [System.Nullable[bool]] + ${EntityExtractionEnabled}, + + [System.Nullable[bool]] + ${AllEnabled}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPEnterpriseSearchLinksDatabase { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [object] + ${SearchApplication}, + + [string] + ${DatabaseServer}, + + [string] + ${DatabaseName}, + + [string] + ${DatabaseUsername}, + + [securestring] + ${DatabasePassword}, + + [string] + ${FailoverDatabaseServer}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPEnterpriseSearchMetadataCategory { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(Mandatory=$true)] + [object] + ${SearchApplication}, + + [Alias('n')] + [string] + ${Name}, + + [Alias('d')] + [System.Nullable[bool]] + ${DiscoverNewProperties}, + + [Alias('m')] + [System.Nullable[bool]] + ${MapToContents}, + + [Alias('auto')] + [System.Nullable[bool]] + ${AutoCreateNewManagedProperties}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPEnterpriseSearchMetadataCrawledProperty { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(Mandatory=$true)] + [Alias('im')] + [System.Nullable[bool]] + ${IsMappedToContents}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPEnterpriseSearchMetadataManagedProperty { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [object] + ${SearchApplication}, + + [Alias('n')] + [string] + ${Name}, + + [Alias('d')] + [string] + ${Description}, + + [Alias('f')] + [System.Nullable[bool]] + ${FullTextQueriable}, + + [Alias('r')] + [System.Nullable[bool]] + ${Retrievable}, + + [Alias('e')] + [System.Nullable[bool]] + ${EnabledForScoping}, + + [Alias('nn')] + [System.Nullable[bool]] + ${NameNormalized}, + + [Alias('rp')] + [System.Nullable[bool]] + ${RespectPriority}, + + [Alias('rd')] + [System.Nullable[bool]] + ${RemoveDuplicates}, + + [Alias('im5')] + [Obsolete('This property is replaced by IncludeInAlertSignature.')] + [System.Nullable[bool]] + ${IncludeInMd5}, + + [Alias('ia')] + [System.Nullable[bool]] + ${IncludeInAlertSignature}, + + [Alias('sfa')] + [System.Nullable[bool]] + ${SafeForAnonymous}, + + [Alias('nw')] + [System.Nullable[bool]] + ${NoWordBreaker}, + + [Alias('u')] + [System.Nullable[int16]] + ${UserFlags}, + + [Alias('qir')] + [System.Nullable[bool]] + ${EnabledForQueryIndependentRank}, + + [Alias('def')] + [System.Nullable[uint32]] + ${DefaultForQueryIndependentRank}, + + [guid] + ${Tenant}, + + [guid] + ${SiteCollection}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPEnterpriseSearchMetadataMapping { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [object] + ${SearchApplication}, + + [object] + ${ManagedProperty}, + + [object] + ${CrawledProperty}, + + [guid] + ${Tenant}, + + [guid] + ${SiteCollection}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPEnterpriseSearchPrimaryHostController { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${SearchServiceInstance}, + + [switch] + ${Force}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPEnterpriseSearchQueryAuthority { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [object] + ${SearchApplication}, + + [Alias('l')] + [System.Nullable[float]] + ${Level}, + + [Parameter(Mandatory=$true)] + [Alias('o')] + [object] + ${Owner}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPEnterpriseSearchQueryKeyword { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(Mandatory=$true)] + [object] + ${Site}, + + [Alias('t')] + [string] + ${Term}, + + [Alias('d')] + [string] + ${Definition}, + + [Alias('c')] + [string] + ${Contact}, + + [Alias('s')] + [System.Nullable[datetime]] + ${StartDate}, + + [Alias('e')] + [System.Nullable[datetime]] + ${EndDate}, + + [Alias('r')] + [System.Nullable[datetime]] + ${ReviewDate}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPEnterpriseSearchQueryScope { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [object] + ${SearchApplication}, + + [uri] + ${Url}, + + [Parameter(Mandatory=$true)] + [Alias('u')] + [string] + ${AlternateResultsPage}, + + [Alias('n')] + [string] + ${Name}, + + [Alias('d')] + [string] + ${Description}, + + [Alias('disp')] + [System.Nullable[bool]] + ${DisplayInAdminUI}, + + [Alias('type')] + [System.Nullable[int]] + ${CompilationType}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPEnterpriseSearchQueryScopeRule { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [object] + ${SearchApplication}, + + [Parameter(Mandatory=$true)] + [Alias('u')] + [uri] + ${Url}, + + [Alias('n')] + [object] + ${Scope}, + + [Alias('f')] + [string] + ${FilterBehavior}, + + [Alias('ut')] + [string] + ${UrlScopeRuleType}, + + [Alias('text')] + [string] + ${MatchingString}, + + [Alias('value')] + [string] + ${PropertyValue}, + + [Alias('mname')] + [string] + ${ManagedPropertyName}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPEnterpriseSearchQuerySpellingCorrection { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true)] + [object] + ${SearchApplication}, + + [Parameter(Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [System.Nullable[bool]] + ${ContentAlignmentEnabled}, + + [System.Nullable[int]] + ${MaxDictionarySize}, + + [System.Nullable[bool]] + ${DiacriticsInSuggestionsEnabled}, + + [System.Nullable[int]] + ${TermFrequencyThreshold}, + + [System.Nullable[bool]] + ${SecurityTrimmingEnabled}, + + [object] + ${SpellingDictionary}, + + [System.Nullable[timespan]] + ${MaxProcessingTime}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPEnterpriseSearchRankingModel { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [object] + ${SearchApplication}, + + [Parameter(Mandatory=$true)] + [Alias('o')] + [object] + ${Owner}, + + [Parameter(Mandatory=$true)] + [string] + ${RankingModelXML}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPEnterpriseSearchResultItemType { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [object] + ${SearchApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${SearchApplicationProxy}, + + [Alias('n')] + [string] + ${Name}, + + [Alias('rule')] + [object] + ${Rules}, + + [Alias('priority')] + [System.Nullable[int]] + ${RulePriority}, + + [Alias('dp')] + [string] + ${DisplayProperties}, + + [Alias('sid')] + [System.Nullable[guid]] + ${SourceID}, + + [Alias('url')] + [string] + ${DisplayTemplateUrl}, + + [Parameter(Mandatory=$true)] + [Alias('o')] + [object] + ${Owner}, + + [Alias('opt')] + [System.Nullable[bool]] + ${OptimizeForFrequentUse}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPEnterpriseSearchResultSource { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${SearchApplication}, + + [Alias('o')] + [object] + ${Owner}, + + [string] + ${Name}, + + [string] + ${Description}, + + [string] + ${QueryTemplate}, + + [guid] + ${ProviderId}, + + [string] + ${RemoteUrl}, + + [System.Nullable[bool]] + ${AutoDiscover}, + + [object] + ${AuthenticationType}, + + [string] + ${UserName}, + + [string] + ${Password}, + + [string] + ${SsoId}, + + [System.Nullable[bool]] + ${MakeDefault}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPEnterpriseSearchService { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [string] + ${ServiceAccount}, + + [securestring] + ${ServicePassword}, + + [string] + ${ContactEmail}, + + [string] + ${ConnectionTimeout}, + + [string] + ${AcknowledgementTimeout}, + + [string] + ${ProxyType}, + + [string] + ${IgnoreSSLWarnings}, + + [string] + ${InternetIdentity}, + + [string] + ${PerformanceLevel}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPEnterpriseSearchServiceApplication { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [string] + ${FailoverDatabaseServer}, + + [string] + ${DiacriticSensitive}, + + [object] + ${DefaultSearchProvider}, + + [string] + ${VerboseQueryMonitoring}, + + [object] + ${ApplicationPool}, + + [object] + ${AdminApplicationPool}, + + [string] + ${DefaultContentAccessAccountName}, + + [securestring] + ${DefaultContentAccessAccountPassword}, + + [string] + ${DatabaseServer}, + + [string] + ${DatabaseName}, + + [string] + ${DatabaseUsername}, + + [securestring] + ${DatabasePassword}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPEnterpriseSearchServiceApplicationProxy { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [string] + ${Name}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPEnterpriseSearchServiceInstance { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [string] + ${DefaultIndexLocation}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPEnterpriseSearchTopology { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [object] + ${SearchApplication}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPFarmConfig { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(ValueFromPipelineByPropertyName=$true)] + [int] + ${WorkflowBatchSize}, + + [Parameter(ValueFromPipelineByPropertyName=$true)] + [int] + ${WorkflowPostponeThreshold}, + + [Parameter(ValueFromPipelineByPropertyName=$true)] + [int] + ${WorkflowEventDeliveryTimeout}, + + [Parameter(ValueFromPipelineByPropertyName=$true)] + [switch] + ${InstalledProductsRefresh}, + + [Parameter(ValueFromPipelineByPropertyName=$true)] + [bool] + ${DataFormWebPartAutoRefreshEnabled}, + + [Parameter(ValueFromPipelineByPropertyName=$true)] + [bool] + ${ASPScriptOptimizationEnabled}, + + [switch] + ${ServiceConnectionPointDelete}, + + [string] + ${ServiceConnectionPointBindingInformation}, + + [object] + ${SiteMasterMode}, + + [System.Nullable[uint32]] + ${SiteMasterValidationIntervalInHours}, + + [System.Nullable[bool]] + ${DefaultActivateOnSiteMasterValue}, + + [switch] + ${Force}, + + [System.Nullable[switch]] + ${UserAccountDirectoryPathIsImmutable}, + + [System.Nullable[uint32]] + ${MaxTenantStoreValueLength}, + + [System.Nullable[uint32]] + ${MaxSiteSubscriptionSettingsValueLength}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPInfoPathFormsService { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [object] + ${Identity}, + + [ValidateSet('true','false')] + [string] + ${AllowUserFormBrowserEnabling}, + + [ValidateSet('true','false')] + [string] + ${AllowUserFormBrowserRendering}, + + [ValidateRange(0, 2147483647)] + [System.Nullable[int]] + ${DefaultDataConnectionTimeout}, + + [ValidateRange(0, 2147483647)] + [System.Nullable[int]] + ${MemoryCacheSize}, + + [ValidateRange(0, 2147483647)] + [System.Nullable[int]] + ${MaxDataConnectionTimeout}, + + [ValidateRange(0, 2147483647)] + [System.Nullable[int]] + ${MaxDataConnectionResponseSize}, + + [ValidateSet('true','false')] + [string] + ${RequireSslForDataConnections}, + + [ValidateSet('true','false')] + [string] + ${AllowEmbeddedSqlForDataConnections}, + + [ValidateSet('true','false')] + [string] + ${AllowUdcAuthenticationForDataConnections}, + + [ValidateSet('true','false')] + [string] + ${AllowUserFormCrossDomainDataConnections}, + + [ValidateRange(0, 999999)] + [System.Nullable[int]] + ${MaxPostbacksPerSession}, + + [ValidateRange(0, 999999)] + [System.Nullable[int]] + ${MaxUserActionsPerPostback}, + + [ValidateRange(0, 999999)] + [System.Nullable[int]] + ${ActiveSessionTimeout}, + + [ValidateRange(0, 99999999)] + [System.Nullable[int]] + ${MaxSizeOfUserFormState}, + + [ValidateSet('true','false')] + [string] + ${AllowViewState}, + + [ValidateRange(0, 99999999)] + [System.Nullable[int]] + ${ViewStateThreshold}, + + [ValidateRange(0, 99999999)] + [System.Nullable[int]] + ${MaxFormLoadTime}, + + [ValidateRange(0, 99999999)] + [System.Nullable[int]] + ${MaxDataConnectionRoundTrip}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPInfoPathFormTemplate { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [ValidateLength(0, 255)] + [string] + ${Category}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPInfoPathWebServiceProxy { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [ValidateSet('true','false')] + [string] + ${AllowWebServiceProxy}, + + [ValidateSet('true','false')] + [string] + ${AllowForUserForms}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPInsightsAuthSettings { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true)] + [string] + ${LogFEEndpoint}, + + [Parameter(Mandatory=$true)] + [string] + ${Tenant}, + + [Parameter(Mandatory=$true)] + [string] + ${LogClientAppId}, + + [Parameter(Mandatory=$true)] + [string] + ${LogClientCertificateSubject}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPInternalAppStateUpdateInterval { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true)] + [ValidateRange(0, 32768)] + [int] + ${AppStateSyncHours}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPIPAccessControlOperationMode { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${WebApplication}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${OperationMode}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPIPAccessControlSubscriptionId { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${WebApplication}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${SiteSubscriptionId}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [switch] + ${Enabled}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPIPRangeAllowList { + [CmdletBinding(DefaultParameterSetName='CustomIPAllowList', SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${WebApplication}, + + [Parameter(ParameterSetName='CustomIPAllowList', Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${SiteName}, + + [Parameter(ParameterSetName='InternalIPAllowList', Mandatory=$true)] + [switch] + ${InternalIPAllowList}, + + [ValidateNotNullOrEmpty()] + [switch] + ${IPV4}, + + [ValidateNotNullOrEmpty()] + [switch] + ${IPV6}, + + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [System.Collections.Generic.List[string]] + ${IPList}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPIPRangeAllowListSetting { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${WebApplication}, + + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${SiteName}, + + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [object] + ${IPAddressAllowanceLevel}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPIRMSettings { + [CmdletBinding(DefaultParameterSetName='UseServiceDiscovery', SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true)] + [switch] + ${IrmEnabled}, + + [switch] + ${SubscriptionScopeSettingsEnabled}, + + [Parameter(ParameterSetName='UseServiceDiscovery')] + [switch] + ${UseActiveDirectoryDiscovery}, + + [Parameter(ParameterSetName='UseSpecifiedCertificateUrl', Mandatory=$true)] + [uri] + ${CertificateServerUrl}, + + [ValidateNotNull()] + [System.Security.Cryptography.X509Certificates.X509Certificate2] + ${ServiceAuthenticationCertificate}, + + [ValidateNotNull()] + [securestring] + ${CertificatePassword}, + + [switch] + ${UseOauth}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPLogLevel { + [CmdletBinding()] +param( + [string] + ${TraceSeverity}, + + [string] + ${EventSeverity}, + + [string[]] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [psobject] + ${InputObject}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPManagedAccount { + [CmdletBinding(DefaultParameterSetName='Default', SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [string] + ${Schedule}, + + [int] + ${PreExpireDays}, + + [int] + ${EmailNotification}, + + [Parameter(ParameterSetName='AutoGeneratePassword')] + [switch] + ${AutoGeneratePassword}, + + [Parameter(ParameterSetName='NewPasswordAsParameter', Mandatory=$true)] + [securestring] + ${Password}, + + [Parameter(ParameterSetName='NewPassword')] + [switch] + ${SetNewPassword}, + + [Parameter(ParameterSetName='NewPassword', Mandatory=$true)] + [securestring] + ${NewPassword}, + + [Parameter(ParameterSetName='NewPassword', Mandatory=$true)] + [securestring] + ${ConfirmPassword}, + + [Parameter(ParameterSetName='ExistingPassword')] + [switch] + ${UseExistingPassword}, + + [Parameter(ParameterSetName='ExistingPassword', Mandatory=$true)] + [securestring] + ${ExistingPassword}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPMetadataServiceApplication { + [CmdletBinding(DefaultParameterSetName='Default', SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [string] + ${AdministratorAccount}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${ApplicationPool}, + + [string] + ${DatabaseName}, + + [string] + ${DatabaseServer}, + + [pscredential] + ${DatabaseCredentials}, + + [string] + ${FailoverDatabaseServer}, + + [string] + ${FullAccessAccount}, + + [string] + ${HubUri}, + + [int] + ${CacheTimeCheckInterval}, + + [int] + ${MaxChannelCache}, + + [switch] + ${DoNotUnpublishAllPackages}, + + [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}, + + [string] + ${Name}, + + [string] + ${ReadAccessAccount}, + + [string] + ${RestrictedAccount}, + + [switch] + ${SyndicationErrorReportEnabled}, + + [Parameter(ParameterSetName='NoQuota', Mandatory=$true)] + [switch] + ${DisablePartitionQuota}, + + [Parameter(ParameterSetName='Quota', Mandatory=$true)] + [ValidateRange(0, 2147483647)] + [int] + ${GroupsPerPartition}, + + [Parameter(ParameterSetName='Quota', Mandatory=$true)] + [ValidateRange(0, 2147483647)] + [int] + ${TermSetsPerPartition}, + + [Parameter(ParameterSetName='Quota', Mandatory=$true)] + [ValidateRange(0, 2147483647)] + [int] + ${TermsPerPartition}, + + [Parameter(ParameterSetName='Quota', Mandatory=$true)] + [ValidateRange(0, 2147483647)] + [int] + ${LabelsPerPartition}, + + [Parameter(ParameterSetName='Quota', Mandatory=$true)] + [ValidateRange(0, 2147483647)] + [int] + ${PropertiesPerPartition}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPMetadataServiceApplicationProxy { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [switch] + ${ContentTypeSyndicationEnabled}, + + [switch] + ${ContentTypePushdownEnabled}, + + [switch] + ${DefaultKeywordTaxonomy}, + + [switch] + ${DefaultProxyGroup}, + + [switch] + ${DefaultSiteCollectionTaxonomy}, + + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [string] + ${Name}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPMicrofeedOptions { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${ProfileServiceApplicationProxy}, + + [Parameter(ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${SiteSubscription}, + + [ValidateNotNull()] + [int] + ${MaxPostLength}, + + [ValidateNotNull()] + [int] + ${MaxMentions}, + + [ValidateNotNull()] + [int] + ${MaxTags}, + + [ValidateNotNull()] + [System.Nullable[bool]] + ${AsyncRefs}, + + [ValidateNotNull()] + [int] + ${MaxCacheMs}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPMobileMessagingAccount { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0)] + [Alias('ServiceType','AccountType')] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${WebApplication}, + + [string] + ${ServiceName}, + + [string] + ${ServiceUrl}, + + [string] + ${UserId}, + + [string] + ${Password}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPO365LinkSettings { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, ValueFromPipelineByPropertyName=$true)] + [AllowEmptyString()] + [string] + ${MySiteHostUrl}, + + [Parameter(ValueFromPipelineByPropertyName=$true)] + [string[]] + ${Audiences}, + + [Parameter(ValueFromPipelineByPropertyName=$true)] + [bool] + ${RedirectSites}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPODataConnectionSetting { + [CmdletBinding(DefaultParameterSetName='Name', SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [object] + ${ServiceContext}, + + [Parameter(ParameterSetName='Name', Mandatory=$true)] + [ValidateNotNull()] + [ValidateLength(0, 246)] + [string] + ${Name}, + + [ValidateNotNull()] + [uri] + ${ServiceAddressURL}, + + [ValidateNotNull()] + [object] + ${AuthenticationMode}, + + [ValidateNotNull()] + [ValidateLength(0, 1024)] + [string] + ${SecureStoreTargetApplicationId}, + + [string] + ${ExtensionProvider}, + + [Parameter(ParameterSetName='Identity', Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPODataConnectionSettingMetadata { + [CmdletBinding(DefaultParameterSetName='Name', SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [object] + ${ServiceContext}, + + [Parameter(ParameterSetName='Name', Mandatory=$true)] + [ValidateNotNull()] + [ValidateLength(0, 255)] + [string] + ${Name}, + + [ValidateNotNull()] + [uri] + ${ServiceAddressMetadataURL}, + + [ValidateNotNull()] + [object] + ${AuthenticationMode}, + + [ValidateLength(0, 1024)] + [ValidateNotNull()] + [string] + ${SecureStoreTargetApplicationId}, + + [Parameter(ParameterSetName='Identity', Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPOfficeStoreAppsDefaultActivation { + [CmdletBinding(DefaultParameterSetName='AppsForOfficeSettingsInWebApplication', SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true)] + [bool] + ${Enable}, + + [Parameter(ParameterSetName='AppsForOfficeSettingsInWebApplication', Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${WebApplication}, + + [Parameter(ParameterSetName='AppsForOfficeSettingsInSiteSubscription', Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${SiteSubscription}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPPassPhrase { + [CmdletBinding(DefaultParameterSetName='AcrossFarm', SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true)] + [securestring] + ${PassPhrase}, + + [Parameter(ParameterSetName='AcrossFarm', Mandatory=$true)] + [securestring] + ${ConfirmPassPhrase}, + + [Parameter(ParameterSetName='LocalOnly')] + [switch] + ${LocalServerOnly}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPPerformancePointSecureDataValues { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [object] + ${ServiceApplication}, + + [Parameter(Mandatory=$true)] + [pscredential] + ${DataSourceUnattendedServiceAccount}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPPerformancePointServiceApplication { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [object] + ${ApplicationPool}, + + [bool] + ${CommentsDisabled}, + + [int] + ${CommentsScorecardMax}, + + [int] + ${IndicatorImageCacheSeconds}, + + [int] + ${DataSourceQueryTimeoutSeconds}, + + [int] + ${FilterRememberUserSelectionsDays}, + + [int] + ${FilterTreeMembersMax}, + + [int] + ${FilterSearchResultsMax}, + + [int] + ${ShowDetailsInitialRows}, + + [bool] + ${ShowDetailsMaxRowsDisabled}, + + [int] + ${ShowDetailsMaxRows}, + + [bool] + ${MSMQEnabled}, + + [string] + ${MSMQName}, + + [int] + ${SessionHistoryHours}, + + [bool] + ${AnalyticQueryLoggingEnabled}, + + [bool] + ${TrustedDataSourceLocationsRestricted}, + + [bool] + ${TrustedContentLocationsRestricted}, + + [int] + ${SelectMeasureMaximum}, + + [int] + ${DecompositionTreeMaximum}, + + [bool] + ${ApplicationProxyCacheEnabled}, + + [bool] + ${ApplicationCacheEnabled}, + + [int] + ${ApplicationCacheMinimumHitCount}, + + [int] + ${AnalyticResultCacheMinimumHitCount}, + + [int] + ${ElementCacheSeconds}, + + [int] + ${AnalyticQueryCellMax}, + + [string] + ${SettingsDatabase}, + + [string] + ${DatabaseServer}, + + [string] + ${DatabaseName}, + + [pscredential] + ${DatabaseSQLAuthenticationCredential}, + + [string] + ${DatabaseFailoverServer}, + + [bool] + ${DatabaseUseWindowsAuthentication}, + + [string] + ${DataSourceUnattendedServiceAccountTargetApplication}, + + [bool] + ${UseEffectiveUserName}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPPowerPointConversionServiceApplication { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [uint32] + ${CacheExpirationPeriodInSeconds}, + + [uint32] + ${WorkerProcessCount}, + + [uint32] + ${WorkerKeepAliveTimeoutInSeconds}, + + [uint32] + ${WorkerTimeoutInSeconds}, + + [uint32] + ${MaximumConversionsPerWorker}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPProfileServiceApplication { + [CmdletBinding(DefaultParameterSetName='Default', SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [string] + ${Name}, + + [object] + ${ApplicationPool}, + + [pscredential] + ${ProfileDBCredentials}, + + [string] + ${ProfileDBFailoverServer}, + + [pscredential] + ${SocialDBCredentials}, + + [string] + ${SocialDBFailoverServer}, + + [pscredential] + ${ProfileSyncDBCredentials}, + + [string] + ${ProfileSyncDBFailoverServer}, + + [Parameter(ParameterSetName='MySiteSettings', Mandatory=$true, ValueFromPipeline=$true)] + [Parameter(ValueFromPipeline=$true)] + [object] + ${MySiteHostLocation}, + + [Parameter(ParameterSetName='MySiteSettings', ValueFromPipeline=$true)] + [object] + ${MySiteManagedPath}, + + [Parameter(ParameterSetName='MySiteSettings')] + [ValidateSet('None','Resolve','Block')] + [string] + ${SiteNamingConflictResolution}, + + [bool] + ${PurgeNonImportedObjects}, + + [bool] + ${UseOnlyPreferredDomainControllers}, + + [bool] + ${GetNonImportedObjects}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPProfileServiceApplicationProxy { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [string] + ${Name}, + + [switch] + ${DefaultProxyGroup}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${MySiteHostLocation}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${MySiteManagedPath}, + + [ValidateSet('None','Resolve','Block')] + [string] + ${SiteNamingConflictResolution}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPProfileServiceApplicationSecurity { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${ProfileServiceApplicationProxy}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${SiteSubscription}, + + [ValidateSet('UserACL','MySiteReaderACL')] + [string] + ${Type}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPProjectDatabaseQuota { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [uri] + ${Url}, + + [Parameter(ParameterSetName='settings', Mandatory=$true, Position=1)] + [ValidateNotNull()] + [object] + ${Settings}, + + [Parameter(ParameterSetName='options', Mandatory=$true)] + [switch] + ${Enabled}, + + [Parameter(ParameterSetName='options', Mandatory=$true)] + [ValidateRange(0, 1024000)] + [int] + ${ReadOnlyLimit}, + + [Parameter(ParameterSetName='options', Mandatory=$true)] + [ValidateRange(0, 100)] + [int] + ${ReadOnlyWarningThreshold}, + + [Parameter(ParameterSetName='options', Mandatory=$true)] + [ValidateRange(0, 1024000)] + [int] + ${MaxDbSize}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPProjectEventServiceSettings { + [CmdletBinding()] +param( + [System.Nullable[int]] + ${NetTcpPort}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPProjectOdataConfiguration { + [CmdletBinding()] +param( + [bool] + ${UseVerboseErrors}, + + [ValidateRange(1, 2147483647)] + [int] + ${MaxResultsPerCollection}, + + [bool] + ${AcceptCountRequests}, + + [bool] + ${AcceptProjectionRequests}, + + [ValidateRange(1, 2147483647)] + [int] + ${DefaultMaxPageSize}, + + [switch] + ${ClearEntityPageSizeOverrides}, + + [string] + ${EntitySetName}, + + [ValidateRange(1, 2147483647)] + [int] + ${PageSizeOverride}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPProjectPCSSettings { + [CmdletBinding()] +param( + [Parameter(ValueFromPipeline=$true)] + [Alias('sa')] + [object] + ${ServiceApplication}, + + [System.Nullable[int]] + ${MaximumIdleWorkersCount}, + + [System.Nullable[int]] + ${MaximumWorkersCount}, + + [System.Nullable[int]] + ${EditingSessionTimeout}, + + [System.Nullable[int]] + ${MaximumSessionsPerUser}, + + [System.Nullable[int]] + ${CachePersistence}, + + [System.Nullable[int]] + ${MinimumMemoryRequired}, + + [System.Nullable[int]] + ${RequestTimeLimits}, + + [System.Nullable[int]] + ${MaximumProjectSize}, + + [System.Nullable[int]] + ${NetTcpPort}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPProjectPermissionMode { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0)] + [ValidateNotNullOrEmpty()] + [uri] + ${Url}, + + [Parameter(Mandatory=$true, Position=1)] + [ValidateSet('SharePoint','ProjectServer')] + [ValidateNotNullOrEmpty()] + [object] + ${Mode}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPProjectQueueSettings { + [CmdletBinding()] +param( + [Parameter(ValueFromPipeline=$true)] + [Alias('sa')] + [object] + ${ServiceApplication}, + + [System.Nullable[int]] + ${MaxDegreeOfConcurrency}, + + [System.Nullable[int]] + ${MsgRetryInterval}, + + [System.Nullable[int]] + ${MsgRetryLimit}, + + [System.Nullable[int]] + ${SqlRetryInterval}, + + [System.Nullable[int]] + ${SqlRetryLimit}, + + [System.Nullable[int]] + ${SqlCommandTimeout}, + + [System.Nullable[int]] + ${CleanupSuccessAgeLimit}, + + [System.Nullable[int]] + ${CleanupNonSuccessAgeLimit}, + + [System.Nullable[int]] + ${PeriodicTasksInterval}, + + [System.Nullable[int]] + ${QueueTimeout}, + + [System.Nullable[int]] + ${MaxConnections}, + + [System.Nullable[int]] + ${NetTcpPort}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPProjectServiceApplication { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [object] + ${Identity}, + + [object] + ${ApplicationPool}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPProjectUserSync { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=1)] + [ValidateNotNullOrEmpty()] + [uri] + ${Url}, + + [Parameter(Mandatory=$true, Position=2)] + [ValidateNotNullOrEmpty()] + [object] + ${Value}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPProjectUserSyncDisabledSyncThreshold { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=1)] + [ValidateNotNullOrEmpty()] + [uri] + ${Url}, + + [Parameter(Mandatory=$true, Position=2)] + [ValidateNotNullOrEmpty()] + [int] + ${Threshold}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPProjectUserSyncFullSyncThreshold { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=1)] + [ValidateNotNullOrEmpty()] + [uri] + ${Url}, + + [Parameter(Mandatory=$true, Position=2)] + [ValidateNotNullOrEmpty()] + [int] + ${Threshold}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPProjectUserSyncOffPeakSyncThreshold { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=1)] + [ValidateNotNullOrEmpty()] + [uri] + ${Url}, + + [Parameter(Mandatory=$true, Position=2)] + [ValidateNotNullOrEmpty()] + [int] + ${Threshold}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPRequestManagementSettings { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [ValidateNotNull()] + [System.Nullable[switch]] + ${RoutingEnabled}, + + [ValidateNotNull()] + [System.Nullable[switch]] + ${ThrottlingEnabled}, + + [ValidateNotNull()] + [object] + ${RoutingScheme}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPRoutingMachineInfo { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [ValidateNotNull()] + [object] + ${Availability}, + + [ValidateNotNull()] + [object] + ${OutgoingScheme}, + + [ValidateRange(1, 65535)] + [ValidateNotNull()] + [System.Nullable[int]] + ${OutgoingPort}, + + [ValidateNotNull()] + [switch] + ${ClearOutgoingPort}, + + [ValidateNotNull()] + [System.Nullable[double]] + ${StaticWeight}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPRoutingMachinePool { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [ValidateNotNull()] + [object] + ${MachineTargets}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPRoutingRule { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [ValidateNotNull()] + [object] + ${Criteria}, + + [object] + ${MachinePool}, + + [ValidateNotNull()] + [System.Nullable[int]] + ${ExecutionGroup}, + + [ValidateNotNull()] + [System.Nullable[datetime]] + ${Expiration}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPRuntimeTelemetry { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [int] + ${Interval}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPScaleOutDatabaseDataRange { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${Database}, + + [Parameter(Mandatory=$true)] + [object] + ${Range}, + + [byte[]] + ${NewRangePoint}, + + [Parameter(Mandatory=$true)] + [bool] + ${IsUpperSubRange}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPScaleOutDatabaseDataSubRange { + [CmdletBinding(DefaultParameterSetName='AttachedDatabase', SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='AttachedDatabase', Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Database}, + + [Parameter(ParameterSetName='UnattachedDatabase', Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${ConnectionString}, + + [Parameter(ParameterSetName='UnattachedDatabase')] + [switch] + ${IsAzureDatabase}, + + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [object] + ${Range}, + + [byte[]] + ${SubRangePoint}, + + [Parameter(Mandatory=$true)] + [object] + ${SubRangeMode}, + + [Parameter(Mandatory=$true)] + [bool] + ${IsUpperSubRange}, + + [switch] + ${IgnoreSubRangePointOnBoundary}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPSecureStoreApplication { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [object] + ${Administrator}, + + [object] + ${CredentialsOwnerGroup}, + + [object] + ${Fields}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [object] + ${TargetApplication}, + + [object] + ${TicketRedeemer}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPSecureStoreDefaultProvider { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [type] + ${Type}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPSecureStoreServiceApplication { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='MinDBSet')] + [Parameter(ParameterSetName='NoMinDBSet')] + [object] + ${ApplicationPool}, + + [Parameter(ParameterSetName='NoMinDBSet')] + [Parameter(ParameterSetName='MinDBSet')] + [switch] + ${AuditingEnabled}, + + [Parameter(ParameterSetName='MinDBSet')] + [Parameter(ParameterSetName='NoMinDBSet')] + [System.Nullable[int]] + ${AuditlogMaxSize}, + + [Parameter(ParameterSetName='NoMinDBSet')] + [pscredential] + ${DatabaseCredentials}, + + [Parameter(ParameterSetName='NoMinDBSet')] + [string] + ${DatabaseName}, + + [Parameter(ParameterSetName='NoMinDBSet')] + [securestring] + ${DatabasePassword}, + + [Parameter(ParameterSetName='NoMinDBSet')] + [ValidateNotNullOrEmpty()] + [string] + ${DatabaseServer}, + + [Parameter(ParameterSetName='NoMinDBSet')] + [string] + ${DatabaseUsername}, + + [Parameter(ParameterSetName='NoMinDBSet')] + [string] + ${FailoverDatabaseServer}, + + [Parameter(ParameterSetName='NoMinDBSet', Mandatory=$true, ValueFromPipeline=$true)] + [Parameter(ParameterSetName='MinDBSet', Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ParameterSetName='NoMinDBSet')] + [Parameter(ParameterSetName='MinDBSet')] + [switch] + ${Sharing}, + + [Parameter(ParameterSetName='MinDBSet', Mandatory=$true)] + [switch] + ${EnableMinDB}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPSecurityTokenServiceConfig { + [CmdletBinding(DefaultParameterSetName='SigningCertificateImport', SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(ParameterSetName='SigningCertificateImport')] + [ValidateNotNull()] + [System.Security.Cryptography.X509Certificates.X509Certificate2] + ${ImportSigningCertificate}, + + [Parameter(ParameterSetName='SigningCertificateReference')] + [string] + ${SigningCertificateThumbprint}, + + [Parameter(ParameterSetName='SigningCertificateReference')] + [string] + ${SigningCertificateStoreName}, + + [Parameter(ParameterSetName='SigningCertificateQueue')] + [ValidateNotNull()] + [System.Security.Cryptography.X509Certificates.X509Certificate2] + ${QueueSigningCertificate}, + + [Parameter(ParameterSetName='SigningCertificateReference')] + [string] + ${QueueSigningCertificateThumbprint}, + + [Parameter(ParameterSetName='SigningCertificateReference')] + [string] + ${QueueSigningCertificateStoreName}, + + [Parameter(ParameterSetName='SigningCertificateRevoke')] + [ValidateNotNull()] + [System.Security.Cryptography.X509Certificates.X509Certificate2] + ${RevokeSigningCertificate}, + + [Parameter(ParameterSetName='RevokeSigningCertificateReference', Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${RevokeSigningCertificateThumbprint}, + + [Parameter(ParameterSetName='RevokeSigningCertificateReference')] + [ValidateNotNullOrEmpty()] + [string] + ${RevokeSigningCertificateStoreName}, + + [switch] + ${SkipProvisionInstances}, + + [int] + ${ServiceTokenLifetime}, + + [int] + ${ServiceTokenCacheExpirationWindow}, + + [int] + ${FormsTokenLifetime}, + + [int] + ${WindowsTokenLifetime}, + + [int] + ${MaxLogonTokenCacheItems}, + + [int] + ${MaxServiceTokenCacheItems}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPServer { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [Alias('Address')] + [object] + ${Identity}, + + [object] + ${Status}, + + [object] + ${Role}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPServerScaleOutDatabaseDataRange { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${Database}, + + [Parameter(Mandatory=$true)] + [object] + ${Range}, + + [byte[]] + ${NewRangePoint}, + + [Parameter(Mandatory=$true)] + [bool] + ${IsUpperSubRange}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPServerScaleOutDatabaseDataSubRange { + [CmdletBinding(DefaultParameterSetName='AttachedDatabase', SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='AttachedDatabase', Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Database}, + + [Parameter(ParameterSetName='UnattachedDatabase', Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${ConnectionString}, + + [Parameter(ParameterSetName='UnattachedDatabase')] + [switch] + ${IsAzureDatabase}, + + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [object] + ${Range}, + + [byte[]] + ${SubRangePoint}, + + [Parameter(Mandatory=$true)] + [object] + ${SubRangeMode}, + + [Parameter(Mandatory=$true)] + [bool] + ${IsUpperSubRange}, + + [switch] + ${IgnoreSubRangePointOnBoundary}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPServiceApplication { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [ValidateNotNull()] + [object] + ${DefaultEndpoint}, + + [ValidateNotNull()] + [object] + ${ServiceApplicationProxyGroup}, + + [ValidateNotNull()] + [object] + ${IisWebServiceApplicationPool}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPServiceApplicationEndpoint { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(ParameterSetName='HostName', Mandatory=$true)] + [ValidateNotNull()] + [string] + ${HostName}, + + [Parameter(ParameterSetName='ResetHostName', Mandatory=$true)] + [switch] + ${ResetHostName}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPServiceApplicationPool { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(Position=1)] + [object] + ${Account}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPServiceApplicationSecurity { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, Position=1)] + [ValidateNotNull()] + [object] + ${ObjectSecurity}, + + [switch] + ${Admin}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPServiceHostConfig { + [CmdletBinding(DefaultParameterSetName='SslCertificateImport', SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(ParameterSetName='SslCertificateReference', Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [Parameter(ParameterSetName='SslCertificateImport', Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(ParameterSetName='SslCertificateReference')] + [Parameter(ParameterSetName='SslCertificateImport')] + [Alias('Port')] + [ValidateRange(1, 65535)] + [int] + ${HttpPort}, + + [Parameter(ParameterSetName='SslCertificateReference')] + [Parameter(ParameterSetName='SslCertificateImport')] + [Alias('SecurePort')] + [ValidateRange(1, 65535)] + [int] + ${HttpsPort}, + + [Parameter(ParameterSetName='SslCertificateImport')] + [Parameter(ParameterSetName='SslCertificateReference')] + [ValidateRange(1, 65535)] + [int] + ${NetTcpPort}, + + [Parameter(ParameterSetName='SslCertificateReference', Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${SslCertificateThumbprint}, + + [Parameter(ParameterSetName='SslCertificateReference')] + [ValidateNotNullOrEmpty()] + [string] + ${SslCertificateStoreName}, + + [Parameter(ParameterSetName='SslCertificateImport')] + [ValidateNotNull()] + [System.Security.Cryptography.X509Certificates.X509Certificate2] + ${ImportSslCertificate}, + + [switch] + ${NoWait}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPSessionStateService { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [System.Nullable[int]] + ${SessionTimeout}, + + [Parameter(ParameterSetName='AdvancedProvision')] + [pscredential] + ${DatabaseCredentials}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPSite { + [CmdletBinding(DefaultParameterSetName='Default', SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ParameterSetName='Default')] + [object] + ${OwnerAlias}, + + [Parameter(ParameterSetName='Default')] + [object] + ${QuotaTemplate}, + + [Parameter(ParameterSetName='Default')] + [object] + ${Template}, + + [Parameter(ParameterSetName='Default')] + [string] + ${Url}, + + [Parameter(ParameterSetName='Default')] + [long] + ${MaxSize}, + + [Parameter(ParameterSetName='Default')] + [long] + ${WarningSize}, + + [Parameter(ParameterSetName='Default')] + [string] + ${SharingType}, + + [Parameter(ParameterSetName='Default')] + [ValidateSet('Unlock','NoAdditions','ReadOnly','NoAccess')] + [string] + ${LockState}, + + [Parameter(ParameterSetName='Default')] + [object] + ${SecondaryOwnerAlias}, + + [Parameter(ParameterSetName='Default')] + [string] + ${UserAccountDirectoryPath}, + + [Parameter(ParameterSetName='SiteSubscription')] + [object] + ${SiteSubscription}, + + [Parameter(ParameterSetName='SiteSubscription')] + [switch] + ${Force}, + + [object] + ${AdministrationSiteType}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPSiteAdministration { + [CmdletBinding(DefaultParameterSetName='Default', SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ParameterSetName='Default')] + [object] + ${OwnerAlias}, + + [Parameter(ParameterSetName='Default')] + [object] + ${SecondaryOwnerAlias}, + + [Parameter(ParameterSetName='Default')] + [object] + ${Template}, + + [Parameter(ParameterSetName='Default')] + [ValidateSet('Unlock','NoAdditions','ReadOnly','NoAccess')] + [string] + ${LockState}, + + [Parameter(ParameterSetName='Default')] + [long] + ${MaxSize}, + + [Parameter(ParameterSetName='Default')] + [long] + ${WarningSize}, + + [Parameter(ParameterSetName='SiteSubscription')] + [object] + ${SiteSubscription}, + + [Parameter(ParameterSetName='SiteSubscription')] + [switch] + ${Force}, + + [object] + ${AdministrationSiteType}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPSiteSubscriptionConfig { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(ValueFromPipelineByPropertyName=$true)] + [string] + ${UserAccountDirectoryPath}, + + [Parameter(ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [object] + ${FeaturePack}, + + [switch] + ${PassThru}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPSiteSubscriptionEdiscoveryHub { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${Site}, + + [Parameter(ValueFromPipelineByPropertyName=$true)] + [string] + ${SearchScope}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPSiteSubscriptionIRMConfig { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [switch] + ${IrmEnabled}, + + [Parameter(ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [uri] + ${CertificateServerUrl}, + + [switch] + ${PassThru}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPSiteSubscriptionMetadataConfig { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${ServiceProxy}, + + [Parameter(ValueFromPipelineByPropertyName=$true)] + [string] + ${HubUri}, + + [switch] + ${DoNotUnpublishAllPackages}, + + [switch] + ${SyndicationErrorReportEnabled}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPSiteSubscriptionProfileConfig { + [CmdletBinding(DefaultParameterSetName='Default', SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${ProfileServiceApplicationProxy}, + + [Parameter(ValueFromPipeline=$true)] + [Parameter(ParameterSetName='MySiteSettings', Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${MySiteHostLocation}, + + [Parameter(ParameterSetName='MySiteSettings', ValueFromPipeline=$true)] + [object] + ${MySiteManagedPath}, + + [Parameter(ParameterSetName='MySiteSettings')] + [ValidateSet('None','Resolve','Block')] + [string] + ${SiteNamingConflictResolution}, + + [string] + ${SynchronizationOU}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPSiteURL { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [object] + ${Zone}, + + [Parameter(Mandatory=$true)] + [string] + ${Url}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPStateServiceApplication { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [object] + ${Identity}, + + [string] + ${Name}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPStateServiceApplicationProxy { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [object] + ${Identity}, + + [string] + ${Name}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPStateServiceDatabase { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [Alias('Name')] + [object] + ${Identity}, + + [Parameter(Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [Alias('Application')] + [object] + ${ServiceApplication}, + + [ValidateRange(1, 10)] + [System.Nullable[int]] + ${Weight}, + + [pscredential] + ${DatabaseCredentials}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPSubscriptionSettingsServiceApplication { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [ValidateNotNullOrEmpty()] + [string] + ${DatabaseServer}, + + [ValidateNotNullOrEmpty()] + [string] + ${FailoverDatabaseServer}, + + [ValidateNotNullOrEmpty()] + [string] + ${DatabaseName}, + + [ValidateNotNull()] + [pscredential] + ${DatabaseCredentials}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPThrottlingRule { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [ValidateNotNull()] + [object] + ${Criteria}, + + [ValidateRange(0, 10)] + [ValidateNotNull()] + [System.Nullable[int]] + ${Threshold}, + + [ValidateNotNull()] + [System.Nullable[datetime]] + ${Expiration}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPTimerJob { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [ValidateNotNullOrEmpty()] + [string] + ${Schedule}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPTopologyServiceApplication { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(Mandatory=$true)] + [string] + ${LoadBalancerUrl}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPTopologyServiceApplicationProxy { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(Mandatory=$true)] + [string] + ${BadListPeriod}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPTranslationServiceApplication { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Low')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [object] + ${Identity}, + + [string] + ${DatabaseName}, + + [pscredential] + ${DatabaseCredential}, + + [string] + ${DatabaseServer}, + + [string] + ${FailoverDatabaseServer}, + + [System.Nullable[int]] + ${TimerJobFrequency}, + + [System.Nullable[int]] + ${MaximumTranslationAttempts}, + + [System.Nullable[int]] + ${KeepAliveTimeout}, + + [System.Nullable[int]] + ${MaximumTranslationTime}, + + [System.Nullable[int]] + ${TranslationsPerInstance}, + + [System.Nullable[int]] + ${MaximumSyncTranslationRequests}, + + [System.Nullable[int]] + ${RecycleProcessThreshold}, + + [System.Nullable[int]] + ${TotalActiveProcesses}, + + [string] + ${MachineTranslationClientId}, + + [string] + ${MachineTranslationCategory}, + + [switch] + ${UseDefaultInternetSettings}, + + [string] + ${WebProxyAddress}, + + [string] + ${MachineTranslationAddress}, + + [System.Nullable[int]] + ${JobExpirationDays}, + + [System.Nullable[int]] + ${MaximumItemsPerDay}, + + [System.Nullable[int]] + ${MaximumItemsPerPartitionPerDay}, + + [System.Nullable[int]] + ${MaximumBinaryFileSize}, + + [System.Nullable[int]] + ${MaximumTextFileSize}, + + [System.Nullable[int]] + ${MaximumWordCharacterCount}, + + [System.Nullable[bool]] + ${DisableBinaryFileScan}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${ApplicationPool}, + + [string[]] + ${AddEnabledFileExtensions}, + + [string[]] + ${RemoveEnabledFileExtensions}, + + [switch] + ${ClearEnabledFileExtensions}, + + [switch] + ${EnableAllFileExtensions}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPTranslationServiceApplicationProxy { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Low')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [object] + ${Identity}, + + [System.Nullable[int]] + ${MaximumGroupSize}, + + [System.Nullable[int]] + ${MaximumItemCount}, + + [switch] + ${DefaultProxyGroup}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPTranslationThrottlingSetting { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Low')] +param( + [System.Nullable[int]] + ${SiteQuota}, + + [System.Nullable[int]] + ${TenantQuota}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPTrustedIdentityTokenIssuer { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(ParameterSetName='ImportCertificateParameterSet', Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [Parameter(ParameterSetName='BasicParameterSet', Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [Parameter(ParameterSetName='MetadataEndPointParameterSet', Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(ParameterSetName='BasicParameterSet')] + [Parameter(ParameterSetName='MetadataEndPointParameterSet')] + [Parameter(ParameterSetName='ImportCertificateParameterSet')] + [ValidateNotNullOrEmpty()] + [string] + ${Description}, + + [Parameter(ParameterSetName='ImportCertificateParameterSet', Mandatory=$true)] + [ValidateNotNull()] + [System.Security.Cryptography.X509Certificates.X509Certificate2] + ${ImportTrustCertificate}, + + [Parameter(ParameterSetName='MetadataEndPointParameterSet', Mandatory=$true)] + [ValidateNotNull()] + [uri] + ${MetadataEndPoint}, + + [Parameter(ParameterSetName='ImportCertificateParameterSet')] + [Parameter(ParameterSetName='BasicParameterSet')] + [Parameter(ParameterSetName='MetadataEndPointParameterSet')] + [object] + ${ClaimsMappings}, + + [Parameter(ParameterSetName='BasicParameterSet')] + [Parameter(ParameterSetName='MetadataEndPointParameterSet')] + [Parameter(ParameterSetName='ImportCertificateParameterSet')] + [ValidateNotNullOrEmpty()] + [string] + ${SignInUrl}, + + [Parameter(ParameterSetName='BasicParameterSet')] + [Parameter(ParameterSetName='MetadataEndPointParameterSet')] + [Parameter(ParameterSetName='ImportCertificateParameterSet')] + [object] + ${ClaimProvider}, + + [Parameter(ParameterSetName='MetadataEndPointParameterSet')] + [Parameter(ParameterSetName='BasicParameterSet')] + [Parameter(ParameterSetName='ImportCertificateParameterSet')] + [string] + ${Realm}, + + [Parameter(ParameterSetName='MetadataEndPointParameterSet')] + [Parameter(ParameterSetName='BasicParameterSet')] + [Parameter(ParameterSetName='ImportCertificateParameterSet')] + [switch] + ${UseWReply}, + + [Parameter(ParameterSetName='BasicParameterSet')] + [Parameter(ParameterSetName='MetadataEndPointParameterSet')] + [Parameter(ParameterSetName='ImportCertificateParameterSet')] + [string] + ${RegisteredIssuerName}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPTrustedRootAuthority { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(ParameterSetName='ManualUpdateCertificateParameterSet')] + [ValidateNotNull()] + [System.Security.Cryptography.X509Certificates.X509Certificate2] + ${Certificate}, + + [Parameter(ParameterSetName='MetadataEndPointParameterSet')] + [ValidateNotNull()] + [uri] + ${MetadataEndPoint}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPTrustedSecurityTokenIssuer { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [ValidateNotNullOrEmpty()] + [string] + ${Description}, + + [string] + ${RegisteredIssuerName}, + + [Parameter(ParameterSetName='MetadataEndPointParameterSet')] + [ValidateNotNull()] + [uri] + ${MetadataEndPoint}, + + [Parameter(ParameterSetName='ImportCertificateParameterSet')] + [ValidateNotNull()] + [System.Security.Cryptography.X509Certificates.X509Certificate2] + ${Certificate}, + + [ValidateNotNullOrEmpty()] + [switch] + ${IsTrustBroker}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPTrustedServiceTokenIssuer { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [ValidateNotNullOrEmpty()] + [string] + ${Description}, + + [Parameter(ParameterSetName='ImportCertificateParameterSet')] + [ValidateNotNull()] + [System.Security.Cryptography.X509Certificates.X509Certificate2] + ${Certificate}, + + [Parameter(ParameterSetName='MetadataEndPointParameterSet')] + [ValidateNotNull()] + [uri] + ${MetadataEndPoint}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPUsageApplication { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [object] + ${UsageService}, + + [ValidateLength(1, 135)] + [ValidateNotNullOrEmpty()] + [string] + ${DatabaseServer}, + + [ValidateNotNullOrEmpty()] + [ValidateLength(1, 128)] + [string] + ${DatabaseName}, + + [ValidateNotNullOrEmpty()] + [ValidateLength(1, 128)] + [string] + ${DatabaseUsername}, + + [ValidateNotNull()] + [securestring] + ${DatabasePassword}, + + [switch] + ${EnableLogging}, + + [ValidateLength(1, 135)] + [string] + ${FailoverDatabaseServer}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPUsageDefinition { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [switch] + ${Enable}, + + [ValidateRange(0, 31)] + [int] + ${DaysRetained}, + + [ValidateRange(0, 31)] + [int] + ${DaysToKeepUsageFiles}, + + [ValidateRange(1, 9223372036854775807)] + [long] + ${MaxTotalSizeInBytes}, + + [switch] + ${UsageDatabaseEnabled}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPUsageService { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true, HelpMessage='The max space, in GB, that Usage log files should take up.')] + [ValidateRange(1, 20)] + [uint32] + ${UsageLogMaxSpaceGB}, + + [Parameter(ValueFromPipeline=$true, HelpMessage='The location where Usage log files are created.')] + [ValidateLength(1, 181)] + [ValidateNotNullOrEmpty()] + [string] + ${UsageLogLocation}, + + [Parameter(ValueFromPipeline=$true, HelpMessage='The time interval, in minutes, that Usage log files should be cut and start a new one.')] + [ValidateRange(1, 1440)] + [uint32] + ${UsageLogCutTime}, + + [Parameter(ValueFromPipeline=$true, HelpMessage='The max usage file size, in KB, that Usage log files should be cut and start a new one.')] + [ValidateRange(512, 65536)] + [uint32] + ${UsageLogMaxFileSizeKB}, + + [System.Nullable[bool]] + ${LoggingEnabled}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPUser { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [Alias('UserAlias')] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${Web}, + + [object] + ${Group}, + + [string] + ${DisplayName}, + + [switch] + ${SyncFromAD}, + + [string[]] + ${AddPermissionLevel}, + + [string[]] + ${RemovePermissionLevel}, + + [switch] + ${ClearPermissions}, + + [switch] + ${PassThru}, + + [string] + ${Email}, + + [switch] + ${IsSiteCollectionAdmin}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPVisioExternalData { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [ValidateNotNullOrEmpty()] + [object] + ${VisioServiceApplication}, + + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${UnattendedServiceAccountApplicationID}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPVisioPerformance { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [ValidateNotNullOrEmpty()] + [object] + ${VisioServiceApplication}, + + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [long] + ${MaxDiagramSize}, + + [Parameter(Mandatory=$true)] + [int] + ${MinDiagramCacheAge}, + + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [int] + ${MaxDiagramCacheAge}, + + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [int] + ${MaxRecalcDuration}, + + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [long] + ${MaxCacheSize}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPVisioSafeDataProvider { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [ValidateNotNullOrEmpty()] + [object] + ${VisioServiceApplication}, + + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${DataProviderId}, + + [Parameter(Mandatory=$true)] + [int] + ${DataProviderType}, + + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${Description}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPVisioServiceApplication { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNullOrEmpty()] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, Position=1, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [ValidateNotNullOrEmpty()] + [object] + ${ServiceApplicationPool}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPWeb { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [string] + ${RelativeUrl}, + + [string] + ${Description}, + + [object] + ${Template}, + + [Obsolete('This control applies to SharePoint 2007 theming and is no longer functional')] + [string] + ${Theme}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPWebApplication { + [CmdletBinding(DefaultParameterSetName='UpdateGeneralSettings', SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ParameterSetName='UpdateClaimSettings', Mandatory=$true)] + [object] + ${Zone}, + + [Parameter(ParameterSetName='UpdateGeneralSettings')] + [int] + ${DefaultTimeZone}, + + [Parameter(ParameterSetName='UpdateGeneralSettings')] + [string] + ${DefaultQuotaTemplate}, + + [Parameter(ParameterSetName='UpdateMailSettings', Mandatory=$true)] + [string] + ${SMTPServer}, + + [Parameter(ParameterSetName='UpdateMailSettings')] + [switch] + ${DisableSMTPEncryption}, + + [Parameter(ParameterSetName='UpdateMailSettings')] + [int] + ${SMTPServerPort}, + + [Parameter(ParameterSetName='UpdateMailSettings')] + [string] + ${OutgoingEmailAddress}, + + [Parameter(ParameterSetName='UpdateMailSettings')] + [string] + ${ReplyToEmailAddress}, + + [Parameter(ParameterSetName='UpdateGeneralSettings')] + [Alias('ProxyGroup')] + [object] + ${ServiceApplicationProxyGroup}, + + [Parameter(ParameterSetName='UpdateClaimSettings')] + [object] + ${AuthenticationProvider}, + + [Parameter(ParameterSetName='UpdateClaimSettings')] + [object] + ${AdditionalClaimProvider}, + + [Parameter(ParameterSetName='UpdateClaimSettings')] + [string] + ${SignInRedirectURL}, + + [Parameter(ParameterSetName='UpdateClaimSettings')] + [object] + ${SignInRedirectProvider}, + + [Parameter(ParameterSetName='UpdateClaimSettings')] + [ValidateSet('Kerberos','NTLM')] + [string] + ${AuthenticationMethod}, + + [switch] + ${Force}, + + [switch] + ${NotProvisionGlobally}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPWebApplicationHttpThrottlingMonitor { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [object] + ${Identity}, + + [Parameter(Mandatory=$true, Position=1, ValueFromPipelineByPropertyName=$true)] + [string] + ${Category}, + + [Parameter(Mandatory=$true, Position=2, ValueFromPipelineByPropertyName=$true)] + [string] + ${Counter}, + + [Parameter(ValueFromPipelineByPropertyName=$true)] + [string] + ${Instance}, + + [Parameter(ValueFromPipelineByPropertyName=$true)] + [Alias('Upper')] + [ValidateRange(0, 1.7976931348623157E+308)] + [double] + ${UpperLimit}, + + [Parameter(ValueFromPipelineByPropertyName=$true)] + [Alias('Lower')] + [ValidateRange(0, 1.7976931348623157E+308)] + [double] + ${LowerLimit}, + + [Parameter(ValueFromPipelineByPropertyName=$true)] + [Alias('Buckets')] + [double[]] + ${HealthScoreBuckets}, + + [Parameter(ValueFromPipelineByPropertyName=$true)] + [switch] + ${IsDESC}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPWOPIBinding { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(Mandatory=$true)] + [switch] + ${DefaultAction}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPWOPIZone { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Position=0)] + [ValidateNotNullOrEmpty()] + [string] + ${Zone}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPWordConversionServiceApplication { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Low')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [object] + ${Identity}, + + [string] + ${DatabaseName}, + + [pscredential] + ${DatabaseCredential}, + + [string] + ${DatabaseServer}, + + [System.Nullable[int]] + ${TimerJobFrequency}, + + [System.Nullable[int]] + ${ConversionTimeout}, + + [System.Nullable[int]] + ${MaximumConversionAttempts}, + + [System.Nullable[int]] + ${KeepAliveTimeout}, + + [System.Nullable[int]] + ${MaximumConversionTime}, + + [System.Nullable[int]] + ${MaximumSyncConversionRequests}, + + [System.Nullable[int]] + ${ConversionsPerInstance}, + + [switch] + ${DisableEmbeddedFonts}, + + [switch] + ${DisableBinaryFileScan}, + + [System.Nullable[int]] + ${RecycleProcessThreshold}, + + [System.Nullable[int]] + ${ActiveProcesses}, + + [System.Nullable[int]] + ${MaximumMemoryUsage}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${ApplicationPool}, + + [string[]] + ${AddSupportedFormats}, + + [string[]] + ${RemoveSupportedFormats}, + + [switch] + ${ClearSupportedFormats}, + + [System.Nullable[int]] + ${MaximumGroupSize}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPWorkflowConfig { + [CmdletBinding()] +param( + [Parameter(ParameterSetName='WebApplication', Mandatory=$true, Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [object] + ${WebApplication}, + + [Parameter(ParameterSetName='SiteCollection', Mandatory=$true, Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [object] + ${SiteCollection}, + + [bool] + ${EmailNoPermissionParticipantsEnabled}, + + [bool] + ${SendDocumentToExternalParticipants}, + + [bool] + ${DeclarativeWorkflowsEnabled}, + + [int] + ${SingleWorkflowEpisodeTimeout}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPWorkManagementServiceApplication { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${ApplicationPool}, + + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [string] + ${Name}, + + [Parameter(HelpMessage='This value specifies the minimum amount of time between refreshes for a provider for a given user.')] + [timespan] + ${MinimumTimeBetweenProviderRefreshes}, + + [Parameter(HelpMessage='This value specifies the minimum amount of time between calls to search for a given user.')] + [timespan] + ${MinimumTimeBetweenSearchQueries}, + + [Parameter(HelpMessage='This value specifies the minimum amount of time between calls into our routine that tries to find new tenants that want to sync EWS tasks.')] + [timespan] + ${MinimumTimeBetweenEwsSyncSubscriptionSearches}, + + [Parameter(HelpMessage='This value specifies the maximum number of users a service instance will try to sync on a given tenant via EWS per Timer job interval')] + [uint32] + ${NumberOfUsersPerEwsSyncBatch}, + + [Parameter(HelpMessage='This value specifies the maximum number of users a service instance machine will sync via EWS at one time across all tenants.')] + [uint32] + ${NumberOfUsersEwsSyncWillProcessAtOnce}, + + [Parameter(HelpMessage='This value specifies the maximum number of tenants the service will try to sync via EWS per Timer job interval')] + [uint32] + ${NumberOfSubscriptionSyncsPerEwsSyncRun}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Set-SPWorkManagementServiceApplicationProxy { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [switch] + ${DefaultProxyGroup}, + + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [string] + ${Name}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Split-SPScaleOutDatabase { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='NewDatabase', Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${NewDatabaseName}, + + [Parameter(ParameterSetName='NewDatabase')] + [ValidateNotNullOrEmpty()] + [string] + ${NewDatabaseServer}, + + [Parameter(ParameterSetName='NewDatabase')] + [ValidateNotNullOrEmpty()] + [string] + ${NewDatabaseFailoverServer}, + + [Parameter(ParameterSetName='NewDatabase')] + [ValidateNotNull()] + [pscredential] + ${NewDatabaseCredentials}, + + [Parameter(ParameterSetName='ExistingDatabase', Mandatory=$true)] + [ValidateNotNull()] + [object] + ${TargetDatabase}, + + [Parameter(Mandatory=$true)] + [object] + ${SourceDatabase}, + + [Parameter(Mandatory=$true)] + [object] + ${SourceServiceApplication}, + + [int] + ${SourcePercentage}, + + [switch] + ${MoveLowerHalf}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Split-SPServerScaleOutDatabase { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='NewDatabase', Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${NewDatabaseName}, + + [Parameter(ParameterSetName='NewDatabase')] + [ValidateNotNullOrEmpty()] + [string] + ${NewDatabaseServer}, + + [Parameter(ParameterSetName='NewDatabase')] + [ValidateNotNullOrEmpty()] + [string] + ${NewDatabaseFailoverServer}, + + [Parameter(ParameterSetName='NewDatabase')] + [ValidateNotNull()] + [pscredential] + ${NewDatabaseCredentials}, + + [Parameter(ParameterSetName='ExistingDatabase', Mandatory=$true)] + [ValidateNotNull()] + [object] + ${TargetDatabase}, + + [Parameter(Mandatory=$true)] + [object] + ${SourceDatabase}, + + [Parameter(Mandatory=$true)] + [object] + ${SourceServiceApplication}, + + [int] + ${SourcePercentage}, + + [switch] + ${MoveLowerHalf}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Start-SPAdminJob { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Start-SPAssignment { + [CmdletBinding()] +param( + [switch] + ${Global}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Start-SPContentDeploymentJob { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [object] + ${Identity}, + + [switch] + ${WaitEnabled}, + + [string] + ${DeploySinceTime}, + + [switch] + ${TestEnabled}, + + [string] + ${UseSpecificSnapshot}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Start-SPDiagnosticsSession { + [CmdletBinding()] +param( + [guid] + ${CorrelationId}, + + [switch] + ${Dashboard}, + + [ValidateSet('High','Medium','Monitorable','Unexpected','Verbose','VerboseEx','None')] + [string] + ${TraceLevel}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Start-SPEnterpriseSearchQueryAndSiteSettingsServiceInstance { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Start-SPEnterpriseSearchServiceInstance { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Start-SPInfoPathFormTemplate { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Start-SPService { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Start-SPServiceInstance { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Start-SPTimerJob { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Stop-SPAssignment { + [CmdletBinding()] +param( + [switch] + ${Global}, + + [Parameter(Position=0, ValueFromPipeline=$true)] + [object] + ${SemiGlobal}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Stop-SPDiagnosticsSession { + [CmdletBinding()] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Stop-SPDistributedCacheServiceInstance { + [CmdletBinding()] +param( + [Parameter(Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [switch] + ${Graceful}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Stop-SPEnterpriseSearchQueryAndSiteSettingsServiceInstance { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Stop-SPEnterpriseSearchServiceInstance { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Stop-SPInfoPathFormTemplate { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [ValidateRange(0, 1440)] + [System.Nullable[int]] + ${TimeLeft}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Stop-SPService { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Stop-SPServiceInstance { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Suspend-SPEnterpriseSearchServiceApplication { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Suspend-SPStateServiceDatabase { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [Alias('Name')] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Suspend-SPVideoStreamingAccess { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${SiteSubscription}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Switch-SPSitesToNewDatabase { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNullOrEmpty()] + [guid[]] + ${SiteIds}, + + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [object] + ${SourceDatabase}, + + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${DestinationDatabase}, + + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${DatabaseServer}, + + [ValidateNotNull()] + [pscredential] + ${DatabaseCredentials}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Sync-SPProjectPermissions { + [CmdletBinding()] +param( + [Parameter(ParameterSetName='SPMode', Mandatory=$true, Position=0)] + [Parameter(ParameterSetName='PSMode', Mandatory=$true, Position=0)] + [ValidateNotNullOrEmpty()] + [uri] + ${Url}, + + [Parameter(ParameterSetName='SPMode', Position=1)] + [ValidateSet('Full','Incremental')] + [ValidateNotNullOrEmpty()] + [object] + ${Type}, + + [Parameter(ParameterSetName='PSMode', Position=1)] + [switch] + ${SyncPWASite}, + + [Parameter(ParameterSetName='PSMode', Position=2)] + [switch] + ${SyncProjectSites}, + + [Parameter(ParameterSetName='PSMode', Position=3)] + [switch] + ${Async}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Test-SPContentDatabase { + [CmdletBinding(DefaultParameterSetName='ContentDatabaseById')] +param( + [Parameter(ParameterSetName='ContentDatabaseByName', Mandatory=$true)] + [ValidateNotNull()] + [string] + ${Name}, + + [Parameter(ParameterSetName='ContentDatabaseByName', Mandatory=$true)] + [ValidateNotNull()] + [object] + ${WebApplication}, + + [ValidateNotNull()] + [object] + ${ServerInstance}, + + [ValidateNotNull()] + [pscredential] + ${DatabaseCredentials}, + + [switch] + ${ShowRowCounts}, + + [switch] + ${ShowLocation}, + + [Parameter(ParameterSetName='ContentDatabaseById', Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [switch] + ${ExtendedCheck}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Test-SPInfoPathFormTemplate { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [string] + ${Path}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Test-SPIPRangeAllowList { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${WebApplication}, + + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${SiteName}, + + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${IP}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Test-SPO365LinkSettings { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, ValueFromPipelineByPropertyName=$true)] + [uri] + ${MySiteHostUrl}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Test-SPProjectServiceApplication { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(Position=1, ValueFromPipeline=$true)] + [object] + ${Rule}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Test-SPProjectWebInstance { + [CmdletBinding()] +param( + [Parameter(ParameterSetName='FindProjectSiteByWebInstance', Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ParameterSetName='FindProjectSiteByWebInstance', Position=1, ValueFromPipeline=$true)] + [object] + ${Rule}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Test-SPSite { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [guid] + ${RuleId}, + + [switch] + ${RunAlways}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Uninstall-SPAppInstance { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Uninstall-SPDataConnectionFile { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Uninstall-SPFeature { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [switch] + ${Force}, + + [int] + ${CompatibilityLevel}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Uninstall-SPHelpCollection { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${Name}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Uninstall-SPInfoPathFormTemplate { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Uninstall-SPSolution { + [CmdletBinding(DefaultParameterSetName='Default', SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ParameterSetName='OneWebApplication', Mandatory=$true)] + [object] + ${WebApplication}, + + [string] + ${Time}, + + [switch] + ${Local}, + + [Parameter(ParameterSetName='AllWebApplication', Mandatory=$true)] + [switch] + ${AllWebApplications}, + + [uint32] + ${Language}, + + [string] + ${CompatibilityLevel}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Uninstall-SPUserSolution { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(Mandatory=$true)] + [object] + ${Site}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Uninstall-SPWebPartPack { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0)] + [ValidateNotNullOrEmpty()] + [string] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${WebApplication}, + + [uint32] + ${Language}, + + [string] + ${CompatibilityLevel}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Unpublish-SPServiceApplication { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Update-SPAppCatalogConfiguration { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Site}, + + [switch] + ${SkipWebTemplateChecking}, + + [switch] + ${Force}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Update-SPAppInstance { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [object] + ${App}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Update-SPAzureBlobConfigLocator { + [CmdletBinding(DefaultParameterSetName='__AllParameterSets')] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}, + + [Parameter(ParameterSetName='default', Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [byte[]] + ${Locator}) + + + } + + +function Update-SPAzureBlobConfigLocatorEx { + [CmdletBinding(DefaultParameterSetName='__AllParameterSets')] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}, + + [Parameter(ParameterSetName='default', Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [byte[]] + ${Locator}) + + + } + + +function Update-SPAzureBlobConfigLocatorEx1 { + [CmdletBinding(DefaultParameterSetName='__AllParameterSets')] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}, + + [Parameter(ParameterSetName='default')] + [bool] + ${UpdateContentPoolsWithDelay}, + + [Parameter(ParameterSetName='default', Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [byte[]] + ${Locator}) + + + } + + +function Update-SPAzureBlobLogStoreSignatures { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}, + + [Parameter(ParameterSetName='default', Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${ReadSignaturesByPrimaryKey}, + + [Parameter(ParameterSetName='default', Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${WriteSignaturesByPrimaryKey}, + + [Parameter(ParameterSetName='default', Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${ReadSignaturesBySecondaryKey}, + + [Parameter(ParameterSetName='default', Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${WriteSignaturesBySecondaryKey}, + + [Parameter(ParameterSetName='default', Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${DRReadSignaturesByPrimaryKey}, + + [Parameter(ParameterSetName='default', Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${DRWriteSignaturesByPrimaryKey}, + + [Parameter(ParameterSetName='default', Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${DRReadSignaturesBySecondaryKey}, + + [Parameter(ParameterSetName='default', Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${DRWriteSignaturesBySecondaryKey}, + + [Parameter(ParameterSetName='default', Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${PrimaryFarmPoolId}, + + [Parameter(ParameterSetName='default', Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${DRFarmPoolId}) + + + } + + +function Update-SPAzureBlobSignaturesEx { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}, + + [Parameter(ParameterSetName='default', Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${ReadSignaturesByPrimaryKey}, + + [Parameter(ParameterSetName='default', Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${WriteSignaturesByPrimaryKey}, + + [Parameter(ParameterSetName='default', Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${ReadSignaturesBySecondaryKey}, + + [Parameter(ParameterSetName='default', Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${WriteSignaturesBySecondaryKey}, + + [Parameter(ParameterSetName='default', Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${DRReadSignaturesByPrimaryKey}, + + [Parameter(ParameterSetName='default', Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${DRWriteSignaturesByPrimaryKey}, + + [Parameter(ParameterSetName='default', Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${DRReadSignaturesBySecondaryKey}, + + [Parameter(ParameterSetName='default', Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${DRWriteSignaturesBySecondaryKey}, + + [Parameter(ParameterSetName='default', Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${PrimaryFarmPoolId}, + + [Parameter(ParameterSetName='default', Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${DRFarmPoolId}) + + + } + + +function Update-SPAzureBlobSignaturesEx1 { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}, + + [Parameter(ParameterSetName='default', Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${ReadSignaturesByPrimaryKey}, + + [Parameter(ParameterSetName='default', Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${WriteSignaturesByPrimaryKey}, + + [Parameter(ParameterSetName='default', Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${ReadSignaturesBySecondaryKey}, + + [Parameter(ParameterSetName='default', Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${WriteSignaturesBySecondaryKey}, + + [Parameter(ParameterSetName='default', Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${DRReadSignaturesByPrimaryKey}, + + [Parameter(ParameterSetName='default', Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${DRWriteSignaturesByPrimaryKey}, + + [Parameter(ParameterSetName='default', Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${DRReadSignaturesBySecondaryKey}, + + [Parameter(ParameterSetName='default', Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${DRWriteSignaturesBySecondaryKey}, + + [Parameter(ParameterSetName='default', Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${PrimaryFarmPoolId}, + + [Parameter(ParameterSetName='default', Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${DRFarmPoolId}, + + [Parameter(ParameterSetName='default')] + [bool] + ${UpdateContentPoolsWithDelay}) + + + } + + +function Update-SPDistributedCacheSize { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)] + [uint32] + ${CacheSizeInMB}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Update-SPFarmEncryptionKey { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [switch] + ${Resume}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Update-SPHelp { + [CmdletBinding()] +param( + [switch] + ${Force}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Update-SPInfoPathAdminFileUrl { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true)] + [uri] + ${Find}, + + [Parameter(Mandatory=$true)] + [uri] + ${Replace}, + + [switch] + ${Scan}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Update-SPInfoPathFormTemplate { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Update-SPInfoPathUserFileUrl { + [CmdletBinding(DefaultParameterSetName='WebApp', SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='WebApp', Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${WebApplication}, + + [Parameter(ParameterSetName='ContentDB', Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${ContentDatabase}, + + [Parameter(ParameterSetName='Site', Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Site}, + + [Parameter(Mandatory=$true)] + [uri] + ${Find}, + + [Parameter(Mandatory=$true)] + [uri] + ${Replace}, + + [switch] + ${Scan}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Update-SPProfilePhotoStore { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${MySiteHostLocation}, + + [bool] + ${CreateThumbnailsForImportedPhotos}, + + [bool] + ${NoDelete}, + + [uri] + ${OldBaseUri}, + + [uri] + ${NewBaseUri}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Update-SPRepopulateMicroblogFeedCache { + [CmdletBinding(DefaultParameterSetName='Default')] +param( + [Parameter(ParameterSetName='Default', Mandatory=$true, ValueFromPipeline=$true)] + [Parameter(ParameterSetName='FollowableList', Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${ProfileServiceApplicationProxy}, + + [Parameter(ParameterSetName='FollowableList', Mandatory=$true, ValueFromPipeline=$true)] + [Parameter(ParameterSetName='Default', ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${SiteSubscription}, + + [Parameter(ParameterSetName='Default')] + [ValidateNotNull()] + [string] + ${AccountName}, + + [Parameter(ParameterSetName='Default')] + [ValidateNotNull()] + [string] + ${SiteUrl}, + + [Parameter(ParameterSetName='FollowableList', Mandatory=$true)] + [ValidateNotNull()] + [guid] + ${SiteId}, + + [Parameter(ParameterSetName='FollowableList', Mandatory=$true)] + [ValidateNotNull()] + [guid] + ${WebId}, + + [Parameter(ParameterSetName='FollowableList', Mandatory=$true)] + [ValidateNotNull()] + [guid] + ${ListId}, + + [Parameter(ParameterSetName='FollowableList', Mandatory=$true)] + [ValidateNotNull()] + [string] + ${ListRootFolderUrl}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Update-SPRepopulateMicroblogLMTCache { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${ProfileServiceApplicationProxy}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Update-SPSecureStoreApplicationServerKey { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [string] + ${Passphrase}, + + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [object] + ${ServiceApplicationProxy}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Update-SPSecureStoreCredentialMapping { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [object] + ${Principal}, + + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [securestring[]] + ${Values}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Update-SPSecureStoreGroupCredentialMapping { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [securestring[]] + ${Values}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Update-SPSecureStoreMasterKey { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [string] + ${Passphrase}, + + [Parameter(Mandatory=$true)] + [ValidateNotNull()] + [object] + ${ServiceApplicationProxy}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Update-SPSolution { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(Mandatory=$true)] + [string] + ${LiteralPath}, + + [string] + ${Time}, + + [switch] + ${CASPolicies}, + + [switch] + ${GACDeployment}, + + [switch] + ${FullTrustBinDeployment}, + + [switch] + ${Local}, + + [switch] + ${Force}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Update-SPUserSolution { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(Mandatory=$true)] + [object] + ${Site}, + + [Parameter(Mandatory=$true)] + [object] + ${ToSolution}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Update-SPWOPIProofKey { + [CmdletBinding()] +param( + [ValidateNotNullOrEmpty()] + [string] + ${ServerName}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Upgrade-SPAppManagementServiceApplication { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(ParameterSetName='AppManagementSvcAppById', Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ParameterSetName='AppManagementSvcAppByName')] + [string] + ${Name}, + + [guid[]] + ${DatabaseIds}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Upgrade-SPConfigurationDatabase { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Upgrade-SPContentDatabase { + [CmdletBinding(DefaultParameterSetName='ContentDatabaseById', SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(ParameterSetName='ContentDatabaseByName', Mandatory=$true)] + [ValidateNotNull()] + [object] + ${WebApplication}, + + [Parameter(ParameterSetName='ContentDatabaseByName', Mandatory=$true)] + [ValidateNotNull()] + [string] + ${Name}, + + [ValidateNotNull()] + [object] + ${ServerInstance}, + + [switch] + ${UseSnapshot}, + + [Parameter(ParameterSetName='ContentDatabaseById', Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(Position=1)] + [switch] + ${ForceDeleteLock}, + + [switch] + ${SkipIntegrityChecks}, + + [switch] + ${NoB2BSiteUpgrade}, + + [switch] + ${AllowUnattached}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Upgrade-SPEnterpriseSearchServiceApplication { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Upgrade-SPEnterpriseSearchServiceApplicationSiteSettings { + [CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Upgrade-SPFarm { + [CmdletBinding(DefaultParameterSetName='FarmById', SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [switch] + ${ServerOnly}, + + [switch] + ${SkipDatabaseUpgrade}, + + [switch] + ${NoB2BSiteUpgrade}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Upgrade-SPProfileServiceApplication { + [CmdletBinding(DefaultParameterSetName='Default', SupportsShouldProcess=$true, ConfirmImpact='Medium')] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNull()] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Upgrade-SPServer { + [CmdletBinding()] +param( + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Upgrade-SPSingleSignOnDatabase { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${SSOConnectionString}, + + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] + ${SecureStoreConnectionString}, + + [Parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [securestring] + ${SecureStorePassphrase}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Upgrade-SPSite { + [CmdletBinding(DefaultParameterSetName='SPSiteById', SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(ParameterSetName='SPSiteById', Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [object] + ${Identity}, + + [switch] + ${VersionUpgrade}, + + [switch] + ${QueueOnly}, + + [switch] + ${Email}, + + [switch] + ${Unthrottled}, + + [byte] + ${Priority}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Upgrade-SPSiteMapDatabase { + [CmdletBinding(DefaultParameterSetName='DefaultSet', SupportsShouldProcess=$true, ConfirmImpact='High')] +param( + [Parameter(Mandatory=$true, Position=0)] + [ValidateNotNullOrEmpty()] + [guid] + ${DatabaseId}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + +function Upgrade-SPWebApplication { + [CmdletBinding()] +param( + [Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)] + [ValidateNotNullOrEmpty()] + [object] + ${Identity}, + + [Parameter(ValueFromPipeline=$true)] + [object] + ${AssignmentCollection}) + + + } + + + diff --git a/Tests/Tests.pssproj b/Tests/Tests.pssproj index 7693ddab6..09c494faf 100644 --- a/Tests/Tests.pssproj +++ b/Tests/Tests.pssproj @@ -27,6 +27,11 @@ 4 + + + + + @@ -53,6 +58,15 @@ + + + + + + + + + \ No newline at end of file diff --git a/Tests/xSharePoint.TestHarness.psm1 b/Tests/xSharePoint.TestHarness.psm1 new file mode 100644 index 000000000..ac58cfa37 --- /dev/null +++ b/Tests/xSharePoint.TestHarness.psm1 @@ -0,0 +1,69 @@ +function Invoke-xSharePointTests() { + param + ( + [parameter(Mandatory = $false)] [System.String] $testResultsFile + ) + + $repoDir = Join-Path $PSScriptRoot "..\" -Resolve + + $testCoverageFiles = @() + Get-ChildItem "$repoDir\modules\xSharePoint\**\*.psm1" -Recurse | ForEach-Object { $testCoverageFiles += $_.FullName } + + $testResultSettings = @{ } + if ([string]::IsNullOrEmpty($testResultsFile) -eq $false) { + $testResultSettings.Add("OutputFormat", "NUnitXml" ) + $testResultSettings.Add("OutputFile", $testResultsFile) + } + Import-Module "$repoDir\modules\xSharePoint\xSharePoint.psd1" + + $results = Invoke-Pester -Script @( + @{ + 'Path' = "$repoDir\Tests" + 'Parameters' = @{ + 'SharePointCmdletModule' = (Join-Path $repoDir "\Tests\Stubs\SharePoint\15.0.4693.1000\Microsoft.SharePoint.PowerShell.psm1") + } + }, + @{ + 'Path' = "$repoDir\Tests" + 'Parameters' = @{ + 'SharePointCmdletModule' = (Join-Path $repoDir "\Tests\Stubs\SharePoint\16.0.4316.1217\Microsoft.SharePoint.PowerShell.psm1") + } + } + ) -CodeCoverage $testCoverageFiles -PassThru @testResultSettings + + return $results +} + +function Write-xSharePointStubFiles() { + param + ( + [parameter(Mandatory = $true)] [System.String] $SharePointStubPath + ) + + Add-PSSnapin Microsoft.SharePoint.PowerShell + + $SPStubContent = ((Get-Command | Where-Object { $_.Source -eq "Microsoft.SharePoint.PowerShell" } ) | ForEach-Object -Process { + $signature = $null + $command = $_ + $metadata = New-Object -TypeName System.Management.Automation.CommandMetaData -ArgumentList $command + $definition = [System.Management.Automation.ProxyCommand]::Create($metadata) + foreach ($line in $definition -split "`n") + { + if ($line.Trim() -eq 'begin') + { + break + } + $signature += $line + } + "function $($command.Name) { `n $signature `n } `n" + }) | Out-String + + foreach ($line in $SPStubContent.Split([Environment]::NewLine)) { + $line = $line.Replace("[System.Nullable``1[[Microsoft.Office.Server.Search.Cmdlet.ContentSourceCrawlScheduleType, Microsoft.Office.Server.Search.PowerShell, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c]], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]", "[object]") + $line = $line.Replace("[System.Collections.Generic.List``1[[Microsoft.SharePoint.PowerShell.SPUserLicenseMapping, Microsoft.SharePoint.PowerShell, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c]], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]", "[object]") + $line = $line -replace "\[System.Nullable\[Microsoft.*]]", "[System.Nullable[object]]" + $line = $line -replace "\[Microsoft.*.\]", "[object]" + + $line | Out-File $SharePointStubPath -Encoding utf8 -Append + } +} \ No newline at end of file diff --git a/Tests/xSharePoint/xSharePoint.Global.Tests.ps1 b/Tests/xSharePoint/xSharePoint.Global.Tests.ps1 index 659d96db6..cfe9684bf 100644 --- a/Tests/xSharePoint/xSharePoint.Global.Tests.ps1 +++ b/Tests/xSharePoint/xSharePoint.Global.Tests.ps1 @@ -1,39 +1,95 @@ [CmdletBinding()] -param() - -if (!$PSScriptRoot) # $PSScriptRoot is not defined in 2.0 -{ - $PSScriptRoot = [System.IO.Path]::GetDirectoryName($MyInvocation.MyCommand.Path) -} +param( + [string] $SharePointCmdletModule = (Join-Path $PSScriptRoot "..\Stubs\SharePoint\15.0.4693.1000\Microsoft.SharePoint.PowerShell.psm1" -Resolve) +) $ErrorActionPreference = 'stop' Set-StrictMode -Version latest $RepoRoot = (Resolve-Path $PSScriptRoot\..\..).Path +Import-Module "$PSScriptRoot\xSharePoint.TestHelpers.psm1" -Describe 'xSharePoint Global Tests' { +Describe 'xSharePoint whole of module tests' { $mofFiles = @(Get-ChildItem $RepoRoot -Recurse -Filter "*.schema.mof" -File | ? { ($_.FullName -like "*\DscResources\*") }) - Context 'MOF schemas use InstallAccount' { + Context "Validate the MOF schemas for the DSC resources" { - It "Doesn't have an InstallAccount required parameter" { + It "should not list InstallAccount as required if it does have that attribute" { $mofFilesWithNoInstallAccount = 0 - $mofFiles | % { + $mofFiles | ForEach-Object { $fileHasInstallAccount = $false - Get-Content $_.FullName | % { - if ($_.IndexOf("[Required, EmbeddedInstance(`"MSFT_Credential`")] String InstallAccount;") -gt 0) { $fileHasInstallAccount = $true } - } - if (-not $fileHasInstallAccount -and $_.Name -ne "MSFT_xSPInstall.schema.mof" ` - -and $_.Name -ne "MSFT_xSPClearRemoteSessions.schema.mof" ` - -and $_.Name -ne "MSFT_xSPInstallPrereqs.schema.mof") { + + $mofSchema = Get-MofSchemaObject $_.FullName + $installAccount = $mofSchema.Attributes | Where-Object { $_.Name -eq "InstallAccount" } + if (($null -ne $installAccount) -and ($installAccount.State -eq "Required")) { $mofFilesWithNoInstallAccount += 1 - Write-Warning "File $($_.FullName) does not contain an InstallAccount parameter. All SharePoint specific resources should use this to impersonate as and access SharePoint resources" + Write-Warning "File $($_.FullName) has InstallAccount listed as a required parameter. After v0.6 of xSharePoint this should be changed to 'write' instead of 'required'" } } $mofFilesWithNoInstallAccount | Should Be 0 } + + It "uses MOF schemas that match the functions used in the corresponding PowerShell module for each resource" { + $filesWithErrors = 0 + $WarningPreference = "Continue" + $mofFiles | % { + if ((Assert-MofSchemaScriptParameters $_.FullName) -eq $false) { $filesWithErrors++ } + } + $filesWithErrors | Should Be 0 + } + } + + $DSCTestsPath = (Get-Item (Join-Path $RepoRoot "..\**\DSCResource.Tests\MetaFixers.psm1" -Resolve)).FullName + if ($null -ne $DSCTestsPath) { + Import-Module $DSCTestsPath + Context "Validate the format and structure of all text files in the module" { + + $allTextFiles = Get-TextFilesList $RepoRoot + + It "has no files that aren't in UTF-8 encoding" { + $unicodeFilesCount = 0 + $allTextFiles | %{ + if (Test-FileUnicode $_) { + $unicodeFilesCount += 1 + Write-Warning "File $($_.FullName) contains 0x00 bytes. It's probably uses Unicode and need to be converted to UTF-8. Use Fixer 'Get-UnicodeFilesList `$pwd | ConvertTo-UTF8'." + } + } + $unicodeFilesCount | Should Be 0 + } + + It "has no files with tabs in the content" { + $totalTabsCount = 0 + $allTextFiles | %{ + $fileName = $_.FullName + $tabStrings = (cat $_.FullName -Raw) | Select-String "`t" | % { + Write-Warning "There are tab in $fileName. Use Fixer 'Get-TextFilesList `$pwd | ConvertTo-SpaceIndentation'." + $totalTabsCount++ + } + } + $totalTabsCount | Should Be 0 + } + } + } + + Context "Validate the PowerShell modules used throughout the module" { + $psm1Files = @(ls $RepoRoot -Recurse -Filter "*.psm1" -File | ? { + ($_.FullName -like "*\DscResources\*" -or $_.FullName -like "*\Modules\xSharePoint.*") -and (-not ($_.Name -like "*.schema.psm1")) + }) + + It 'has valid PowerShell syntax in all module files' { + $errors = @() + $psm1Files | ForEach-Object { + $localErrors = Get-ParseErrors $_.FullName + if ($localErrors) { + Write-Warning "There are parsing errors in $($_.FullName)" + Write-Warning ($localErrors | Format-List | Out-String) + } + $errors += $localErrors + } + $errors.Count | Should Be 0 + } } } \ No newline at end of file diff --git a/Tests/xSharePoint/xSharePoint.TestHelpers.psm1 b/Tests/xSharePoint/xSharePoint.TestHelpers.psm1 new file mode 100644 index 000000000..0d2001041 --- /dev/null +++ b/Tests/xSharePoint/xSharePoint.TestHelpers.psm1 @@ -0,0 +1,193 @@ +function Get-MofSchemaObject() { + param( + [Parameter(Mandatory=$True)] + [string]$fileName + ) + $contents = Get-Content $fileName + + $results = @{ + ClassVersion = $null + FriendlyName = $null + ClassName = $null + Attributes = @() + } + + foreach($textLine in $contents) { + if ($textLine.Contains("ClassVersion") -or $textLine.Contains("ClassVersion")) { + if ($textLine -match "ClassVersion(`"*.`")") { + $start = $textLine.IndexOf("ClassVersion(`"") + 14 + $end = $textLine.IndexOf("`")", $start) + $results.ClassVersion = $textLine.Substring($start, $end - $start) + } + + if ($textLine -match "FriendlyName(`"*.`")") { + $start = $textLine.IndexOf("FriendlyName(`"") + 14 + $end = $textLine.IndexOf("`")", $start) + $results.FriendlyName = $textLine.Substring($start, $end - $start) + } + } elseif ($textLine.Contains("class ")) { + $start = $textLine.IndexOf("class ") + 6 + $end = $textLine.IndexOf(" ", $start) + $results.ClassName = $textLine.Substring($start, $end - $start) + } elseif ($textLine.Trim() -eq "{" -or $textLine.Trim() -eq "};" -or [string]::IsNullOrEmpty($textLine)) { + } else { + $attributeValue = @{ + State = $null + EmbeddedInstance = $null + ValueMap = $null + DataType = $null + Name = $null + } + + $start = $textLine.IndexOf("[") + 1 + $end = $textLine.IndexOf("]", $start) + $metadataEnd = $end + $metadata = $textLine.Substring($start, $end - $start) + $metadataObjects = $metadata.Split(",") + $attributeValue.State = $metadataObjects[0] + + $metadataObjects | ForEach-Object { + if ($_.Trim().StartsWith("EmbeddedInstance")) { + $start = $textLine.IndexOf("EmbeddedInstance(`"") + 18 + $end = $textLine.IndexOf("`")", $start) + $attributeValue.EmbeddedInstance = $textLine.Substring($start, $end - $start) + } + if ($_.Trim().StartsWith("ValueMap")) { + $start = $textLine.IndexOf("ValueMap{") + 9 + $end = $textLine.IndexOf("}", $start) + $valueMap = $textLine.Substring($start, $end - $start) + $attributeValue.ValueMap = $valueMap.Replace("`"", "").Split(",") + } + } + + $nonMetadata = $textLine.Replace(";","").Substring($metadataEnd + 1) + + $nonMetadataObjects = $nonMetadata.Split(" ") + $attributeValue.DataType = $nonMetadataObjects[1] + $attributeValue.Name = $nonMetadataObjects[2] + + $results.Attributes += $attributeValue + } + } + return $results +} + +function Assert-MofSchemaScriptParameters() { + param( + [Parameter(Mandatory=$True)] + [string]$mofFileName + ) + $hasErrors = $false + $mofData = Get-MofSchemaObject -fileName $mofFileName + $psFile = $mofFileName.Replace(".schema.mof", ".psm1") + + $tokens = $null + $errors = $null + $ast = [System.Management.Automation.Language.Parser]::ParseFile($psFile, [ref] $tokens, [ref] $errors) + $functions = $ast.FindAll( {$args[0] -is [System.Management.Automation.Language.FunctionDefinitionAst]}, $true) + + $functions | ForEach-Object { + if ($_ -like "*-TargetResource") { + $function = $_ + $astTokens = $null + $astErrors = $null + $functionAst = [System.Management.Automation.Language.Parser]::ParseInput($_.Body, [ref] $astTokens, [ref] $astErrors) + + $parameters = $functionAst.FindAll( {$args[0] -is [System.Management.Automation.Language.ParameterAst]}, $true) + + foreach ($mofParameter in $mofData.Attributes) { + # Check the parameter exists + $paramToCheck = $parameters | Where-Object { $_.Name.ToString() -eq "`$$($mofParameter.Name)" } + + if ($null -eq $paramToCheck) { + $hasErrors = $true + Write-Warning "File $psFile is missing parameter $($mofParameter.Name) from the $($_.Name) method" + } + + $parameterAttribute = $paramToCheck.Attributes | ? { $_.TypeName.ToString() -eq "parameter" } -ErrorAction SilentlyContinue + + if (($mofParameter.State -eq "Key" -or $mofParameter.State -eq "Required")) { + + if (-not $parameterAttribute) { + $hasErrors = $true + Write-Warning "File $psFile has parameter $($mofParameter.Name) that is not marked as mandatory (has no parameter attribute) in the $($function.Name) method" + } else { + $isMandatoryInScript = [bool]::Parse(($parameterAttribute.NamedArguments | ? { $_.ArgumentName -eq "Mandatory" }).Argument.VariablePath.ToString()) + + if ($isMandatoryInScript -eq $false) { + $hasErrors = $true + Write-Warning "File $psFile has parameter $($mofParameter.Name) that is not marked as mandatory in the $($function.Name) method" + } + } + } + + if ($mofParameter.State -eq "Write") { + if ($null -ne $parameterAttribute) { + $isMandatoryInScript = [bool]::Parse(($parameterAttribute.NamedArguments | ? { $_.ArgumentName -eq "Mandatory" }).Argument.VariablePath.ToString()) + if ($isMandatoryInScript -eq $true) { + $hasErrors = $true + Write-Warning "File $psFile has parameter $($mofParameter.Name) that is marked as mandatory in the $($function.Name) method and it should not be" + } + } + } + + if ($null -ne $mofParameter.ValueMap) { + $validateSetAttribute = ($paramToCheck.Attributes | ? { $_.TypeName.ToString() -eq "ValidateSet" }) + + if (-not $validateSetAttribute) { + $hasErrors = $true + Write-Warning "File $psFile has parameter $($mofParameter.Name) that is missing a ValidateSet attribute in the $($function.Name) method" + } + + $psValidateSetParams = $validateSetAttribute.PositionalArguments | % { $_.Value.ToString() } + + $mofParameter.ValueMap | ForEach-Object { + if ($psValidateSetParams -notcontains $_) { + $hasErrors = $true + Write-Warning "File $psFile has parameter $($mofParameter.Name) that does not have '$_' in its validateset parameter for $($function.Name) method" + } + } + + $psValidateSetParams | ForEach-Object { + if ($mofParameter.ValueMap -notcontains $_) { + $hasErrors = $true + Write-Warning "File $psFile has parameter $($mofParameter.Name) that contains '$_' in the $($function.Name) function which is not in the valuemap in the schema" + } + } + } + + if ($mofParameter.EmbeddedInstance -eq $null) { + if (($paramToCheck.Attributes | ? { $_.TypeName.ToString() -match $mofParameter.DataType }) -eq $null) { + $hasErrors = $true + Write-Warning "File $psFile has parameter $($mofParameter.Name) in function $($function.Name) that does not match the data type of the schema" + } + } else { + switch ($mofParameter.EmbeddedInstance) { + "MSFT_Credential" { + if (($paramToCheck.Attributes | ? { $_.TypeName.ToString() -match "PSCredential" }) -eq $null) { + $hasErrors = $true + Write-Warning "File $psFile has parameter $($mofParameter.Name) in function $($function.Name) that does not match the data type of the schema" + } + } + } + } + } + } + } + + return (!$hasErrors) +} + +function Get-ParseErrors { + param( + [Parameter(ValueFromPipeline=$True,Mandatory=$True)] + [string]$fileName + ) + + $tokens = $null + $errors = $null + $ast = [System.Management.Automation.Language.Parser]::ParseFile($fileName, [ref] $tokens, [ref] $errors) + return $errors +} + +Export-ModuleMember * \ No newline at end of file diff --git a/Tests/xSharePoint/xSharePoint.Util.Tests.ps1 b/Tests/xSharePoint/xSharePoint.Util.Tests.ps1 new file mode 100644 index 000000000..93b0e3329 --- /dev/null +++ b/Tests/xSharePoint/xSharePoint.Util.Tests.ps1 @@ -0,0 +1,104 @@ +[CmdletBinding()] +param( + [string] $SharePointCmdletModule = (Join-Path $PSScriptRoot "..\Stubs\SharePoint\15.0.4693.1000\Microsoft.SharePoint.PowerShell.psm1" -Resolve) +) + +$ErrorActionPreference = 'stop' +Set-StrictMode -Version latest + +$RepoRoot = (Resolve-Path $PSScriptRoot\..\..).Path + +$ModuleName = "xSharePoint.Util" +Import-Module (Join-Path $RepoRoot "Modules\xSharePoint") + +Describe "xSharePoint.Util" { + Context "Validate Get-xSharePointAssemblyVersion" { + It "returns the version number of a given executable" { + Get-xSharePointAssemblyVersion -PathToAssembly "C:\windows\System32\WindowsPowerShell\v1.0\powershell.exe" | Should Not Be 0 + } + } + + Context "Validate Invoke-xSharePointCommand" { + Mock Invoke-Command { return $null } -ModuleName "xSharePoint.Util" + Mock New-PSSession { return $null } -ModuleName "xSharePoint.Util" + Mock Get-PSSnapin { return $null } -ModuleName "xSharePoint.Util" + Mock Add-PSSnapin { return $null } -ModuleName "xSharePoint.Util" + + It "executes a command as the local run as user" { + Invoke-xSharePointCommand -ScriptBlock { return "value" } + } + + It "executes a command as the local run as user with additional arguments" { + Invoke-xSharePointCommand -ScriptBlock { return "value" } -Arguments @{ Something = "42" } + } + + It "executes a command as the specified InstallAccount user where it is different to the current user" { + Invoke-xSharePointCommand -ScriptBlock { return "value" } -Credential (New-Object System.Management.Automation.PSCredential ("username", (ConvertTo-SecureString "password" -AsPlainText -Force))) + } + + It "throws an exception when the run as user is the same as the InstallAccount user" { + { Invoke-xSharePointCommand -ScriptBlock { return "value" } -Credential (New-Object System.Management.Automation.PSCredential ("$($Env:USERDOMAIN)\$($Env:USERNAME)", (ConvertTo-SecureString "password" -AsPlainText -Force)))} | Should Throw + } + + It "throws normal exceptions when triggered in the script block" { + Mock Invoke-Command { throw [Exception] "A random exception" } -ModuleName "xSharePoint.Util" + + { Invoke-xSharePointCommand -ScriptBlock { return "value" } } | Should Throw + } + + It "throws normal exceptions when triggered in the script block using InstallAccount" { + Mock Invoke-Command { throw [Exception] "A random exception" } -ModuleName "xSharePoint.Util" + + { Invoke-xSharePointCommand -ScriptBlock { return "value" } -Credential (New-Object System.Management.Automation.PSCredential ("username", (ConvertTo-SecureString "password" -AsPlainText -Force)))} | Should Throw + } + + It "handles a SharePoint update conflict exception by rebooting the server to retry" { + Mock Invoke-Command { throw [Exception] "An update conflict has occurred, and you must re-try this action." } -ModuleName "xSharePoint.Util" + + { Invoke-xSharePointCommand -ScriptBlock { return "value" } } | Should Not Throw + } + + It "handles a SharePoint update conflict exception by rebooting the server to retry using InstallAccount" { + Mock Invoke-Command { throw [Exception] "An update conflict has occurred, and you must re-try this action." } -ModuleName "xSharePoint.Util" + + { Invoke-xSharePointCommand -ScriptBlock { return "value" } -Credential (New-Object System.Management.Automation.PSCredential ("username", (ConvertTo-SecureString "password" -AsPlainText -Force)))} | Should Not Throw + } + } + + Context "Validate Test-xSharePointSpecificParameters" { + It "Returns true for two identical tables" { + $desired = @{ Example = "test" } + Test-xSharePointSpecificParameters -CurrentValues $desired -DesiredValues $desired | Should Be $true + } + + It "Returns false when a value is different" { + $current = @{ Example = "something" } + $desired = @{ Example = "test" } + Test-xSharePointSpecificParameters -CurrentValues $current -DesiredValues $desired | Should Be $false + } + + It "Returns false when a value is missing" { + $current = @{ } + $desired = @{ Example = "test" } + Test-xSharePointSpecificParameters -CurrentValues $current -DesiredValues $desired | Should Be $false + } + + It "Returns true when only a specified value matches, but other non-listed values do not" { + $current = @{ Example = "test"; SecondExample = "true" } + $desired = @{ Example = "test"; SecondExample = "false" } + Test-xSharePointSpecificParameters -CurrentValues $current -DesiredValues $desired -ValuesToCheck @("Example") | Should Be $true + } + + It "Returns false when only specified values do not match, but other non-listed values do " { + $current = @{ Example = "test"; SecondExample = "true" } + $desired = @{ Example = "test"; SecondExample = "false" } + Test-xSharePointSpecificParameters -CurrentValues $current -DesiredValues $desired -ValuesToCheck @("SecondExample") | Should Be $false + } + + It "Returns false when an empty array is used in the current values " { + $current = @{ } + $desired = @{ Example = "test"; SecondExample = "false" } + Test-xSharePointSpecificParameters -CurrentValues $current -DesiredValues $desired | Should Be $false + } + } +} \ No newline at end of file diff --git a/Tests/xSharePoint/xSharePoint.xSPBCSServiceApp.Tests.ps1 b/Tests/xSharePoint/xSharePoint.xSPBCSServiceApp.Tests.ps1 index dbf2952ac..4f8a2023e 100644 --- a/Tests/xSharePoint/xSharePoint.xSPBCSServiceApp.Tests.ps1 +++ b/Tests/xSharePoint/xSharePoint.xSPBCSServiceApp.Tests.ps1 @@ -1,5 +1,7 @@ [CmdletBinding()] -param() +param( + [string] $SharePointCmdletModule = (Join-Path $PSScriptRoot "..\Stubs\SharePoint\15.0.4693.1000\Microsoft.SharePoint.PowerShell.psm1" -Resolve) +) if (!$PSScriptRoot) # $PSScriptRoot is not defined in 2.0 { @@ -10,6 +12,7 @@ $ErrorActionPreference = 'stop' Set-StrictMode -Version latest $RepoRoot = (Resolve-Path $PSScriptRoot\..\..).Path +$Global:CurrentSharePointStubModule = $SharePointCmdletModule $ModuleName = "MSFT_xSPBCSServiceApp" Import-Module (Join-Path $RepoRoot "Modules\xSharePoint\DSCResources\$ModuleName\$ModuleName.psm1") @@ -21,32 +24,97 @@ Describe "xSPBCSServiceApp" { ApplicationPool = "Test App Pool" DatabaseName = "Test_DB" DatabaseServer = "TestServer\Instance" - InstallAccount = New-Object System.Management.Automation.PSCredential ("username", (ConvertTo-SecureString "password" -AsPlainText -Force)) } + Import-Module (Join-Path ((Resolve-Path $PSScriptRoot\..\..).Path) "Modules\xSharePoint") - Context "Validate test method" { - It "Fails when no service app exists" { - Mock Get-TargetResource { return @{} } + + Mock Invoke-xSharePointCommand { + return Invoke-Command -ScriptBlock $ScriptBlock -ArgumentList $Arguments -NoNewScope + } + + Import-Module $Global:CurrentSharePointStubModule -WarningAction SilentlyContinue + + Context "When no service applications exist in the current farm" { + + Mock Get-SPServiceApplication { return $null } + Mock New-SPBusinessDataCatalogServiceApplication { } + + It "returns null from the Get method" { + Get-TargetResource @testParams | Should BeNullOrEmpty + Assert-MockCalled Get-SPServiceApplication -ParameterFilter { $Name -eq $testParams.Name } + } + + It "returns false when the Test method is called" { Test-TargetResource @testParams | Should Be $false } - It "Passes when the service app exists" { - Mock Get-TargetResource { - return @{ - Name = $testParams.Name - ApplicationPool = $testParams.ApplicationPool - } - } + + It "creates a new service application in the set method" { + Set-TargetResource @testParams + Assert-MockCalled New-SPBusinessDataCatalogServiceApplication + } + } + + Context "When service applications exist in the current farm but the specific BCS app does not" { + + Mock Get-SPServiceApplication { return @(@{ + TypeName = "Some other service app type" + }) } + + It "returns null from the Get method" { + Get-TargetResource @testParams | Should BeNullOrEmpty + Assert-MockCalled Get-SPServiceApplication -ParameterFilter { $Name -eq $testParams.Name } + } + + } + + Context "When a service application exists and is configured correctly" { + Mock Get-SPServiceApplication { + return @(@{ + TypeName = "Business Data Connectivity Service Application" + DisplayName = $testParams.Name + ApplicationPool = @{ Name = $testParams.ApplicationPool } + Database = @{ + Name = $testParams.DatabaseName + Server = @{ Name = $testParams.DatabaseServer } + } + }) + } + + It "returns values from the get method" { + Get-TargetResource @testParams | Should Not BeNullOrEmpty + Assert-MockCalled Get-SPServiceApplication -ParameterFilter { $Name -eq $testParams.Name } + } + + It "returns true when the Test method is called" { Test-TargetResource @testParams | Should Be $true } - It "Fails when the service app exists but has the wrong app pool" { - Mock Get-TargetResource { - return @{ - Name = $testParams.Name - ApplicationPool = "Wrong app pool" - } - } + } + + Context "When a service application exists and the app pool is not configured correctly" { + Mock Get-SPServiceApplication { + return @(@{ + TypeName = "Business Data Connectivity Service Application" + DisplayName = $testParams.Name + ApplicationPool = @{ Name = "Wrong App Pool Name" } + Database = @{ + Name = $testParams.DatabaseName + Server = @{ Name = $testParams.DatabaseServer } + } + }) + } + Mock Get-SPServiceApplicationPool { return @{ Name = $testParams.ApplicationPool } } + Mock Set-SPBusinessDataCatalogServiceApplication { } + + It "returns false when the Test method is called" { Test-TargetResource @testParams | Should Be $false } + + It "calls the update service app cmdlet from the set method" { + Set-TargetResource @testParams + + Assert-MockCalled Get-SPServiceApplicationPool + Assert-MockCalled Set-SPBusinessDataCatalogServiceApplication -ParameterFilter { $ApplicationPool.Name -eq $testParams.ApplicationPool } + } } } -} \ No newline at end of file +} diff --git a/Tests/xSharePoint/xSharePoint.xSPCacheAccounts.Tests.ps1 b/Tests/xSharePoint/xSharePoint.xSPCacheAccounts.Tests.ps1 index a7fd48be8..2acd07423 100644 --- a/Tests/xSharePoint/xSharePoint.xSPCacheAccounts.Tests.ps1 +++ b/Tests/xSharePoint/xSharePoint.xSPCacheAccounts.Tests.ps1 @@ -1,15 +1,13 @@ [CmdletBinding()] -param() - -if (!$PSScriptRoot) # $PSScriptRoot is not defined in 2.0 -{ - $PSScriptRoot = [System.IO.Path]::GetDirectoryName($MyInvocation.MyCommand.Path) -} +param( + [string] $SharePointCmdletModule = (Join-Path $PSScriptRoot "..\Stubs\SharePoint\15.0.4693.1000\Microsoft.SharePoint.PowerShell.psm1" -Resolve) +) $ErrorActionPreference = 'stop' Set-StrictMode -Version latest $RepoRoot = (Resolve-Path $PSScriptRoot\..\..).Path +$Global:CurrentSharePointStubModule = $SharePointCmdletModule $ModuleName = "MSFT_xSPCacheAccounts" Import-Module (Join-Path $RepoRoot "Modules\xSharePoint\DSCResources\$ModuleName\$ModuleName.psm1") @@ -20,41 +18,167 @@ Describe "xSPCacheAccounts" { WebAppUrl = "http://test.sharepoint.com" SuperUserAlias = "DEMO\SuperUser" SuperReaderAlias = "DEMO\SuperReader" - InstallAccount = New-Object System.Management.Automation.PSCredential ("username", (ConvertTo-SecureString "password" -AsPlainText -Force)) + } + Import-Module (Join-Path ((Resolve-Path $PSScriptRoot\..\..).Path) "Modules\xSharePoint") + + Mock Invoke-xSharePointCommand { + return Invoke-Command -ScriptBlock $ScriptBlock -ArgumentList $Arguments -NoNewScope + } + + try { [Microsoft.SharePoint.Administration.SPThingType] } + catch { + Add-Type @" +namespace Microsoft.SharePoint.Administration { + public enum SPPolicyRoleType { FullRead, FullControl }; +} +"@ + } + + Import-Module $Global:CurrentSharePointStubModule -WarningAction SilentlyContinue + + Context "The web application specified does not exist" { + Mock Get-SPWebApplication { return $null } + + It "returns null from the get method" { + Get-TargetResource @testParams | Should BeNullOrEmpty + } + + It "returns false from the test method" { + Test-TargetResource @testParams | Should Be $false + } + + It "throws and exception where set is called" { + { Set-TargetResource @testParams } | Should Throw + } } - Context "Validate test method" { - It "Fails when no cache accounts exist" { - Mock -ModuleName $ModuleName Get-TargetResource { return @{} } + Context "The specified cache accounts have not been configured" { + Mock Get-SPWebApplication { return New-Object Object | + Add-Member NoteProperty Properties @{} -PassThru | + Add-Member NoteProperty Policies ( + New-Object Object | + Add-Member ScriptMethod Add { return New-Object Object | + Add-Member NoteProperty PolicyRoleBindings ( + New-Object Object | + Add-Member ScriptMethod Add {} -PassThru + ) -PassThru + } -PassThru + ) -PassThru | + Add-Member NoteProperty PolicyRoles ( + New-Object Object | + Add-Member ScriptMethod GetSpecialRole { return @{} } -PassThru + ) -PassThru | + Add-Member ScriptMethod Update {} -PassThru + } + + It "returns empty strings from the Get method" { + $results = Get-TargetResource @testParams + $results.SuperUserAlias | Should BeNullOrEmpty + $results.SuperReaderAlias | Should BeNullOrEmpty + } + + It "returns false from the test method" { Test-TargetResource @testParams | Should Be $false } - It "Passes when the correct accounts are assigned" { - Mock -ModuleName $ModuleName Get-TargetResource { - return @{ - portalsuperuseraccount = $testParams.SuperUserAlias - portalsuperreaderaccount = $testParams.SuperReaderAlias - } - } + + It "Updates the accounts when set is called" { + Set-TargetResource @testParams + } + } + + Context "The cache accounts have been configured correctly" { + Mock Get-SPWebApplication { return New-Object Object | + Add-Member NoteProperty Properties @{ + portalsuperuseraccount = $testParams.SuperUserAlias + portalsuperreaderaccount = $testParams.SuperReaderAlias + } -PassThru | + Add-Member NoteProperty Policies ( + New-Object Object | + Add-Member ScriptMethod Add { return New-Object Object | + Add-Member NoteProperty PolicyRoleBindings ( + New-Object Object | + Add-Member ScriptMethod Add {} -PassThru + ) -PassThru + } -PassThru + ) -PassThru | + Add-Member NoteProperty PolicyRoles ( + New-Object Object | + Add-Member ScriptMethod GetSpecialRole { return @{} } -PassThru + ) -PassThru | + Add-Member ScriptMethod Update {} -PassThru + } + + It "returns the values from the get method" { + $results = Get-TargetResource @testParams + $results.SuperUserAlias | Should Not BeNullOrEmpty + $results.SuperReaderAlias | Should Not BeNullOrEmpty + } + + It "returns true from the test method" { Test-TargetResource @testParams | Should Be $true } - It "Fails when the wrong super reader is defined" { - Mock -ModuleName $ModuleName Get-TargetResource { - return @{ - portalsuperuseraccount = $testParams.SuperUserAlias - portalsuperreaderaccount = "DEMO\WrongUser" - } - } + } + + Context "Cache accounts have been configured, but the reader account is wrong" { + Mock Get-SPWebApplication { return New-Object Object | + Add-Member NoteProperty Properties @{ + portalsuperuseraccount = $testParams.SuperUserAlias + portalsuperreaderaccount = "WRONG\AccountName" + } -PassThru | + Add-Member NoteProperty Policies ( + New-Object Object | + Add-Member ScriptMethod Add { return New-Object Object | + Add-Member NoteProperty PolicyRoleBindings ( + New-Object Object | + Add-Member ScriptMethod Add {} -PassThru + ) -PassThru + } -PassThru + ) -PassThru | + Add-Member NoteProperty PolicyRoles ( + New-Object Object | + Add-Member ScriptMethod GetSpecialRole { return @{} } -PassThru + ) -PassThru | + Add-Member ScriptMethod Update {} -PassThru + } + + It "returns false from the test method" { Test-TargetResource @testParams | Should Be $false } - It "Fails when the wrong super user is defined" { - Mock -ModuleName $ModuleName Get-TargetResource { - return @{ - portalsuperuseraccount = "DEMO\WrongUser" - portalsuperreaderaccount = $testParams.SuperReaderAlias - } - } + + It "sets the correct accounts to the web app again" { + Set-TargetResource @testParams + } + } + + Context "Cache accounts have been configured, but the super account is wrong" { + Mock Get-SPWebApplication { return New-Object Object | + Add-Member NoteProperty Properties @{ + portalsuperuseraccount = "WRONG\AccountName" + portalsuperreaderaccount = $testParams.SuperReaderAlias + } -PassThru | + Add-Member NoteProperty Policies ( + New-Object Object | + Add-Member ScriptMethod Add { return New-Object Object | + Add-Member NoteProperty PolicyRoleBindings ( + New-Object Object | + Add-Member ScriptMethod Add {} -PassThru + ) -PassThru + } -PassThru + ) -PassThru | + Add-Member NoteProperty PolicyRoles ( + New-Object Object | + Add-Member ScriptMethod GetSpecialRole { return @{} } -PassThru + ) -PassThru | + Add-Member ScriptMethod Update {} -PassThru + } + + It "returns false from the test method" { Test-TargetResource @testParams | Should Be $false } + + It "sets the correct accounts to the web app again" { + Set-TargetResource @testParams + } } } } \ No newline at end of file diff --git a/Tests/xSharePoint/xSharePoint.xSPCreateFarm.Tests.ps1 b/Tests/xSharePoint/xSharePoint.xSPCreateFarm.Tests.ps1 index 530206fdf..327757c9a 100644 --- a/Tests/xSharePoint/xSharePoint.xSPCreateFarm.Tests.ps1 +++ b/Tests/xSharePoint/xSharePoint.xSPCreateFarm.Tests.ps1 @@ -1,15 +1,13 @@ [CmdletBinding()] -param() - -if (!$PSScriptRoot) # $PSScriptRoot is not defined in 2.0 -{ - $PSScriptRoot = [System.IO.Path]::GetDirectoryName($MyInvocation.MyCommand.Path) -} +param( + [string] $SharePointCmdletModule = (Join-Path $PSScriptRoot "..\Stubs\SharePoint\15.0.4693.1000\Microsoft.SharePoint.PowerShell.psm1" -Resolve) +) $ErrorActionPreference = 'stop' Set-StrictMode -Version latest $RepoRoot = (Resolve-Path $PSScriptRoot\..\..).Path +$Global:CurrentSharePointStubModule = $SharePointCmdletModule $ModuleName = "MSFT_xSPCreateFarm" Import-Module (Join-Path $RepoRoot "Modules\xSharePoint\DSCResources\$ModuleName\$ModuleName.psm1") @@ -20,24 +18,148 @@ Describe "xSPCreateFarm" { FarmConfigDatabaseName = "SP_Config" DatabaseServer = "DatabaseServer\Instance" FarmAccount = New-Object System.Management.Automation.PSCredential ("username", (ConvertTo-SecureString "password" -AsPlainText -Force)) - InstallAccount = New-Object System.Management.Automation.PSCredential ("username", (ConvertTo-SecureString "password" -AsPlainText -Force)) Passphrase = "passphrase" AdminContentDatabaseName = "Admin_Content" + CentralAdministrationPort = 1234 + } + Import-Module (Join-Path ((Resolve-Path $PSScriptRoot\..\..).Path) "Modules\xSharePoint") + + Mock Invoke-xSharePointCommand { + return Invoke-Command -ScriptBlock $ScriptBlock -ArgumentList $Arguments -NoNewScope } + + Import-Module $Global:CurrentSharePointStubModule -WarningAction SilentlyContinue + Mock New-SPConfigurationDatabase {} + Mock Install-SPHelpCollection {} + Mock Initialize-SPResourceSecurity {} + Mock Install-SPService {} + Mock Install-SPFeature {} + Mock New-SPCentralAdministration {} + Mock Install-SPApplicationContent {} + + $versionBeingTested = (Get-Item $Global:CurrentSharePointStubModule).Directory.BaseName + $majorBuildNumber = $versionBeingTested.Substring(0, $versionBeingTested.IndexOf(".")) + Mock Get-xSharePointInstalledProductVersion { return @{ FileMajorPart = $majorBuildNumber } } + + Context "no farm is configured locally and a supported version of SharePoint is installed" { + Mock Get-SPFarm { throw "Unable to detect local farm" } + + It "the get method returns null when the farm is not configured" { + Get-TargetResource @testParams | Should BeNullOrEmpty + } - Context "Validate test method" { - It "Fails when local server is not in a farm" { - Mock -ModuleName $ModuleName Get-TargetResource { return @{} } + It "returns false from the test method" { Test-TargetResource @testParams | Should Be $false } - It "Passes when local server is in a farm" { - Mock -ModuleName $ModuleName Get-TargetResource { - return @{ - FarmName = "SP_Config" - } - } + + It "calls the new configuration database cmdlet in the set method" { + Set-TargetResource @testParams + switch ($majorBuildNumber) + { + 15 { + Assert-MockCalled New-SPConfigurationDatabase + } + 16 { + Assert-MockCalled New-SPConfigurationDatabase -ParameterFilter { $ServerRoleOptional -eq $true } + } + Default { + throw [Exception] "A supported version of SharePoint was not used in testing" + } + } + + } + + if ($majorBuildNumber -eq 16) { + $testParams.Add("ServerRole", "WebFrontEnd") + It "creates a farm with a specific server role" { + Set-TargetResource @testParams + Assert-MockCalled New-SPConfigurationDatabase -ParameterFilter { $LocalServerRole -eq "WebFrontEnd" } + } + $testParams.Remove("ServerRole") + } + } + + if ($majorBuildNumber -eq 15) { + $testParams.Add("ServerRole", "WebFrontEnd") + + Context "only valid parameters for SharePoint 2013 are used" { + It "throws if server role is used in the get method" { + { Get-TargetResource @testParams } | Should Throw + } + + It "throws if server role is used in the test method" { + { Test-TargetResource @testParams } | Should Throw + } + + It "throws if server role is used in the set method" { + { Set-TargetResource @testParams } | Should Throw + } + } + + $testParams.Remove("ServerRole") + } + + Context "no farm is configured locally and an unsupported version of SharePoint is installed on the server" { + Mock Get-xSharePointInstalledProductVersion { return @{ FileMajorPart = 14 } } + + It "throws when an unsupported version is installed and set is called" { + { Set-TargetResource @testParams } | Should throw + } + } + + Context "a farm exists locally" { + Mock Get-SPFarm { return @{ + DefaultServiceAccount = @{ Name = $testParams.FarmAccount.UserName } + Name = $testParams.FarmConfigDatabaseName + }} + Mock Get-SPDatabase { return @(@{ + Name = $testParams.FarmConfigDatabaseName + Type = "Configuration Database" + Server = @{ Name = $testParams.DatabaseServer } + })} + Mock Get-SPWebApplication { return @(@{ + IsAdministrationWebApplication = $true + ContentDatabases = @(@{ Name = $testParams.AdminContentDatabaseName }) + Url = "http://$($env:ComputerName):$($testParams.CentralAdministrationPort)" + })} + + It "the get method returns values when the farm is configured" { + Get-TargetResource @testParams | Should Not BeNullOrEmpty + } + + It "returns true from the test method" { Test-TargetResource @testParams | Should Be $true } } + + Context "a farm exists locally with the wrong farm account" { + Mock Get-SPFarm { return @{ + DefaultServiceAccount = @{ Name = "WRONG\account" } + Name = $testParams.FarmConfigDatabaseName + }} + Mock Get-SPWebApplication { return @(@{ + IsAdministrationWebApplication = $true + ContentDatabases = @(@{ Name = $testParams.AdminContentDatabaseName }) + Url = "http://$($env:ComputerName):$($testParams.CentralAdministrationPort)" + })} + + It "the get method returns current values" { + Get-TargetResource @testParams | Should Not BeNullOrEmpty + } + + It "returns true from the test method as changing the farm account isn't supported so set shouldn't be called" { + Test-TargetResource @testParams | Should Be $true + } + + } + + Context "no farm is configured locally, a supported version is installed and no central admin port is specified" { + $testParams.Remove("CentralAdministrationPort") + + It "uses a default value for the central admin port" { + Set-TargetResource @testParams + Assert-MockCalled New-SPCentralAdministration -ParameterFilter { $Port -eq 9999 } + } + } } } \ No newline at end of file diff --git a/Tests/xSharePoint/xSharePoint.xSPDiagnosticLoggingSettings.Tests.ps1 b/Tests/xSharePoint/xSharePoint.xSPDiagnosticLoggingSettings.Tests.ps1 index 4d1569206..dd9685437 100644 --- a/Tests/xSharePoint/xSharePoint.xSPDiagnosticLoggingSettings.Tests.ps1 +++ b/Tests/xSharePoint/xSharePoint.xSPDiagnosticLoggingSettings.Tests.ps1 @@ -1,18 +1,16 @@ [CmdletBinding()] -param() - -if (!$PSScriptRoot) # $PSScriptRoot is not defined in 2.0 -{ - $PSScriptRoot = [System.IO.Path]::GetDirectoryName($MyInvocation.MyCommand.Path) -} +param( + [string] $SharePointCmdletModule = (Join-Path $PSScriptRoot "..\Stubs\SharePoint\15.0.4693.1000\Microsoft.SharePoint.PowerShell.psm1" -Resolve) +) $ErrorActionPreference = 'stop' Set-StrictMode -Version latest $RepoRoot = (Resolve-Path $PSScriptRoot\..\..).Path +$Global:CurrentSharePointStubModule = $SharePointCmdletModule $ModuleName = "MSFT_xSPDiagnosticLoggingSettings" -Import-Module (Join-Path $RepoRoot "Modules\xSharePoint\DSCResources\$ModuleName\$ModuleName.psm1") -Force +Import-Module (Join-Path $RepoRoot "Modules\xSharePoint\DSCResources\$ModuleName\$ModuleName.psm1") Describe "xSPDiagnosticLoggingSettings" { InModuleScope $ModuleName { @@ -27,97 +25,160 @@ Describe "xSPDiagnosticLoggingSettings" { DaysToKeepLogs = 7 LogMaxDiskSpaceUsageEnabled = $true LogCutInterval = 30 - EventLogFloodProtectionEnabled = $true - EventLogFloodProtectionThreshold = 10 - EventLogFloodProtectionTriggerPeriod = 10 - EventLogFloodProtectionQuietPeriod = 10 - EventLogFloodProtectionNotifyInterval = 10 ScriptErrorReportingEnabled = $true ScriptErrorReportingRequireAuth = $true ScriptErrorReportingDelay = 5 - InstallAccount = New-Object System.Management.Automation.PSCredential ("username", (ConvertTo-SecureString "password" -AsPlainText -Force)) + EventLogFloodProtectionEnabled = $true + EventLogFloodProtectionThreshold = 10 + EventLogFloodProtectionTriggerPeriod = 5 + EventLogFloodProtectionQuietPeriod = 5 + EventLogFloodProtectionNotifyInterval = 5 + } + Import-Module (Join-Path ((Resolve-Path $PSScriptRoot\..\..).Path) "Modules\xSharePoint") + + Mock Invoke-xSharePointCommand { + return Invoke-Command -ScriptBlock $ScriptBlock -ArgumentList $Arguments -NoNewScope } + + Import-Module $Global:CurrentSharePointStubModule -WarningAction SilentlyContinue + + Context "Diagnostic configuration can not be loaded" { + Mock Get-SPDiagnosticConfig { return $null } + + It "returns null from the get method" { + Get-TargetResource @testParams | Should BeNullOrEmpty + } - Context "Validate test method" { - It "Fails logging settings can not be found" { - Mock Get-TargetResource { return @{} } + It "returns false from the test method" { Test-TargetResource @testParams | Should Be $false } - It "Passes when logging settings are applied correctly" { - Mock Get-TargetResource { - return @{ - AppAnalyticsAutomaticUploadEnabled = $testParams.AppAnalyticsAutomaticUploadEnabled - CustomerExperienceImprovementProgramEnabled = $testParams.CustomerExperienceImprovementProgramEnabled - ErrorReportingEnabled = $testParams.ErrorReportingEnabled - ErrorReportingAutomaticUploadEnabled = $testParams.ErrorReportingAutomaticUploadEnabled - DownloadErrorReportingUpdatesEnabled = $testParams.DownloadErrorReportingUpdatesEnabled - DaysToKeepLogs = $testParams.DaysToKeepLogs - LogMaxDiskSpaceUsageEnabled = $testParams.LogMaxDiskSpaceUsageEnabled - LogDiskSpaceUsageGB = $testParams.LogSpaceInGB - LogLocation = $testParams.LogPath - LogCutInterval = $testParams.LogCutInterval - EventLogFloodProtectionEnabled = $testParams.EventLogFloodProtectionEnabled - EventLogFloodProtectionThreshold = $testParams.EventLogFloodProtectionThreshold - EventLogFloodProtectionTriggerPeriod = $testParams.EventLogFloodProtectionTriggerPeriod - EventLogFloodProtectionQuietPeriod = $testParams.EventLogFloodProtectionQuietPeriod - EventLogFloodProtectionNotifyInterval = $testParams.EventLogFloodProtectionNotifyInterval - ScriptErrorReportingEnabled = $testParams.ScriptErrorReportingEnabled - ScriptErrorReportingRequireAuth = $testParams.ScriptErrorReportingRequireAuth - ScriptErrorReportingDelay = $testParams.ScriptErrorReportingDelay - } - } + } + + Context "Diagnostic configuration can be loaded and it is configured correctly" { + Mock Get-SPDiagnosticConfig { return @{ + AppAnalyticsAutomaticUploadEnabled = $testParams.AppAnalyticsAutomaticUploadEnabled + CustomerExperienceImprovementProgramEnabled = $testParams.CustomerExperienceImprovementProgramEnabled + ErrorReportingEnabled = $testParams.ErrorReportingEnabled + ErrorReportingAutomaticUploadEnabled = $testParams.ErrorReportingAutomaticUploadEnabled + DownloadErrorReportingUpdatesEnabled = $testParams.DownloadErrorReportingUpdatesEnabled + DaysToKeepLogs = $testParams.DaysToKeepLogs + LogMaxDiskSpaceUsageEnabled = $testParams.LogMaxDiskSpaceUsageEnabled + LogDiskSpaceUsageGB = $testParams.LogSpaceInGB + LogLocation = $testParams.LogPath + LogCutInterval = $testParams.LogCutInterval + EventLogFloodProtectionEnabled = $testParams.EventLogFloodProtectionEnabled + EventLogFloodProtectionThreshold = $testParams.EventLogFloodProtectionThreshold + EventLogFloodProtectionTriggerPeriod = $testParams.EventLogFloodProtectionTriggerPeriod + EventLogFloodProtectionQuietPeriod = $testParams.EventLogFloodProtectionQuietPeriod + EventLogFloodProtectionNotifyInterval = $testParams.EventLogFloodProtectionNotifyInterval + ScriptErrorReportingEnabled = $testParams.ScriptErrorReportingEnabled + ScriptErrorReportingRequireAuth = $testParams.ScriptErrorReportingRequireAuth + ScriptErrorReportingDelay = $testParams.ScriptErrorReportingDelay + } } + + It "return values from the get method" { + Get-TargetResource @testParams | Should Not BeNullOrEmpty + } + + It "returns true from the test method" { Test-TargetResource @testParams | Should Be $true } - It "Fails when disk location is incorrect" { - Mock Get-TargetResource { - return @{ - AppAnalyticsAutomaticUploadEnabled = $testParams.AppAnalyticsAutomaticUploadEnabled - CustomerExperienceImprovementProgramEnabled = $testParams.CustomerExperienceImprovementProgramEnabled - ErrorReportingEnabled = $testParams.ErrorReportingEnabled - ErrorReportingAutomaticUploadEnabled = $testParams.ErrorReportingAutomaticUploadEnabled - DownloadErrorReportingUpdatesEnabled = $testParams.DownloadErrorReportingUpdatesEnabled - DaysToKeepLogs = $testParams.DaysToKeepLogs - LogMaxDiskSpaceUsageEnabled = $testParams.LogMaxDiskSpaceUsageEnabled - LogDiskSpaceUsageGB = $testParams.LogSpaceInGB - LogLocation = "C:\logs" - LogCutInterval = $testParams.LogCutInterval - EventLogFloodProtectionEnabled = $testParams.EventLogFloodProtectionEnabled - EventLogFloodProtectionThreshold = $testParams.EventLogFloodProtectionThreshold - EventLogFloodProtectionTriggerPeriod = $testParams.EventLogFloodProtectionTriggerPeriod - EventLogFloodProtectionQuietPeriod = $testParams.EventLogFloodProtectionQuietPeriod - EventLogFloodProtectionNotifyInterval = $testParams.EventLogFloodProtectionNotifyInterval - ScriptErrorReportingEnabled = $testParams.ScriptErrorReportingEnabled - ScriptErrorReportingRequireAuth = $testParams.ScriptErrorReportingRequireAuth - ScriptErrorReportingDelay = $testParams.ScriptErrorReportingDelay - } - } + } + + Context "Diagnostic configuration can be loaded and the log path is not set correctly" { + Mock Get-SPDiagnosticConfig { return @{ + AppAnalyticsAutomaticUploadEnabled = $testParams.AppAnalyticsAutomaticUploadEnabled + CustomerExperienceImprovementProgramEnabled = $testParams.CustomerExperienceImprovementProgramEnabled + ErrorReportingEnabled = $testParams.ErrorReportingEnabled + ErrorReportingAutomaticUploadEnabled = $testParams.ErrorReportingAutomaticUploadEnabled + DownloadErrorReportingUpdatesEnabled = $testParams.DownloadErrorReportingUpdatesEnabled + DaysToKeepLogs = $testParams.DaysToKeepLogs + LogMaxDiskSpaceUsageEnabled = $testParams.LogMaxDiskSpaceUsageEnabled + LogDiskSpaceUsageGB = $testParams.LogSpaceInGB + LogLocation = "C:\incorrect\value" + LogCutInterval = $testParams.LogCutInterval + EventLogFloodProtectionEnabled = $testParams.EventLogFloodProtectionEnabled + EventLogFloodProtectionThreshold = $testParams.EventLogFloodProtectionThreshold + EventLogFloodProtectionTriggerPeriod = $testParams.EventLogFloodProtectionTriggerPeriod + EventLogFloodProtectionQuietPeriod = $testParams.EventLogFloodProtectionQuietPeriod + EventLogFloodProtectionNotifyInterval = $testParams.EventLogFloodProtectionNotifyInterval + ScriptErrorReportingEnabled = $testParams.ScriptErrorReportingEnabled + ScriptErrorReportingRequireAuth = $testParams.ScriptErrorReportingRequireAuth + ScriptErrorReportingDelay = $testParams.ScriptErrorReportingDelay + } } + + + It "returns false from the test method" { Test-TargetResource @testParams | Should Be $false } - It "Fails when log size is incorrect" { - Mock Get-TargetResource { - return @{ - AppAnalyticsAutomaticUploadEnabled = $testParams.AppAnalyticsAutomaticUploadEnabled - CustomerExperienceImprovementProgramEnabled = $testParams.CustomerExperienceImprovementProgramEnabled - ErrorReportingEnabled = $testParams.ErrorReportingEnabled - ErrorReportingAutomaticUploadEnabled = $testParams.ErrorReportingAutomaticUploadEnabled - DownloadErrorReportingUpdatesEnabled = $testParams.DownloadErrorReportingUpdatesEnabled - DaysToKeepLogs = $testParams.DaysToKeepLogs - LogMaxDiskSpaceUsageEnabled = $testParams.LogMaxDiskSpaceUsageEnabled - LogDiskSpaceUsageGB = 1 - LogLocation = $testParams.LogPath - LogCutInterval = $testParams.LogCutInterval - EventLogFloodProtectionEnabled = $testParams.EventLogFloodProtectionEnabled - EventLogFloodProtectionThreshold = $testParams.EventLogFloodProtectionThreshold - EventLogFloodProtectionTriggerPeriod = $testParams.EventLogFloodProtectionTriggerPeriod - EventLogFloodProtectionQuietPeriod = $testParams.EventLogFloodProtectionQuietPeriod - EventLogFloodProtectionNotifyInterval = $testParams.EventLogFloodProtectionNotifyInterval - ScriptErrorReportingEnabled = $testParams.ScriptErrorReportingEnabled - ScriptErrorReportingRequireAuth = $testParams.ScriptErrorReportingRequireAuth - ScriptErrorReportingDelay = $testParams.ScriptErrorReportingDelay - } - } + } + + Context "Diagnostic configuration can be loaded and the log size is not set correctly" { + Mock Get-SPDiagnosticConfig { return @{ + AppAnalyticsAutomaticUploadEnabled = $testParams.AppAnalyticsAutomaticUploadEnabled + CustomerExperienceImprovementProgramEnabled = $testParams.CustomerExperienceImprovementProgramEnabled + ErrorReportingEnabled = $testParams.ErrorReportingEnabled + ErrorReportingAutomaticUploadEnabled = $testParams.ErrorReportingAutomaticUploadEnabled + DownloadErrorReportingUpdatesEnabled = $testParams.DownloadErrorReportingUpdatesEnabled + DaysToKeepLogs = $testParams.DaysToKeepLogs + LogMaxDiskSpaceUsageEnabled = $testParams.LogMaxDiskSpaceUsageEnabled + LogDiskSpaceUsageGB = 1 + LogLocation = $testParams.LogPath + LogCutInterval = $testParams.LogCutInterval + EventLogFloodProtectionEnabled = $testParams.EventLogFloodProtectionEnabled + EventLogFloodProtectionThreshold = $testParams.EventLogFloodProtectionThreshold + EventLogFloodProtectionTriggerPeriod = $testParams.EventLogFloodProtectionTriggerPeriod + EventLogFloodProtectionQuietPeriod = $testParams.EventLogFloodProtectionQuietPeriod + EventLogFloodProtectionNotifyInterval = $testParams.EventLogFloodProtectionNotifyInterval + ScriptErrorReportingEnabled = $testParams.ScriptErrorReportingEnabled + ScriptErrorReportingRequireAuth = $testParams.ScriptErrorReportingRequireAuth + ScriptErrorReportingDelay = $testParams.ScriptErrorReportingDelay + } } + + It "returns false from the test method" { Test-TargetResource @testParams | Should Be $false } + + It "repairs the diagnostic configuration" { + Mock Set-SPDiagnosticConfig {} + Set-TargetResource @testParams + Assert-MockCalled Set-SPDiagnosticConfig + } + } + + Context "Diagnostic configuration needs updating and the InstallAccount option is used" { + $testParams.Add("InstallAccount", (New-Object System.Management.Automation.PSCredential ("username", (ConvertTo-SecureString "password" -AsPlainText -Force))) ) + + Mock Get-SPDiagnosticConfig { return @{ + AppAnalyticsAutomaticUploadEnabled = $testParams.AppAnalyticsAutomaticUploadEnabled + CustomerExperienceImprovementProgramEnabled = $testParams.CustomerExperienceImprovementProgramEnabled + ErrorReportingEnabled = $testParams.ErrorReportingEnabled + ErrorReportingAutomaticUploadEnabled = $testParams.ErrorReportingAutomaticUploadEnabled + DownloadErrorReportingUpdatesEnabled = $testParams.DownloadErrorReportingUpdatesEnabled + DaysToKeepLogs = $testParams.DaysToKeepLogs + LogMaxDiskSpaceUsageEnabled = $testParams.LogMaxDiskSpaceUsageEnabled + LogDiskSpaceUsageGB = 1 + LogLocation = $testParams.LogPath + LogCutInterval = $testParams.LogCutInterval + EventLogFloodProtectionEnabled = $testParams.EventLogFloodProtectionEnabled + EventLogFloodProtectionThreshold = $testParams.EventLogFloodProtectionThreshold + EventLogFloodProtectionTriggerPeriod = $testParams.EventLogFloodProtectionTriggerPeriod + EventLogFloodProtectionQuietPeriod = $testParams.EventLogFloodProtectionQuietPeriod + EventLogFloodProtectionNotifyInterval = $testParams.EventLogFloodProtectionNotifyInterval + ScriptErrorReportingEnabled = $testParams.ScriptErrorReportingEnabled + ScriptErrorReportingRequireAuth = $testParams.ScriptErrorReportingRequireAuth + ScriptErrorReportingDelay = $testParams.ScriptErrorReportingDelay + } } + + It "returns false from the test method" { + Test-TargetResource @testParams | Should Be $false + } + + It "repairs the diagnostic configuration" { + Mock Set-SPDiagnosticConfig {} + Set-TargetResource @testParams + Assert-MockCalled Set-SPDiagnosticConfig + } } } } \ No newline at end of file diff --git a/Tests/xSharePoint/xSharePoint.xSPDistributedCacheService.Tests.ps1 b/Tests/xSharePoint/xSharePoint.xSPDistributedCacheService.Tests.ps1 index 6fa0f575b..668ee24db 100644 --- a/Tests/xSharePoint/xSharePoint.xSPDistributedCacheService.Tests.ps1 +++ b/Tests/xSharePoint/xSharePoint.xSPDistributedCacheService.Tests.ps1 @@ -1,15 +1,13 @@ [CmdletBinding()] -param() - -if (!$PSScriptRoot) # $PSScriptRoot is not defined in 2.0 -{ - $PSScriptRoot = [System.IO.Path]::GetDirectoryName($MyInvocation.MyCommand.Path) -} +param( + [string] $SharePointCmdletModule = (Join-Path $PSScriptRoot "..\Stubs\SharePoint\15.0.4693.1000\Microsoft.SharePoint.PowerShell.psm1" -Resolve) +) $ErrorActionPreference = 'stop' Set-StrictMode -Version latest $RepoRoot = (Resolve-Path $PSScriptRoot\..\..).Path +$Global:CurrentSharePointStubModule = $SharePointCmdletModule $ModuleName = "MSFT_xSPDistributedCacheService" Import-Module (Join-Path $RepoRoot "Modules\xSharePoint\DSCResources\$ModuleName\$ModuleName.psm1") @@ -20,54 +18,106 @@ Describe "xSPDistributedCacheService" { Name = "AppFabricCache" Ensure = "Present" CacheSizeInMB = 1024 - ServiceAccount = New-Object System.Management.Automation.PSCredential ("username", (ConvertTo-SecureString "password" -AsPlainText -Force)) - InstallAccount = New-Object System.Management.Automation.PSCredential ("username", (ConvertTo-SecureString "password" -AsPlainText -Force)) - createFirewallRules = $true + ServiceAccount = "DOMAIN\user" + CreateFirewallRules = $true + } + Import-Module (Join-Path ((Resolve-Path $PSScriptRoot\..\..).Path) "Modules\xSharePoint") + + Mock Invoke-xSharePointCommand { + return Invoke-Command -ScriptBlock $ScriptBlock -ArgumentList $Arguments -NoNewScope } + + Import-Module $Global:CurrentSharePointStubModule -WarningAction SilentlyContinue + $RepoRoot = (Resolve-Path $PSScriptRoot\..\..).Path + Import-Module "$RepoRoot\Tests\Stubs\DistributedCache\DistributedCache.psm1" -WarningAction SilentlyContinue + Mock Use-CacheCluster { } + Mock Get-WmiObject { return @{ StartName = $testParams.ServiceAccount } } + Mock Get-NetFirewallRule { return @{} } + Mock Get-NetFirewallRule { return @{} } + Mock Enable-NetFirewallRule { } + Mock New-NetFirewallRule { } + Mock Disable-NetFirewallRule { } + Mock Add-SPDistributedCacheServiceInstance { } + Mock Update-SPDistributedCacheSize { } + Mock Get-SPManagedAccount { return @{} } + Mock Add-xSharePointUserToLocalAdmin { } + Mock Test-xSharePointUserIsLocalAdmin { return $false } + Mock Remove-xSharePointUserToLocalAdmin { } + Mock Restart-Service { } + Mock Get-SPFarm { return @{ + Services = @(@{ + Name = "AppFabricCachingService" + ProcessIdentity = New-Object Object | + Add-Member NoteProperty ManagedAccount $null -PassThru | + Add-Member NoteProperty CurrentIdentityType $null -PassThru | + Add-Member ScriptMethod Update {} -PassThru | + Add-Member ScriptMethod Deploy {} -PassThru + }) + } } + + Context "Distributed cache is not configured" { + Mock Use-CacheCluster { throw [Exception] "ERRPS001 Error in reading provider and connection string values." } + + It "returns null from the get method" { + (Get-TargetResource @testParams).Ensure | Should Be "Absent" + } - Context "Validate test method" { - It "Fails when no cache is present locally but should be" { - Mock -ModuleName $ModuleName Get-TargetResource { return @{} } + It "returns false from the test method" { Test-TargetResource @testParams | Should Be $false } - It "Passes when cache is present and size is correct" { - Mock -ModuleName $ModuleName Get-TargetResource { - return @{ - HostName = $env:COMPUTERNAME - Port = 22233 - CacheSizeInMB = $testParams.CacheSizeInMB - } - } + + It "Sets up the cache correctly" { + Set-TargetResource @testParams + Assert-MockCalled Add-SPDistributedCacheServiceInstance + } + } + + Context "Distributed cache is configured correctly and running as required" { + Mock Get-AFCacheHostConfiguration { return @{ + Size = $testParams.CacheSizeInMB + }} + Mock Get-CacheHost { return @{ PortNo = 22233 } } + + It "returns true from the test method" { Test-TargetResource @testParams | Should Be $true } - It "Fails when cache is present but size is not correct" { - Mock -ModuleName $ModuleName Get-TargetResource { - return @{ - HostName = $env:COMPUTERNAME - Port = 22233 - CacheSizeInMB = 1 - } - } + } + + Context "Distributed cache is configured but the required firewall rules are not deployed" { + Mock Get-NetFirewallRule { return $null } + + It "returns false from the test method" { Test-TargetResource @testParams | Should Be $false } - $testParams.ENsure = "Absent" + It "shuts down the distributed cache service" { + Set-TargetResource @testParams + Assert-MockCalled Enable-NetFirewallRule + } + } + + Context "Distributed cache is confgured but should not be running on this machine" { + $testParams.Ensure = "Absent" + Mock Get-AFCacheHostConfiguration { return @{ + Size = $testParams.CacheSizeInMB + }} + Mock Get-CacheHost { return @{ PortNo = 22233 } } + Mock Get-NetFirewallRule { return @{} } + Mock Get-SPServiceInstance { return @(New-Object Object | + Add-Member NoteProperty Service "SPDistributedCacheService Name=AppFabricCachingService" -PassThru | + Add-Member NoteProperty Server @{ Name = $env:COMPUTERNAME } -PassThru | + Add-Member ScriptMethod Delete {} -PassThru + )} + Mock Remove-SPDistributedCacheServiceInstance { } - It "Fails when cache is present but not should be" { - Mock -ModuleName $ModuleName Get-TargetResource { - return @{ - HostName = $env:COMPUTERNAME - Port = 22233 - CacheSizeInMB = 1 - } - } + It "returns false from the test method" { Test-TargetResource @testParams | Should Be $false } - It "Passes when cache is not present and should not be" { - Mock -ModuleName $ModuleName Get-TargetResource { - return @{ } - } - Test-TargetResource @testParams | Should Be $true + + It "shuts down the distributed cache service" { + Set-TargetResource @testParams + Assert-MockCalled Remove-SPDistributedCacheServiceInstance + Assert-MockCalled Disable-NetFirewallRule } } } diff --git a/Tests/xSharePoint/xSharePoint.xSPFeature.Tests.ps1 b/Tests/xSharePoint/xSharePoint.xSPFeature.Tests.ps1 index 08fe3b5b0..f43987dcf 100644 --- a/Tests/xSharePoint/xSharePoint.xSPFeature.Tests.ps1 +++ b/Tests/xSharePoint/xSharePoint.xSPFeature.Tests.ps1 @@ -1,5 +1,7 @@ [CmdletBinding()] -param() +param( + [string] $SharePointCmdletModule = (Join-Path $PSScriptRoot "..\Stubs\SharePoint\15.0.4693.1000\Microsoft.SharePoint.PowerShell.psm1" -Resolve) +) if (!$PSScriptRoot) # $PSScriptRoot is not defined in 2.0 { @@ -10,6 +12,7 @@ $ErrorActionPreference = 'stop' Set-StrictMode -Version latest $RepoRoot = (Resolve-Path $PSScriptRoot\..\..).Path +$Global:CurrentSharePointStubModule = $SharePointCmdletModule $ModuleName = "MSFT_xSPFeature" Import-Module (Join-Path $RepoRoot "Modules\xSharePoint\DSCResources\$ModuleName\$ModuleName.psm1") @@ -20,113 +23,128 @@ Describe "xSPFeature" { Name = "DemoFeature" FeatureScope = "Farm" Url = "http://site.sharepoint.com" - InstallAccount = New-Object System.Management.Automation.PSCredential ("username", (ConvertTo-SecureString "password" -AsPlainText -Force)) Ensure = "Present" } + Import-Module (Join-Path ((Resolve-Path $PSScriptRoot\..\..).Path) "Modules\xSharePoint") + + Mock Invoke-xSharePointCommand { + return Invoke-Command -ScriptBlock $ScriptBlock -ArgumentList $Arguments -NoNewScope + } + + Import-Module $Global:CurrentSharePointStubModule -WarningAction SilentlyContinue + Mock Enable-SPFeature {} + Mock Disable-SPFeature {} - Context "Validate test method" { - It "Throws when a feature is not installed in the farm" { - Mock -ModuleName $ModuleName Get-TargetResource { return @{} } - { Test-TargetResource @testParams } | Should Throw "Unable to locate feature" - } - It "Passes when a farm feature is enabaled and should be" { - Mock -ModuleName $ModuleName Get-TargetResource { - return @{ - Name = $testParams.Name - Id = [Guid]::NewGuid() - Version = "1.0" - Enabled = $true - } - } - Test-TargetResource @testParams | Should Be $true + Context "A feature that is not installed in the farm should be turned on" { + Mock Get-SPFeature { return $null } + + It "returns null from the get method" { + (Get-TargetResource @testParams).Ensure | Should Be "Absent" } - It "Fails when a farm feature is not enabaled and should be" { - Mock -ModuleName $ModuleName Get-TargetResource { - return @{ - Name = $testParams.Name - Id = [Guid]::NewGuid() - Version = "1.0" - Enabled = $false - } - } + + It "returns false from the test method" { Test-TargetResource @testParams | Should Be $false } + } - $testParams.Ensure = "Absent" + Context "A farm scoped feature is not enabled and should be" { + Mock Get-SPFeature { return $null } + $testParams.FeatureScope = "Farm" - It "Passes when a farm feature is not enabaled and should not be" { - Mock -ModuleName $ModuleName Get-TargetResource { - return @{ - Name = $testParams.Name - Id = [Guid]::NewGuid() - Version = "1.0" - Enabled = $false - } - } - Test-TargetResource @testParams | Should Be $true + It "returns null from the get method" { + (Get-TargetResource @testParams).Ensure | Should Be "Absent" } - It "Fails when a farm feature is enabaled and should not be" { - Mock -ModuleName $ModuleName Get-TargetResource { - return @{ - Name = $testParams.Name - Id = [Guid]::NewGuid() - Version = "1.0" - Enabled = $true - } - } + + It "returns false from the test method" { Test-TargetResource @testParams | Should Be $false } - $testParams.Ensure = "Present" + It "enables the feature in the set method" { + Set-TargetResource @testParams + + Assert-MockCalled Enable-SPFeature + } + } + + Context "A site collection scoped feature is not enabled and should be" { + Mock Get-SPFeature { return $null } $testParams.FeatureScope = "Site" - It "Passes when a site feature is enabaled and should be" { - Mock -ModuleName $ModuleName Get-TargetResource { - return @{ - Name = $testParams.Name - Id = [Guid]::NewGuid() - Version = "1.0" - Enabled = $true - } - } - Test-TargetResource @testParams | Should Be $true + It "returns null from the get method" { + (Get-TargetResource @testParams).Ensure | Should Be "Absent" } - It "Fails when a site feature is not enabaled and should be" { - Mock -ModuleName $ModuleName Get-TargetResource { - return @{ - Name = $testParams.Name - Id = [Guid]::NewGuid() - Version = "1.0" - Enabled = $false - } - } + + It "returns false from the test method" { Test-TargetResource @testParams | Should Be $false } + It "enables the feature in the set method" { + Set-TargetResource @testParams + + Assert-MockCalled Enable-SPFeature + } + } + + Context "A farm scoped feature is enabled and should not be" { + Mock Get-SPFeature { return @{} } + + $testParams.FeatureScope = "Farm" $testParams.Ensure = "Absent" - It "Passes when a site feature is not enabaled and should not be" { - Mock -ModuleName $ModuleName Get-TargetResource { - return @{ - Name = $testParams.Name - Id = [Guid]::NewGuid() - Version = "1.0" - Enabled = $false - } - } - Test-TargetResource @testParams | Should Be $true + It "returns null from the get method" { + (Get-TargetResource @testParams).Ensure | Should Be "Present" } - It "Fails when a site feature is enabaled and should not be" { - Mock -ModuleName $ModuleName Get-TargetResource { - return @{ - Name = $testParams.Name - Id = [Guid]::NewGuid() - Version = "1.0" - Enabled = $true - } - } + + It "returns false from the test method" { Test-TargetResource @testParams | Should Be $false } + + It "enables the feature in the set method" { + Set-TargetResource @testParams + + Assert-MockCalled Disable-SPFeature + } + } + + Context "A site collection scoped feature is enabled and should not be" { + Mock Get-SPFeature { return @{} } + + $testParams.FeatureScope = "Site" + + It "returns null from the get method" { + (Get-TargetResource @testParams).Ensure | Should Be "Present" + } + + It "returns false from the test method" { + Test-TargetResource @testParams | Should Be $false + } + + It "enables the feature in the set method" { + Set-TargetResource @testParams + + Assert-MockCalled Disable-SPFeature + } + } + + Context "A farm scoped feature is enabled and should be" { + Mock Get-SPFeature { return @{} } + + $testParams.FeatureScope = "Farm" + $testParams.Ensure = "Present" + + It "returns true from the test method" { + Test-TargetResource @testParams | Should Be $true + } + } + + Context "A site collection scoped feature is enabled and should be" { + Mock Get-SPFeature { return @{} } + + $testParams.FeatureScope = "Site" + + It "returns true from the test method" { + Test-TargetResource @testParams | Should Be $true + } } - } + } } \ No newline at end of file diff --git a/Tests/xSharePoint/xSharePoint.xSPInstall.Tests.ps1 b/Tests/xSharePoint/xSharePoint.xSPInstall.Tests.ps1 index 42b4f5b6e..51c791728 100644 --- a/Tests/xSharePoint/xSharePoint.xSPInstall.Tests.ps1 +++ b/Tests/xSharePoint/xSharePoint.xSPInstall.Tests.ps1 @@ -1,10 +1,7 @@ [CmdletBinding()] -param() - -if (!$PSScriptRoot) # $PSScriptRoot is not defined in 2.0 -{ - $PSScriptRoot = [System.IO.Path]::GetDirectoryName($MyInvocation.MyCommand.Path) -} +param( + [string] $SharePointCmdletModule = (Join-Path $PSScriptRoot "..\Stubs\SharePoint\15.0.4693.1000\Microsoft.SharePoint.PowerShell.psm1" -Resolve) +) $ErrorActionPreference = 'stop' Set-StrictMode -Version latest @@ -19,25 +16,69 @@ Describe "xSPInstall" { $testParams = @{ BinaryDir = "C:\SPInstall" ProductKey = "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX" + Ensure = "Present" + } + Import-Module (Join-Path ((Resolve-Path $PSScriptRoot\..\..).Path) "Modules\xSharePoint") + + Mock Invoke-xSharePointCommand { + return Invoke-Command -ScriptBlock $ScriptBlock -ArgumentList $Arguments -NoNewScope } + + Import-Module $Global:CurrentSharePointStubModule -WarningAction SilentlyContinue - Context "Validate test method" { - It "Passes when SharePoint is installed" { - Mock -ModuleName $ModuleName Get-TargetResource { - return @{ - SharePointInstalled = $true - } - } - Test-TargetResource @testParams | Should Be $true + Context "SharePoint binaries are not installed but should be" { + Mock Get-CimInstance { return $null } + + It "returns absent from the get method" { + (Get-TargetResource @testParams).Ensure | Should Be "Absent" } - It "Fails when SharePoint is not installed" { - Mock -ModuleName $ModuleName Get-TargetResource { - return @{ - SharePointInstalled = $false - } - } + + It "returns false from the test method" { Test-TargetResource @testParams | Should Be $false } } + + Context "SharePoint binaries are installed and should be" { + Mock Get-CimInstance { return @{} } + + It "returns present from the get method" { + (Get-TargetResource @testParams).Ensure | Should Be "Present" + } + + It "returns true from the test method" { + Test-TargetResource @testParams | Should Be $true + } + } + + Context "SharePoint installation executes as expected" { + Mock Start-Process { @{ ExitCode = 0 }} + + It "reboots the server after a successful installation" { + Set-TargetResource @testParams + $global:DSCMachineStatus | Should Be 1 + } + } + + Context "SharePoint installation fails" { + Mock Start-Process { @{ ExitCode = -1 }} + + It "throws an exception on an unknown exit code" { + { Set-TargetResource @testParams } | Should Throw + } + } + + $testParams.Ensure = "Absent" + + Context "SharePoint binaries are installed and should not be" { + Mock Get-CimInstance { return @{} } + + It "throws in the test method because uninstall is unsupported" { + { Test-TargetResource @testParams } | Should Throw + } + + It "throws in the set method because uninstall is unsupported" { + { Set-TargetResource @testParams } | Should Throw + } + } } } \ No newline at end of file diff --git a/Tests/xSharePoint/xSharePoint.xSPInstallPrereqs.Tests.ps1 b/Tests/xSharePoint/xSharePoint.xSPInstallPrereqs.Tests.ps1 index 6c458ae4e..e66f9f35c 100644 --- a/Tests/xSharePoint/xSharePoint.xSPInstallPrereqs.Tests.ps1 +++ b/Tests/xSharePoint/xSharePoint.xSPInstallPrereqs.Tests.ps1 @@ -1,80 +1,172 @@ [CmdletBinding()] -param() - -if (!$PSScriptRoot) # $PSScriptRoot is not defined in 2.0 -{ - $PSScriptRoot = [System.IO.Path]::GetDirectoryName($MyInvocation.MyCommand.Path) -} +param( + [string] $SharePointCmdletModule = (Join-Path $PSScriptRoot "..\Stubs\SharePoint\15.0.4693.1000\Microsoft.SharePoint.PowerShell.psm1" -Resolve) +) $ErrorActionPreference = 'stop' Set-StrictMode -Version latest $RepoRoot = (Resolve-Path $PSScriptRoot\..\..).Path +$Global:CurrentSharePointStubModule = $SharePointCmdletModule $ModuleName = "MSFT_xSPInstallPrereqs" Import-Module (Join-Path $RepoRoot "Modules\xSharePoint\DSCResources\$ModuleName\$ModuleName.psm1") - + Describe "xSPInstallPrereqs" { InModuleScope $ModuleName { $testParams = @{ InstallerPath = "C:\SPInstall" OnlineMode = $true + Ensure = "Present" + } + Import-Module (Join-Path ((Resolve-Path $PSScriptRoot\..\..).Path) "Modules\xSharePoint") + + Mock Invoke-xSharePointCommand { + return Invoke-Command -ScriptBlock $ScriptBlock -ArgumentList $Arguments -NoNewScope } - Context "Validate test method" { - It "Passes when all Prereqs are installed" { - Mock -ModuleName $ModuleName Get-TargetResource { - $returnValue = @{} - foreach($feature in "Net-Framework-Features,Web-Server,Web-WebServer,Web-Common-Http,Web-Static-Content,Web-Default-Doc,Web-Dir-Browsing,Web-Http-Errors,Web-App-Dev,Web-Asp-Net,Web-Net-Ext,Web-ISAPI-Ext,Web-ISAPI-Filter,Web-Health,Web-Http-Logging,Web-Log-Libraries,Web-Request-Monitor,Web-Http-Tracing,Web-Security,Web-Basic-Auth,Web-Windows-Auth,Web-Filtering,Web-Digest-Auth,Web-Performance,Web-Stat-Compression,Web-Dyn-Compression,Web-Mgmt-Tools,Web-Mgmt-Console,Web-Mgmt-Compat,Web-Metabase,Application-Server,AS-Web-Support,AS-TCP-Port-Sharing,AS-WAS-Support, AS-HTTP-Activation,AS-TCP-Activation,AS-Named-Pipes,AS-Net-Framework,WAS,WAS-Process-Model,WAS-NET-Environment,WAS-Config-APIs,Web-Lgcy-Scripting,Windows-Identity-Foundation,Server-Media-Foundation,Xps-Viewer".Split(",")) { - $returnValue.Add($feature, $true) - } - $returnValue.Add("Microsoft SQL Server 2008 R2 Native Client", $true) - $returnValue.Add("Microsoft Sync Framework Runtime v1.0 SP1 (x64)", $true) - $returnValue.Add("AppFabric 1.1 for Windows Server", $true) - $returnValue.Add("Microsoft Identity Extensions", $true) - $returnValue.Add("Active Directory Rights Management Services Client 2.0", $true) - $returnValue.Add("WCF Data Services 5.0 (for OData v3) Primary Components", $true) - $returnValue.Add("WCF Data Services 5.6.0 Runtime", $true) - $returnValue.Add("Microsoft CCR and DSS Runtime 2008 R3", $true) - return $returnValue - } - Test-TargetResource @testParams | Should Be $true + if ($null -eq (Get-Command Get-WindowsFeature -ErrorAction SilentlyContinue)) { + function Get-WindowsFeature() { } + } + + Import-Module $Global:CurrentSharePointStubModule -WarningAction SilentlyContinue + $versionBeingTested = (Get-Item $Global:CurrentSharePointStubModule).Directory.BaseName + $majorBuildNumber = $versionBeingTested.Substring(0, $versionBeingTested.IndexOf(".")) + + Mock Get-xSharePointAssemblyVersion { return $majorBuildNumber } + Mock Get-ChildItem { return $null } + + Context "Prerequisites are not installed but should be and are to be installed in online mode" { + Mock Get-WindowsFeature { @( @{ Name = "ExampleFeature"; Installed = $false}) } + Mock Get-CimInstance { return @() } + Mock Get-ChildItem { return @() } + + It "returns absent from the get method" { + (Get-TargetResource @testParams).Ensure | Should Be "Absent" } - It "Fails when there are Windows Features missing" { - Mock -ModuleName $ModuleName Get-TargetResource { - $returnValue = @{} - foreach($feature in "Net-Framework-Features,Web-Server,Web-WebServer,Web-Common-Http,Web-Static-Content,Web-Default-Doc,Web-Dir-Browsing,Web-Http-Errors,Web-App-Dev,Web-Asp-Net,Web-Net-Ext,Web-ISAPI-Ext,Web-ISAPI-Filter,Web-Health,Web-Http-Logging,Web-Log-Libraries,Web-Request-Monitor,Web-Http-Tracing,Web-Security,Web-Basic-Auth,Web-Windows-Auth,Web-Filtering,Web-Digest-Auth,Web-Performance,Web-Stat-Compression,Web-Dyn-Compression,Web-Mgmt-Tools,Web-Mgmt-Console,Web-Mgmt-Compat,Web-Metabase,Application-Server,AS-Web-Support,AS-TCP-Port-Sharing,AS-WAS-Support, AS-HTTP-Activation,AS-TCP-Activation,AS-Named-Pipes,AS-Net-Framework,WAS,WAS-Process-Model,WAS-NET-Environment,WAS-Config-APIs,Web-Lgcy-Scripting,Windows-Identity-Foundation,Server-Media-Foundation,Xps-Viewer".Split(",")) { - $returnValue.Add($feature, $false) - } - $returnValue.Add("Microsoft SQL Server 2008 R2 Native Client", $true) - $returnValue.Add("Microsoft Sync Framework Runtime v1.0 SP1 (x64)", $true) - $returnValue.Add("AppFabric 1.1 for Windows Server", $true) - $returnValue.Add("Microsoft Identity Extensions", $true) - $returnValue.Add("Active Directory Rights Management Services Client 2.0", $true) - $returnValue.Add("WCF Data Services 5.0 (for OData v3) Primary Components", $true) - $returnValue.Add("WCF Data Services 5.6.0 Runtime", $true) - $returnValue.Add("Microsoft CCR and DSS Runtime 2008 R3", $true) - return $returnValue - } + + It "returns false from the test method" { Test-TargetResource @testParams | Should Be $false } - It "Fails when there are software prereqs missing" { - Mock -ModuleName $ModuleName Get-TargetResource { - $returnValue = @{} - foreach($feature in "Net-Framework-Features,Web-Server,Web-WebServer,Web-Common-Http,Web-Static-Content,Web-Default-Doc,Web-Dir-Browsing,Web-Http-Errors,Web-App-Dev,Web-Asp-Net,Web-Net-Ext,Web-ISAPI-Ext,Web-ISAPI-Filter,Web-Health,Web-Http-Logging,Web-Log-Libraries,Web-Request-Monitor,Web-Http-Tracing,Web-Security,Web-Basic-Auth,Web-Windows-Auth,Web-Filtering,Web-Digest-Auth,Web-Performance,Web-Stat-Compression,Web-Dyn-Compression,Web-Mgmt-Tools,Web-Mgmt-Console,Web-Mgmt-Compat,Web-Metabase,Application-Server,AS-Web-Support,AS-TCP-Port-Sharing,AS-WAS-Support, AS-HTTP-Activation,AS-TCP-Activation,AS-Named-Pipes,AS-Net-Framework,WAS,WAS-Process-Model,WAS-NET-Environment,WAS-Config-APIs,Web-Lgcy-Scripting,Windows-Identity-Foundation,Server-Media-Foundation,Xps-Viewer".Split(",")) { - $returnValue.Add($feature, $false) - } - $returnValue.Add("Microsoft SQL Server 2008 R2 Native Client", $false) - $returnValue.Add("Microsoft Sync Framework Runtime v1.0 SP1 (x64)", $false) - $returnValue.Add("AppFabric 1.1 for Windows Server", $false) - $returnValue.Add("Microsoft Identity Extensions", $false) - $returnValue.Add("Active Directory Rights Management Services Client 2.0", $false) - $returnValue.Add("WCF Data Services 5.0 (for OData v3) Primary Components", $false) - $returnValue.Add("WCF Data Services 5.6.0 Runtime", $false) - $returnValue.Add("Microsoft CCR and DSS Runtime 2008 R3", $false) - return $returnValue - } - Test-TargetResource @testParams | Should Be $false + + It "Calls the prerequisite installer from the set method and records the need for a reboot" { + Mock Start-Process { return @{ ExitCode = 3010 } } + + Set-TargetResource @testParams + Assert-MockCalled Start-Process + } + + It "Calls the prerequisite installer from the set method and a pending reboot is preventing it from running" { + Mock Start-Process { return @{ ExitCode = 1001 } } + + Set-TargetResource @testParams + Assert-MockCalled Start-Process + } + + It "Calls the prerequisite installer from the set method and passes a successful installation" { + Mock Start-Process { return @{ ExitCode = 0 } } + + Set-TargetResource @testParams + Assert-MockCalled Start-Process + } + + It "Calls the prerequisite installer from the set method when the prerequisite installer is already running" { + Mock Start-Process { return @{ ExitCode = 1 } } + + { Set-TargetResource @testParams } | Should Throw "already running" + } + + It "Calls the prerequisite installer from the set method and invalid arguments are passed to the installer" { + Mock Start-Process { return @{ ExitCode = 2 } } + + { Set-TargetResource @testParams } | Should Throw "Invalid command line parameters" + } + + It "Calls the prerequisite installer from the set method and throws for unknown error codes" { + Mock Start-Process { return @{ ExitCode = -1 } } + + { Set-TargetResource @testParams } | Should Throw "unknown exit code" + } + } + + Context "Prerequisites are installed and should be" { + Mock Get-WindowsFeature { @( @{ Name = "ExampleFeature"; Installed = $true }) } + if ($majorBuildNumber -eq 15) { + Mock Get-CimInstance { return @( + @{ Name = "Microsoft CCR and DSS Runtime 2008 R3"} + @{ Name = "Microsoft Sync Framework Runtime v1.0 SP1 (x64)"} + @{ Name = "AppFabric 1.1 for Windows Server"} + @{ Name = "WCF Data Services 5.6.0 Runtime"} + @{ Name = "WCF Data Services 5.0 (for OData v3) Primary Components"} + @{ Name = "Microsoft SQL Server 2008 R2 Native Client"} + @{ Name = "Active Directory Rights Management Services Client 2.0"} + )} + } + if ($majorBuildNumber -eq 16) { + Mock Get-CimInstance { return @( + @{ Name = "Microsoft CCR and DSS Runtime 2008 R3"} + @{ Name = "Microsoft Sync Framework Runtime v1.0 SP1 (x64)"} + @{ Name = "AppFabric 1.1 for Windows Server"} + @{ Name = "WCF Data Services 5.6.0 Runtime"} + @{ Name = "Microsoft ODBC Driver 11 for SQL Server"} + @{ Name = "Microsoft Visual C++ 2013 x64 Minimum Runtime - 12.0.21005"} + @{ Name = "Microsoft Visual C++ 2013 x64 Additional Runtime - 12.0.21005"} + @{ Name = "Microsoft SQL Server 2012 Native Client"} + @{ Name = "Active Directory Rights Management Services Client 2.1"} + )} + } + Mock Get-ChildItem { return $null } + Mock Get-ChildItem { return @( + (New-Object Object | + Add-Member ScriptMethod GetValue { return "Microsoft Identity Extensions" } -PassThru) + ) } + + It "returns present from the get method" { + (Get-TargetResource @testParams).Ensure | Should Be "Present" + } + + It "returns true from the test method" { + Test-TargetResource @testParams | Should Be $true + } + } + + Context "Prerequisites are installed but should not be" { + $testParams.Ensure = "Absent" + + It "throws an exception from the set method" { + {Test-TargetResource @testParams} | Should Throw + } + + It "throws an exception from the set method" { + {Set-TargetResource @testParams} | Should Throw + } + } + + Context "Prerequisites are not installed but should be and are to be installed in offline mode" { + $testParams.OnlineMode = $false + $testParams.Ensure = "Present" + Mock Get-WindowsFeature { @( @{ Name = "ExampleFeature"; Installed = $false}) } + Mock Get-CimInstance { return @() } + Mock Get-ChildItem { return @() } + + It "throws an exception in the set method if required parameters are not set" { + {Set-TargetResource @testParams} | Should Throw + } + + if ($majorBuildNumber -eq 15) { + $requiredParams = @("SQLNCli","PowerShell","NETFX","IDFX","Sync","AppFabric","IDFX11","MSIPCClient","WCFDataServices","KB2671763","WCFDataServices56") + } + if ($majorBuildNumber -eq 16) { + $requiredParams = @("SQLNCli","Sync","AppFabric","IDFX11","MSIPCClient","WCFDataServices","KB2671763","WCFDataServices56","KB2898850","MSVCRT12") + } + $requiredParams | ForEach-Object { + $testParams.Add($_, "C:\fake\value.exe") + } + + It "does not throw an exception where the required parameters are included" { + Mock Start-Process { return @{ ExitCode = 0 } } + + {Set-TargetResource @testParams} | Should Not Throw } } } diff --git a/Tests/xSharePoint/xSharePoint.xSPJoinFarm.Tests.ps1 b/Tests/xSharePoint/xSharePoint.xSPJoinFarm.Tests.ps1 index 93eda2d79..91d3d969e 100644 --- a/Tests/xSharePoint/xSharePoint.xSPJoinFarm.Tests.ps1 +++ b/Tests/xSharePoint/xSharePoint.xSPJoinFarm.Tests.ps1 @@ -1,15 +1,13 @@ [CmdletBinding()] -param() - -if (!$PSScriptRoot) # $PSScriptRoot is not defined in 2.0 -{ - $PSScriptRoot = [System.IO.Path]::GetDirectoryName($MyInvocation.MyCommand.Path) -} +param( + [string] $SharePointCmdletModule = (Join-Path $PSScriptRoot "..\Stubs\SharePoint\15.0.4693.1000\Microsoft.SharePoint.PowerShell.psm1" -Resolve) +) $ErrorActionPreference = 'stop' Set-StrictMode -Version latest $RepoRoot = (Resolve-Path $PSScriptRoot\..\..).Path +$Global:CurrentSharePointStubModule = $SharePointCmdletModule $ModuleName = "MSFT_xSPJoinFarm" Import-Module (Join-Path $RepoRoot "Modules\xSharePoint\DSCResources\$ModuleName\$ModuleName.psm1") @@ -19,24 +17,84 @@ Describe "xSPJoinFarm" { $testParams = @{ FarmConfigDatabaseName = "SP_Config" DatabaseServer = "DatabaseServer\Instance" - FarmAccount = New-Object System.Management.Automation.PSCredential ("username", (ConvertTo-SecureString "password" -AsPlainText -Force)) - InstallAccount = New-Object System.Management.Automation.PSCredential ("username", (ConvertTo-SecureString "password" -AsPlainText -Force)) Passphrase = "passphrase" - WaitTime = 60 - WaitCount = 60 } + Import-Module (Join-Path ((Resolve-Path $PSScriptRoot\..\..).Path) "Modules\xSharePoint") + + Mock Invoke-xSharePointCommand { + return Invoke-Command -ScriptBlock $ScriptBlock -ArgumentList $Arguments -NoNewScope + } + + Import-Module $Global:CurrentSharePointStubModule -WarningAction SilentlyContinue + Mock Connect-SPConfigurationDatabase {} + Mock Install-SPHelpCollection {} + Mock Initialize-SPResourceSecurity {} + Mock Install-SPService {} + Mock Install-SPFeature {} + Mock New-SPCentralAdministration {} + Mock Install-SPApplicationContent {} + Mock Start-Service {} + Mock Start-Sleep {} + + $versionBeingTested = (Get-Item $Global:CurrentSharePointStubModule).Directory.BaseName + $majorBuildNumber = $versionBeingTested.Substring(0, $versionBeingTested.IndexOf(".")) + + Mock Get-xSharePointInstalledProductVersion { return @{ FileMajorPart = $majorBuildNumber } } + - Context "Validate test method" { - It "Fails when local server is not in a farm" { - Mock -ModuleName $ModuleName Get-TargetResource { return @{} } + Context "no farm is configured locally and a supported version of SharePoint is installed" { + Mock Get-SPFarm { throw "Unable to detect local farm" } + + It "the get method returns null when the farm is not configured" { + Get-TargetResource @testParams | Should BeNullOrEmpty + } + + It "returns false from the test method" { Test-TargetResource @testParams | Should Be $false } - It "Passes when local server is in a farm" { - Mock -ModuleName $ModuleName Get-TargetResource { - return @{ - FarmName = "SP_Config" - } - } + + It "calls the appropriate cmdlets in the set method" { + Set-TargetResource @testParams + switch ($majorBuildNumber) + { + 15 { + Assert-MockCalled Connect-SPConfigurationDatabase + } + 16 { + Assert-MockCalled Connect-SPConfigurationDatabase -ParameterFilter { $LocalServerRole -ne $null } + } + Default { + throw [Exception] "A supported version of SharePoint was not used in testing" + } + } + + } + } + + Context "no farm is configured locally and an unsupported version of SharePoint is installed on the server" { + Mock Get-xSharePointInstalledProductVersion { return @{ FileMajorPart = 14 } } + + It "throws when an unsupported version is installed and set is called" { + { Set-TargetResource @testParams } | Should throw + } + } + + Context "a farm exists locally" { + Mock Get-SPFarm { return @{ + DefaultServiceAccount = @{ Name = $testParams.FarmAccount.UserName } + Name = $testParams.FarmConfigDatabaseName + }} + Mock Get-SPDatabase { return @(@{ + Name = $testParams.FarmConfigDatabaseName + Type = "Configuration Database" + Server = @{ Name = $testParams.DatabaseServer } + })} + + It "the get method returns values when the farm is configured" { + Get-TargetResource @testParams | Should Not BeNullOrEmpty + } + + It "returns true from the test method" { Test-TargetResource @testParams | Should Be $true } } diff --git a/Tests/xSharePoint/xSharePoint.xSPManagedAccount.Tests.ps1 b/Tests/xSharePoint/xSharePoint.xSPManagedAccount.Tests.ps1 index d3a6d379e..3e48f6950 100644 --- a/Tests/xSharePoint/xSharePoint.xSPManagedAccount.Tests.ps1 +++ b/Tests/xSharePoint/xSharePoint.xSPManagedAccount.Tests.ps1 @@ -1,15 +1,13 @@ [CmdletBinding()] -param() - -if (!$PSScriptRoot) # $PSScriptRoot is not defined in 2.0 -{ - $PSScriptRoot = [System.IO.Path]::GetDirectoryName($MyInvocation.MyCommand.Path) -} +param( + [string] $SharePointCmdletModule = (Join-Path $PSScriptRoot "..\Stubs\SharePoint\15.0.4693.1000\Microsoft.SharePoint.PowerShell.psm1" -Resolve) +) $ErrorActionPreference = 'stop' Set-StrictMode -Version latest $RepoRoot = (Resolve-Path $PSScriptRoot\..\..).Path +$Global:CurrentSharePointStubModule = $SharePointCmdletModule $ModuleName = "MSFT_xSPManagedAccount" Import-Module (Join-Path $RepoRoot "Modules\xSharePoint\DSCResources\$ModuleName\$ModuleName.psm1") @@ -18,54 +16,85 @@ Describe "xSPManagedAccount" { InModuleScope $ModuleName { $testParams = @{ Account = New-Object System.Management.Automation.PSCredential ("username", (ConvertTo-SecureString "password" -AsPlainText -Force)) - InstallAccount = New-Object System.Management.Automation.PSCredential ("username", (ConvertTo-SecureString "password" -AsPlainText -Force)) EmailNotification = 7 PreExpireDays = 7 Schedule = "" AccountName = "username" } + Import-Module (Join-Path ((Resolve-Path $PSScriptRoot\..\..).Path) "Modules\xSharePoint") + + Mock Invoke-xSharePointCommand { + return Invoke-Command -ScriptBlock $ScriptBlock -ArgumentList $Arguments -NoNewScope + } + + Import-Module $Global:CurrentSharePointStubModule -WarningAction SilentlyContinue + Mock New-SPManagedAccount { } + Mock Set-SPManagedAccount { } + + Context "The specified managed account does not exist in the farm" { + Mock Get-SPManagedAccount { return $null } - Context "Validate test method" { - It "Fails when managed account does not exist in the farm" { - Mock -ModuleName $ModuleName Get-TargetResource { return @{} } + It "returns null from the get method" { + Get-TargetResource @testParams | Should BeNullOrEmpty + } + + It "returns false from the test method" { Test-TargetResource @testParams | Should Be $false } - It "Passes when the account exists and has correct settings" { - Mock -ModuleName $ModuleName Get-TargetResource { - return @{ - AccountName = $testParams.AccountName - AutomaticChange = $false - DaysBeforeChangeToEmail = $testParams.EmailNotification - DaysBeforeExpiryToChange = $testParams.PreExpireDays - ChangeSchedule = $testParams.Schedule - } - } - Test-TargetResource @testParams | Should Be $true + + It "calls the new and set methods from the set function" { + Set-TargetResource @testParams + Assert-MockCalled New-SPManagedAccount + Assert-MockCalled Set-SPManagedAccount } - It "Fails when the account exists and the schedule doesnt match" { - Mock -ModuleName $ModuleName Get-TargetResource { - return @{ - AccountName = $testParams.AccountName - AutomaticChange = $true - DaysBeforeChangeToEmail = $testParams.EmailNotification - DaysBeforeExpiryToChange = $testParams.PreExpireDays - ChangeSchedule = "Weekly Friday between 01:00 and 02:00" - } - } + } + + Context "The specified managed account exists but has an incorrect schedule" { + Mock Get-SPManagedAccount { return @{ + Username = $testParams.AccountName + DaysBeforeChangeToEmail = $testParams.EmailNotification + DaysBeforeExpiryToChange = $testParams.PreExpireDays + ChangeSchedule = "wrong schedule" + }} + + It "returns false from the test method" { Test-TargetResource @testParams | Should Be $false } - It "Fails when the account exists and the email settings dont match" { - Mock -ModuleName $ModuleName Get-TargetResource { - return @{ - AccountName = $testParams.AccountName - AutomaticChange = $true - DaysBeforeChangeToEmail = 0 - DaysBeforeExpiryToChange = 0 - ChangeSchedule = $testParams.Schedule - } - } + + It "calls the set methods from the set function" { + Set-TargetResource @testParams + Assert-MockCalled Set-SPManagedAccount + } + } + + Context "The specified managed account exists but has incorrect notifcation settings" { + Mock Get-SPManagedAccount { return @{ + Username = $testParams.AccountName + DaysBeforeChangeToEmail = 0 + DaysBeforeExpiryToChange = 0 + ChangeSchedule = $testParams.Schedule + }} + + It "returns false from the test method" { Test-TargetResource @testParams | Should Be $false } } + + Context "The specified managed account exists and is configured correctly" { + Mock Get-SPManagedAccount { return @{ + Username = $testParams.AccountName + DaysBeforeChangeToEmail = $testParams.EmailNotification + DaysBeforeExpiryToChange = $testParams.PreExpireDays + ChangeSchedule = $testParams.Schedule + }} + + It "returns the current values from the get method" { + Get-TargetResource @testParams | Should Not BeNullOrEmpty + } + + It "returns true from the test method" { + Test-TargetResource @testParams | Should Be $true + } + } } } \ No newline at end of file diff --git a/Tests/xSharePoint/xSharePoint.xSPManagedMetadataServiceApp.Tests.ps1 b/Tests/xSharePoint/xSharePoint.xSPManagedMetadataServiceApp.Tests.ps1 index f45ba8368..c9a035099 100644 --- a/Tests/xSharePoint/xSharePoint.xSPManagedMetadataServiceApp.Tests.ps1 +++ b/Tests/xSharePoint/xSharePoint.xSPManagedMetadataServiceApp.Tests.ps1 @@ -1,15 +1,13 @@ [CmdletBinding()] -param() - -if (!$PSScriptRoot) # $PSScriptRoot is not defined in 2.0 -{ - $PSScriptRoot = [System.IO.Path]::GetDirectoryName($MyInvocation.MyCommand.Path) -} +param( + [string] $SharePointCmdletModule = (Join-Path $PSScriptRoot "..\Stubs\SharePoint\15.0.4693.1000\Microsoft.SharePoint.PowerShell.psm1" -Resolve) +) $ErrorActionPreference = 'stop' Set-StrictMode -Version latest $RepoRoot = (Resolve-Path $PSScriptRoot\..\..).Path +$Global:CurrentSharePointStubModule = $SharePointCmdletModule $ModuleName = "MSFT_xSPManagedMetaDataServiceApp" Import-Module (Join-Path $RepoRoot "Modules\xSharePoint\DSCResources\$ModuleName\$ModuleName.psm1") @@ -18,35 +16,110 @@ Describe "xSPManagedMetaDataServiceApp" { InModuleScope $ModuleName { $testParams = @{ Name = "Managed Metadata Service App" - InstallAccount = New-Object System.Management.Automation.PSCredential ("username", (ConvertTo-SecureString "password" -AsPlainText -Force)) ApplicationPool = "SharePoint Service Applications" DatabaseServer = "databaseserver\instance" DatabaseName = "SP_MMS" } + Import-Module (Join-Path ((Resolve-Path $PSScriptRoot\..\..).Path) "Modules\xSharePoint") + + Mock Invoke-xSharePointCommand { + return Invoke-Command -ScriptBlock $ScriptBlock -ArgumentList $Arguments -NoNewScope + } + + Import-Module $Global:CurrentSharePointStubModule -WarningAction SilentlyContinue + + Context "When no service applications exist in the current farm" { + + Mock Get-SPServiceApplication { return $null } + Mock New-SPMetadataServiceApplication { return @{} } + Mock New-SPMetadataServiceApplicationProxy { return @{} } + + It "returns null from the Get method" { + Get-TargetResource @testParams | Should BeNullOrEmpty + Assert-MockCalled Get-SPServiceApplication -ParameterFilter { $Name -eq $testParams.Name } + } + + It "returns false when the Test method is called" { + Test-TargetResource @testParams | Should Be $false + } + + It "creates a new service application in the set method" { + Set-TargetResource @testParams + Assert-MockCalled New-SPMetadataServiceApplication + } + + $testParams.Add("InstallAccount", (New-Object System.Management.Automation.PSCredential ("username", (ConvertTo-SecureString "password" -AsPlainText -Force)))) + It "creates a new service application in the set method where InstallAccount is used" { + Set-TargetResource @testParams + Assert-MockCalled New-SPMetadataServiceApplication + } + $testParams.Remove("InstallAccount") + } + + Context "When service applications exist in the current farm but the specific MMS app does not" { - Context "Validate test method" { - It "Fails when MMS service app doesn't exist" { - Mock -ModuleName $ModuleName Get-TargetResource { return @{} } + Mock Get-SPServiceApplication { return @(@{ + TypeName = "Some other service app type" + }) } + + It "returns null from the Get method" { + Get-TargetResource @testParams | Should BeNullOrEmpty + Assert-MockCalled Get-SPServiceApplication -ParameterFilter { $Name -eq $testParams.Name } + } + + It "returns false when the Test method is called" { Test-TargetResource @testParams | Should Be $false } - It "Passes when the app exists and uses the correct app pool" { - Mock -ModuleName $ModuleName Get-TargetResource { - return @{ - Name = $testParams.Name - ApplicationPool = $testParams.ApplicationPool - } - } + } + + Context "When a service application exists and is configured correctly" { + Mock Get-SPServiceApplication { + return @(@{ + TypeName = "Managed Metadata Service" + DisplayName = $testParams.Name + ApplicationPool = @{ Name = $testParams.ApplicationPool } + Database = @{ + Name = $testParams.DatabaseName + Server = @{ Name = $testParams.DatabaseServer } + } + }) + } + + It "returns values from the get method" { + Get-TargetResource @testParams | Should Not BeNullOrEmpty + Assert-MockCalled Get-SPServiceApplication -ParameterFilter { $Name -eq $testParams.Name } + } + + It "returns true when the Test method is called" { Test-TargetResource @testParams | Should Be $true } - It "Fails when the app exists but uses the wrong app pool" { - Mock -ModuleName $ModuleName Get-TargetResource { - return @{ - Name = $testParams.Name - ApplicationPool = "wrong pool" - } - } + } + + Context "When a service application exists and the app pool is not configured correctly" { + Mock Get-SPServiceApplication { + return @(@{ + TypeName = "Managed Metadata Service" + DisplayName = $testParams.Name + ApplicationPool = @{ Name = "Wrong App Pool Name" } + Database = @{ + Name = $testParams.DatabaseName + Server = @{ Name = $testParams.DatabaseServer } + } + }) + } + Mock Get-SPServiceApplicationPool { return @{ Name = $testParams.ApplicationPool } } + Mock Set-SPMetadataServiceApplication { } + + It "returns false when the Test method is called" { Test-TargetResource @testParams | Should Be $false } + + It "calls the update service app cmdlet from the set method" { + Set-TargetResource @testParams + + Assert-MockCalled Get-SPServiceApplicationPool + Assert-MockCalled Set-SPMetadataServiceApplication -ParameterFilter { $ApplicationPool.Name -eq $testParams.ApplicationPool } + } } } } \ No newline at end of file diff --git a/Tests/xSharePoint/xSharePoint.xSPManagedPath.Tests.ps1 b/Tests/xSharePoint/xSharePoint.xSPManagedPath.Tests.ps1 index 2e55533e3..9be3120e4 100644 --- a/Tests/xSharePoint/xSharePoint.xSPManagedPath.Tests.ps1 +++ b/Tests/xSharePoint/xSharePoint.xSPManagedPath.Tests.ps1 @@ -1,15 +1,13 @@ [CmdletBinding()] -param() - -if (!$PSScriptRoot) # $PSScriptRoot is not defined in 2.0 -{ - $PSScriptRoot = [System.IO.Path]::GetDirectoryName($MyInvocation.MyCommand.Path) -} +param( + [string] $SharePointCmdletModule = (Join-Path $PSScriptRoot "..\Stubs\SharePoint\15.0.4693.1000\Microsoft.SharePoint.PowerShell.psm1" -Resolve) +) $ErrorActionPreference = 'stop' Set-StrictMode -Version latest $RepoRoot = (Resolve-Path $PSScriptRoot\..\..).Path +$Global:CurrentSharePointStubModule = $SharePointCmdletModule $ModuleName = "MSFT_xSPManagedPath" Import-Module (Join-Path $RepoRoot "Modules\xSharePoint\DSCResources\$ModuleName\$ModuleName.psm1") @@ -18,35 +16,77 @@ Describe "xSPManagedPath" { InModuleScope $ModuleName { $testParams = @{ WebAppUrl = "http://sites.sharepoint.com" - InstallAccount = New-Object System.Management.Automation.PSCredential ("username", (ConvertTo-SecureString "password" -AsPlainText -Force)) RelativeUrl = "teams" Explicit = $false HostHeader = $false } + Import-Module (Join-Path ((Resolve-Path $PSScriptRoot\..\..).Path) "Modules\xSharePoint") + + Mock Invoke-xSharePointCommand { + return Invoke-Command -ScriptBlock $ScriptBlock -ArgumentList $Arguments -NoNewScope + } + + Import-Module $Global:CurrentSharePointStubModule -WarningAction SilentlyContinue + Mock New-SPManagedPath { } + + Context "The managed path does not exist and should" { + Mock Get-SPManagedPath { return $null } - Context "Validate test method" { - It "Fails when path is not found" { - Mock -ModuleName $ModuleName Get-TargetResource { return @{} } + It "returns null from the get method" { + Get-TargetResource @testParams | Should BeNullOrEmpty + } + + It "returns false from the test method" { Test-TargetResource @testParams | Should Be $false } - It "Passes when the path is found and is the correct type" { - Mock -ModuleName $ModuleName Get-TargetResource { - return @{ - Name = $testParams.RelativeUrl - PathType = "WildcardInclusion" - } - } - Test-TargetResource @testParams | Should Be $true + + It "creates a host header path in the set method" { + Set-TargetResource @testParams + + Assert-MockCalled New-SPManagedPath + } + + $testParams.HostHeader = $true + It "creates a host header path in the set method" { + Set-TargetResource @testParams + + Assert-MockCalled New-SPManagedPath + } + $testParams.HostHeader = $false + + $testParams.Add("InstallAccount", (New-Object System.Management.Automation.PSCredential ("username", (ConvertTo-SecureString "password" -AsPlainText -Force)))) + It "creates a host header path in the set method where InstallAccount is used" { + Set-TargetResource @testParams + + Assert-MockCalled New-SPManagedPath } - It "Fails when the path is found and is not the correct type" { - Mock -ModuleName $ModuleName Get-TargetResource { - return @{ - Name = $testParams.RelativeUrl - PathType = "ExplicitInclusion" - } - } + $testParams.Remove("InstallAccount") + } + + Context "The path exists but is of the wrong type" { + Mock Get-SPManagedPath { return @{ + Name = $testParams.RelativeUrl + Type = "ExplicitInclusion" + } } + + It "returns false from the test method" { Test-TargetResource @testParams | Should Be $false } } + + Context "The path exists and is the correct type" { + Mock Get-SPManagedPath { return @{ + Name = $testParams.RelativeUrl + Type = "WildcardInclusion" + } } + + It "returns results from the get method" { + Get-TargetResource @testParams | Should Not BeNullOrEmpty + } + + It "returns true from the test method" { + Test-TargetResource @testParams | Should Be $true + } + } } } \ No newline at end of file diff --git a/Tests/xSharePoint/xSharePoint.xSPSearchServiceApp.Tests.ps1 b/Tests/xSharePoint/xSharePoint.xSPSearchServiceApp.Tests.ps1 index b965d9f8b..6137db92f 100644 --- a/Tests/xSharePoint/xSharePoint.xSPSearchServiceApp.Tests.ps1 +++ b/Tests/xSharePoint/xSharePoint.xSPSearchServiceApp.Tests.ps1 @@ -1,15 +1,13 @@ [CmdletBinding()] -param() - -if (!$PSScriptRoot) # $PSScriptRoot is not defined in 2.0 -{ - $PSScriptRoot = [System.IO.Path]::GetDirectoryName($MyInvocation.MyCommand.Path) -} +param( + [string] $SharePointCmdletModule = (Join-Path $PSScriptRoot "..\Stubs\SharePoint\15.0.4693.1000\Microsoft.SharePoint.PowerShell.psm1" -Resolve) +) $ErrorActionPreference = 'stop' Set-StrictMode -Version latest $RepoRoot = (Resolve-Path $PSScriptRoot\..\..).Path +$Global:CurrentSharePointStubModule = $SharePointCmdletModule $ModuleName = "MSFT_xSPSearchServiceApp" Import-Module (Join-Path $RepoRoot "Modules\xSharePoint\DSCResources\$ModuleName\$ModuleName.psm1") @@ -18,33 +16,122 @@ Describe "xSPSearchServiceApp" { InModuleScope $ModuleName { $testParams = @{ Name = "Search Service Application" - InstallAccount = New-Object System.Management.Automation.PSCredential ("username", (ConvertTo-SecureString "password" -AsPlainText -Force)) ApplicationPool = "SharePoint Search Services" } + Import-Module (Join-Path ((Resolve-Path $PSScriptRoot\..\..).Path) "Modules\xSharePoint") + + Mock Invoke-xSharePointCommand { + return Invoke-Command -ScriptBlock $ScriptBlock -ArgumentList $Arguments -NoNewScope + } + + Import-Module $Global:CurrentSharePointStubModule -WarningAction SilentlyContinue + + Context "When no service applications exist in the current farm" { + + Mock Get-SPServiceApplication { return $null } + Mock Get-SPEnterpriseSearchServiceInstance { return @{} } + Mock New-SPBusinessDataCatalogServiceApplication { } + Mock Start-SPEnterpriseSearchServiceInstance { } + Mock New-SPEnterpriseSearchServiceApplication { return @{} } + Mock New-SPEnterpriseSearchServiceApplicationProxy { } + Mock Set-SPEnterpriseSearchServiceApplication { } + + It "returns null from the Get method" { + Get-TargetResource @testParams | Should BeNullOrEmpty + Assert-MockCalled Get-SPServiceApplication -ParameterFilter { $Name -eq $testParams.Name } + } + + It "returns false when the Test method is called" { + Test-TargetResource @testParams | Should Be $false + } + + It "creates a new service application in the set method" { + Set-TargetResource @testParams + Assert-MockCalled New-SPEnterpriseSearchServiceApplication + } + + $testParams.Add("InstallAccount", (New-Object System.Management.Automation.PSCredential ("username", (ConvertTo-SecureString "password" -AsPlainText -Force)))) + It "creates a new service application in the set method where InstallAccount is used" { + Set-TargetResource @testParams + Assert-MockCalled New-SPEnterpriseSearchServiceApplication + } + $testParams.Remove("InstallAccount") + } + + Context "When service applications exist in the current farm but the specific search app does not" { + Mock Get-SPEnterpriseSearchServiceInstance { return @{} } + Mock New-SPBusinessDataCatalogServiceApplication { } + Mock Start-SPEnterpriseSearchServiceInstance { } + Mock New-SPEnterpriseSearchServiceApplication { return @{} } + Mock New-SPEnterpriseSearchServiceApplicationProxy { } + Mock Set-SPEnterpriseSearchServiceApplication { } + Mock Get-SPServiceApplication { return @(@{ + TypeName = "Some other service app type" + }) } + + It "returns null from the Get method" { + Get-TargetResource @testParams | Should BeNullOrEmpty + Assert-MockCalled Get-SPServiceApplication -ParameterFilter { $Name -eq $testParams.Name } + } - Context "Validate test method" { - It "Fails when service app is not found" { - Mock -ModuleName $ModuleName Get-TargetResource { return @{} } + It "returns false when the Test method is called" { Test-TargetResource @testParams | Should Be $false } - It "Passes when the path is found and is the correct type" { - Mock -ModuleName $ModuleName Get-TargetResource { - return @{ - Name = $testParams.Name - ApplicationPool = $testParams.ApplicationPool + + It "creates a new service application in the set method" { + Set-TargetResource @testParams + Assert-MockCalled New-SPEnterpriseSearchServiceApplication + } + } + + Context "When a service application exists and is configured correctly" { + Mock Get-SPServiceApplication { + return @(@{ + TypeName = "Search Service Application" + DisplayName = $testParams.Name + ApplicationPool = @{ Name = $testParams.ApplicationPool } + Database = @{ + Name = $testParams.DatabaseName + Server = @{ Name = $testParams.DatabaseServer } } - } + }) + } + + It "returns values from the get method" { + Get-TargetResource @testParams | Should Not BeNullOrEmpty + Assert-MockCalled Get-SPServiceApplication -ParameterFilter { $Name -eq $testParams.Name } + } + + It "returns true when the Test method is called" { Test-TargetResource @testParams | Should Be $true } - It "Fails when the service app is found but uses the wrong app pool" { - Mock -ModuleName $ModuleName Get-TargetResource { - return @{ - Name = $testParams.Name - ApplicationPool = "Wrong App Pool" + } + + Context "When a service application exists and the app pool is not configured correctly" { + Mock Get-SPServiceApplication { + return @(@{ + TypeName = "Search Service Application" + DisplayName = $testParams.Name + ApplicationPool = @{ Name = "Wrong App Pool Name" } + Database = @{ + Name = $testParams.DatabaseName + Server = @{ Name = $testParams.DatabaseServer } } - } + }) + } + Mock Get-SPServiceApplicationPool { return @{ Name = $testParams.ApplicationPool } } + Mock Set-SPEnterpriseSearchServiceApplication { } + + It "returns false when the Test method is called" { Test-TargetResource @testParams | Should Be $false } + + It "calls the update service app cmdlet from the set method" { + Set-TargetResource @testParams + + Assert-MockCalled Get-SPServiceApplicationPool + Assert-MockCalled Set-SPEnterpriseSearchServiceApplication + } } } } \ No newline at end of file diff --git a/Tests/xSharePoint/xSharePoint.xSPSecureStoreServiceApp.Tests.ps1 b/Tests/xSharePoint/xSharePoint.xSPSecureStoreServiceApp.Tests.ps1 new file mode 100644 index 000000000..4dd73048c --- /dev/null +++ b/Tests/xSharePoint/xSharePoint.xSPSecureStoreServiceApp.Tests.ps1 @@ -0,0 +1,155 @@ +[CmdletBinding()] +param( + [string] $SharePointCmdletModule = (Join-Path $PSScriptRoot "..\Stubs\SharePoint\15.0.4693.1000\Microsoft.SharePoint.PowerShell.psm1" -Resolve) +) + +$ErrorActionPreference = 'stop' +Set-StrictMode -Version latest + +$RepoRoot = (Resolve-Path $PSScriptRoot\..\..).Path +$Global:CurrentSharePointStubModule = $SharePointCmdletModule + +$ModuleName = "MSFT_xSPSecureStoreServiceApp" +Import-Module (Join-Path $RepoRoot "Modules\xSharePoint\DSCResources\$ModuleName\$ModuleName.psm1") + +Describe "xSPSecureStoreServiceApp" { + InModuleScope $ModuleName { + $testParams = @{ + Name = "Secure Store Service Application" + ApplicationPool = "SharePoint Search Services" + AuditingEnabled = $false + } + Import-Module (Join-Path ((Resolve-Path $PSScriptRoot\..\..).Path) "Modules\xSharePoint") + + Mock Invoke-xSharePointCommand { + return Invoke-Command -ScriptBlock $ScriptBlock -ArgumentList $Arguments -NoNewScope + } + + Import-Module $Global:CurrentSharePointStubModule -WarningAction SilentlyContinue + $versionBeingTested = (Get-Item $Global:CurrentSharePointStubModule).Directory.BaseName + $majorBuildNumber = $versionBeingTested.Substring(0, $versionBeingTested.IndexOf(".")) + + Mock Get-xSharePointInstalledProductVersion { return @{ FileMajorPart = $majorBuildNumber } } + + Context "When no service application exists in the current farm" { + + Mock Get-SPServiceApplication { return $null } + Mock New-SPSecureStoreServiceApplication { } + Mock New-SPSecureStoreServiceApplicationProxy { } + + It "returns null from the Get method" { + Get-TargetResource @testParams | Should BeNullOrEmpty + Assert-MockCalled Get-SPServiceApplication -ParameterFilter { $Name -eq $testParams.Name } + } + + It "returns false when the Test method is called" { + Test-TargetResource @testParams | Should Be $false + } + + It "creates a new service application in the set method" { + Set-TargetResource @testParams + Assert-MockCalled New-SPSecureStoreServiceApplication + } + + $testParams.Add("InstallAccount", (New-Object System.Management.Automation.PSCredential ("username", (ConvertTo-SecureString "password" -AsPlainText -Force)))) + It "creates a new service application in the set method where InstallAccount is used" { + Set-TargetResource @testParams + Assert-MockCalled New-SPSecureStoreServiceApplication + } + $testParams.Remove("InstallAccount") + + $testParams.Add("DatabaseName", "SP_SecureStore") + It "creates a new service application in the set method where parameters beyond the minimum required set" { + Set-TargetResource @testParams + Assert-MockCalled New-SPSecureStoreServiceApplication + } + $testParams.Remove("DatabaseName") + } + + Context "When service applications exist in the current farm but the specific search app does not" { + Mock Get-SPServiceApplication { return @(@{ + TypeName = "Some other service app type" + }) } + + It "returns null from the Get method" { + Get-TargetResource @testParams | Should BeNullOrEmpty + Assert-MockCalled Get-SPServiceApplication -ParameterFilter { $Name -eq $testParams.Name } + } + + It "returns false when the Test method is called" { + Test-TargetResource @testParams | Should Be $false + } + } + + Context "When a service application exists and is configured correctly" { + Mock Get-SPServiceApplication { + return @(@{ + TypeName = "Secure Store Service Application" + DisplayName = $testParams.Name + ApplicationPool = @{ Name = $testParams.ApplicationPool } + Database = @{ + Name = $testParams.DatabaseName + Server = @{ Name = $testParams.DatabaseServer } + } + }) + } + + It "returns values from the get method" { + Get-TargetResource @testParams | Should Not BeNullOrEmpty + Assert-MockCalled Get-SPServiceApplication -ParameterFilter { $Name -eq $testParams.Name } + } + + It "returns true when the Test method is called" { + Test-TargetResource @testParams | Should Be $true + } + } + + Context "When a service application exists and the app pool is not configured correctly" { + Mock Get-SPServiceApplication { + return @(@{ + TypeName = "Secure Store Service Application" + DisplayName = $testParams.Name + ApplicationPool = @{ Name = "Wrong App Pool Name" } + Database = @{ + Name = $testParams.DatabaseName + Server = @{ Name = $testParams.DatabaseServer } + } + }) + } + Mock Get-SPServiceApplicationPool { return @{ Name = $testParams.ApplicationPool } } + Mock Set-SPSecureStoreServiceApplication { } + + It "returns false when the Test method is called" { + Test-TargetResource @testParams | Should Be $false + } + + It "calls the update service app cmdlet from the set method" { + Set-TargetResource @testParams + + Assert-MockCalled Get-SPServiceApplicationPool + Assert-MockCalled Set-SPSecureStoreServiceApplication + } + } + + Context "When an unsupported version of SharePoint is installed" { + Mock Get-xSharePointInstalledProductVersion { return @{ FileMajorPart = 14 } } + Mock Get-SPServiceApplication { + return @(@{ + TypeName = "Secure Store Service Application" + DisplayName = $testParams.Name + ApplicationPool = @{ Name = "Wrong App Pool Name" } + Database = @{ + Name = $testParams.DatabaseName + Server = @{ Name = $testParams.DatabaseServer } + } + }) + } + Mock Get-SPServiceApplicationPool { return @{ Name = $testParams.ApplicationPool } } + Mock Set-SPSecureStoreServiceApplication { } + + It "the set method throws an exception" { + { Set-TargetResource @testParams } | Should Throw + } + } + } +} \ No newline at end of file diff --git a/Tests/xSharePoint/xSharePoint.xSPServiceAppPool.Tests.ps1 b/Tests/xSharePoint/xSharePoint.xSPServiceAppPool.Tests.ps1 index 015d24025..990578005 100644 --- a/Tests/xSharePoint/xSharePoint.xSPServiceAppPool.Tests.ps1 +++ b/Tests/xSharePoint/xSharePoint.xSPServiceAppPool.Tests.ps1 @@ -1,15 +1,13 @@ [CmdletBinding()] -param() - -if (!$PSScriptRoot) # $PSScriptRoot is not defined in 2.0 -{ - $PSScriptRoot = [System.IO.Path]::GetDirectoryName($MyInvocation.MyCommand.Path) -} +param( + [string] $SharePointCmdletModule = (Join-Path $PSScriptRoot "..\Stubs\SharePoint\15.0.4693.1000\Microsoft.SharePoint.PowerShell.psm1" -Resolve) +) $ErrorActionPreference = 'stop' Set-StrictMode -Version latest $RepoRoot = (Resolve-Path $PSScriptRoot\..\..).Path +$Global:CurrentSharePointStubModule = $SharePointCmdletModule $ModuleName = "MSFT_xSPServiceAppPool" Import-Module (Join-Path $RepoRoot "Modules\xSharePoint\DSCResources\$ModuleName\$ModuleName.psm1") @@ -18,32 +16,65 @@ Describe "xSPServiceAppPool" { InModuleScope $ModuleName { $testParams = @{ Name = "Service pool" - InstallAccount = New-Object System.Management.Automation.PSCredential ("username", (ConvertTo-SecureString "password" -AsPlainText -Force)) ServiceAccount = "DEMO\svcSPServiceApps" } + Import-Module (Join-Path ((Resolve-Path $PSScriptRoot\..\..).Path) "Modules\xSharePoint") + + Mock Invoke-xSharePointCommand { + return Invoke-Command -ScriptBlock $ScriptBlock -ArgumentList $Arguments -NoNewScope + } + + Import-Module $Global:CurrentSharePointStubModule -WarningAction SilentlyContinue + Mock New-SPServiceApplicationPool { } + Mock Set-SPServiceApplicationPool { } + + Context "A service account pool does not exist but should" { + Mock Get-SPServiceApplicationPool { return $null } - Context "Validate test method" { - It "Fails when service app pool is not found" { - Mock -ModuleName $ModuleName Get-TargetResource { return @{} } + It "returns null from the get method" { + Get-TargetResource @testParams | Should BeNullOrEmpty + } + + It "returns false from the test method" { Test-TargetResource @testParams | Should Be $false } - It "Passes when the pool exists and has the correct service account" { - Mock -ModuleName $ModuleName Get-TargetResource { - return @{ - Name = $testParams.Name - ProcessAccountName = $testParams.ServiceAccount - } - } - Test-TargetResource @testParams | Should Be $true + + It "calls the set method to create a new service account pool" { + Set-TargetResource @testParams + + Assert-MockCalled New-SPServiceApplicationPool } - It "Fails when the service app pool is found but uses the wrong service account" { - Mock -ModuleName $ModuleName Get-TargetResource { - return @{ - Name = $testParams.Name - ProcessAccountName = "Wrong account name" - } - } - Test-TargetResource @testParams | Should Be $false + } + + Context "A service account pool exists but has the wrong service account" { + Mock Get-SPServiceApplicationPool { return @{ + Name = $testParams.Name + ProcessAccountName = "WRONG\account" + }} + + It "returns false from the test method" { + Test-TargetResource @testParams | Should Be $false + } + + It "calls the set method to update the service account pool" { + Set-TargetResource @testParams + + Assert-MockCalled Set-SPServiceApplicationPool + } + } + + Context "A service account pool exists and uses the correct account" { + Mock Get-SPServiceApplicationPool { return @{ + Name = $testParams.Name + ProcessAccountName = $testParams.ServiceAccount + }} + + It "retrieves the status from the get method" { + Get-TargetResource @testParams | Should Not BeNullOrEmpty + } + + It "returns true from the test method" { + Test-TargetResource @testParams | Should Be $true } } } diff --git a/Tests/xSharePoint/xSharePoint.xSPServiceInstance.Tests.ps1 b/Tests/xSharePoint/xSharePoint.xSPServiceInstance.Tests.ps1 index 9d4816d92..d2016c7a9 100644 --- a/Tests/xSharePoint/xSharePoint.xSPServiceInstance.Tests.ps1 +++ b/Tests/xSharePoint/xSharePoint.xSPServiceInstance.Tests.ps1 @@ -1,15 +1,13 @@ [CmdletBinding()] -param() - -if (!$PSScriptRoot) # $PSScriptRoot is not defined in 2.0 -{ - $PSScriptRoot = [System.IO.Path]::GetDirectoryName($MyInvocation.MyCommand.Path) -} +param( + [string] $SharePointCmdletModule = (Join-Path $PSScriptRoot "..\Stubs\SharePoint\15.0.4693.1000\Microsoft.SharePoint.PowerShell.psm1" -Resolve) +) $ErrorActionPreference = 'stop' Set-StrictMode -Version latest $RepoRoot = (Resolve-Path $PSScriptRoot\..\..).Path +$Global:CurrentSharePointStubModule = $SharePointCmdletModule $ModuleName = "MSFT_xSPServiceInstance" Import-Module (Join-Path $RepoRoot "Modules\xSharePoint\DSCResources\$ModuleName\$ModuleName.psm1") @@ -18,54 +16,126 @@ Describe "xSPServiceInstance" { InModuleScope $ModuleName { $testParams = @{ Name = "Service pool" - InstallAccount = New-Object System.Management.Automation.PSCredential ("username", (ConvertTo-SecureString "password" -AsPlainText -Force)) Ensure = "Present" } + Import-Module (Join-Path ((Resolve-Path $PSScriptRoot\..\..).Path) "Modules\xSharePoint") + + Mock Invoke-xSharePointCommand { + return Invoke-Command -ScriptBlock $ScriptBlock -ArgumentList $Arguments -NoNewScope + } + + Import-Module $Global:CurrentSharePointStubModule -WarningAction SilentlyContinue + Mock Start-SPServiceInstance { } + Mock Stop-SPServiceInstance { } + + Context "The service instance is not running but should be" { + Mock Get-SPServiceInstance { return $null } - Context "Validate test method" { - It "Fails when service instance is not found at all" { - Mock -ModuleName $ModuleName Get-TargetResource { return @{} } + It "returns absent from the get method" { + (Get-TargetResource @testParams).Ensure | Should Be "Absent" + } + + It "returns false from the set method" { Test-TargetResource @testParams | Should Be $false } - It "Passes when the service instance is running and it should be" { - Mock -ModuleName $ModuleName Get-TargetResource { - return @{ - Name = $testParams.Name - Status = "Online" - } - } - Test-TargetResource @testParams | Should Be $true + } + + Context "The service instance is not running but should be" { + Mock Get-SPServiceInstance { return @( + @{ + TypeName = $testParams.Name + Status = "Disabled" + }) + } + + It "returns absent from the get method" { + (Get-TargetResource @testParams).Ensure | Should Be "Absent" } - It "Fails when the service instance isn't running and it should be" { - Mock -ModuleName $ModuleName Get-TargetResource { - return @{ - Name = $testParams.Name - Status = "Disabled" - } - } + + It "returns false from the set method" { Test-TargetResource @testParams | Should Be $false } - $testParams.Ensure = "Absent" + It "calls the start service call from the set method" { + Set-TargetResource @testParams - It "Fails when the service instance is running and it should not be" { - Mock -ModuleName $ModuleName Get-TargetResource { - return @{ - Name = $testParams.Name - Status = "Online" - } - } - Test-TargetResource @testParams | Should Be $false + Assert-MockCalled Start-SPServiceInstance + } + } + + Context "The service instance is running and should be" { + Mock Get-SPServiceInstance { return @( + @{ + TypeName = $testParams.Name + Status = "Online" + }) + } + + It "returns present from the get method" { + (Get-TargetResource @testParams).Ensure | Should Be "Present" + } + + It "returns true from the test method" { + Test-TargetResource @testParams | Should Be $true + } + } + + Context "An invalid service application is specified to start" { + Mock Get-SPServiceInstance { return $null } + + It "throws when the set method is called" { + { Set-TargetResource @testParams } | Should Throw + } + } + + $testParams.Ensure = "Absent" + + Context "The service instance is not running and should not be" { + Mock Get-SPServiceInstance { return @( + @{ + TypeName = $testParams.Name + Status = "Disabled" + }) + } + + It "returns absent from the get method" { + (Get-TargetResource @testParams).Ensure | Should Be "Absent" } - It "Passes when the service instance isn't running and it should not be" { - Mock -ModuleName $ModuleName Get-TargetResource { - return @{ - Name = $testParams.Name - Status = "Disabled" - } - } + + It "returns true from the test method" { Test-TargetResource @testParams | Should Be $true } } + + Context "The service instance is running and should not be" { + Mock Get-SPServiceInstance { return @( + @{ + TypeName = $testParams.Name + Status = "Online" + }) + } + + It "returns present from the get method" { + (Get-TargetResource @testParams).Ensure | Should Be "Present" + } + + It "returns false from the set method" { + Test-TargetResource @testParams | Should Be $false + } + + It "calls the stop service call from the set method" { + Set-TargetResource @testParams + + Assert-MockCalled Stop-SPServiceInstance + } + } + + Context "An invalid service application is specified to stop" { + Mock Get-SPServiceInstance { return $null } + + It "throws when the set method is called" { + { Set-TargetResource @testParams } | Should Throw + } + } } } \ No newline at end of file diff --git a/Tests/xSharePoint/xSharePoint.xSPSite.Tests.ps1 b/Tests/xSharePoint/xSharePoint.xSPSite.Tests.ps1 index ef8aaaccc..b0ecec56b 100644 --- a/Tests/xSharePoint/xSharePoint.xSPSite.Tests.ps1 +++ b/Tests/xSharePoint/xSharePoint.xSPSite.Tests.ps1 @@ -1,15 +1,13 @@ [CmdletBinding()] -param() - -if (!$PSScriptRoot) # $PSScriptRoot is not defined in 2.0 -{ - $PSScriptRoot = [System.IO.Path]::GetDirectoryName($MyInvocation.MyCommand.Path) -} +param( + [string] $SharePointCmdletModule = (Join-Path $PSScriptRoot "..\Stubs\SharePoint\15.0.4693.1000\Microsoft.SharePoint.PowerShell.psm1" -Resolve) +) $ErrorActionPreference = 'stop' Set-StrictMode -Version latest $RepoRoot = (Resolve-Path $PSScriptRoot\..\..).Path +$Global:CurrentSharePointStubModule = $SharePointCmdletModule $ModuleName = "MSFT_xSPSite" Import-Module (Join-Path $RepoRoot "Modules\xSharePoint\DSCResources\$ModuleName\$ModuleName.psm1") @@ -18,24 +16,139 @@ Describe "xSPSite" { InModuleScope $ModuleName { $testParams = @{ Url = "http://site.sharepoint.com" - InstallAccount = New-Object System.Management.Automation.PSCredential ("username", (ConvertTo-SecureString "password" -AsPlainText -Force)) OwnerAlias = "DEMO\User" } + Import-Module (Join-Path ((Resolve-Path $PSScriptRoot\..\..).Path) "Modules\xSharePoint") + + Mock Invoke-xSharePointCommand { + return Invoke-Command -ScriptBlock $ScriptBlock -ArgumentList $Arguments -NoNewScope + } + + Import-Module $Global:CurrentSharePointStubModule -WarningAction SilentlyContinue + + Mock New-SPSite { } - Context "Validate test method" { - It "Fails when site collection isn't found" { - Mock -ModuleName $ModuleName Get-TargetResource { return @{} } + Context "The site doesn't exist yet and should" { + Mock Get-SPSite { return $null } + + It "returns null from the get method" { + Get-TargetResource @testParams | Should BeNullOrEmpty + } + + It "returns false from the test method" { Test-TargetResource @testParams | Should Be $false } - It "Passes when the site collection is found" { - Mock -ModuleName $ModuleName Get-TargetResource { - return @{ - Url = $testParams.Url - OwnerAlias = $testParams.OwnerAlias - } - } + + It "creates a new site from the set method" { + Set-TargetResource @testParams + + Assert-MockCalled New-SPSite + } + } + + Context "The site exists and is a host named site collection" { + Mock Get-SPSite { return @{ + HostHeaderIsSiteName = $true + WebApplication = @{ + Url = $testParams.Url + UseClaimsAuthentication = $false + } + Url = $testParams.Url + Owner = @{ UserLogin = "DEMO\owner" } + }} + + It "returns the site data from the get method" { + Get-TargetResource @testParams | Should Not BeNullOrEmpty + } + + It "returns true from the test method" { + Test-TargetResource @testParams | Should Be $true + } + } + + Context "The site exists and uses claims authentication" { + Mock Get-SPSite { return @{ + HostHeaderIsSiteName = $false + WebApplication = @{ + Url = $testParams.Url + UseClaimsAuthentication = $true + } + Url = $testParams.Url + Owner = @{ UserLogin = "DEMO\owner" } + }} + Mock New-SPClaimsPrincipal { return @{ Value = $testParams.OwnerAlias }} + + It "returns the site data from the get method" { + Get-TargetResource @testParams | Should Not BeNullOrEmpty + } + + It "returns true from the test method" { + Test-TargetResource @testParams | Should Be $true + } + + Mock Get-SPSite { return @{ + HostHeaderIsSiteName = $false + WebApplication = @{ + Url = $testParams.Url + UseClaimsAuthentication = $true + } + Url = $testParams.Url + Owner = $null + }} + + It "returns the site data from the get method where a valid site collection admin does not exist" { + Get-TargetResource @testParams | Should Not BeNullOrEmpty + } + + Mock Get-SPSite { return @{ + HostHeaderIsSiteName = $false + WebApplication = @{ + Url = $testParams.Url + UseClaimsAuthentication = $true + } + Url = $testParams.Url + Owner = @{ UserLogin = "DEMO\owner" } + SecondaryContact = @{ UserLogin = "DEMO\secondary" } + }} + + It "returns the site data from the get method where a secondary site contact exists" { + Get-TargetResource @testParams | Should Not BeNullOrEmpty + } + } + + Context "The site exists and uses classic authentication" { + Mock Get-SPSite { return @{ + HostHeaderIsSiteName = $false + WebApplication = @{ + Url = $testParams.Url + UseClaimsAuthentication = $false + } + Url = $testParams.Url + Owner = @{ UserLogin = "DEMO\owner" } + }} + + It "returns the site data from the get method" { + Get-TargetResource @testParams | Should Not BeNullOrEmpty + } + + It "returns true from the test method" { Test-TargetResource @testParams | Should Be $true } + + Mock Get-SPSite { return @{ + HostHeaderIsSiteName = $false + WebApplication = @{ + Url = $testParams.Url + UseClaimsAuthentication = $false + } + Url = $testParams.Url + Owner = @{ UserLogin = "DEMO\owner" } + SecondaryContact = @{ UserLogin = "DEMO\secondary" } + }} + + It "returns the site data from the get method where a secondary site contact exists" { + Get-TargetResource @testParams | Should Not BeNullOrEmpty + } } } } \ No newline at end of file diff --git a/Tests/xSharePoint/xSharePoint.xSPStateServiceApp.Tests.ps1 b/Tests/xSharePoint/xSharePoint.xSPStateServiceApp.Tests.ps1 index 6a8979e8e..8175ebaca 100644 --- a/Tests/xSharePoint/xSharePoint.xSPStateServiceApp.Tests.ps1 +++ b/Tests/xSharePoint/xSharePoint.xSPStateServiceApp.Tests.ps1 @@ -1,15 +1,13 @@ [CmdletBinding()] -param() - -if (!$PSScriptRoot) # $PSScriptRoot is not defined in 2.0 -{ - $PSScriptRoot = [System.IO.Path]::GetDirectoryName($MyInvocation.MyCommand.Path) -} +param( + [string] $SharePointCmdletModule = (Join-Path $PSScriptRoot "..\Stubs\SharePoint\15.0.4693.1000\Microsoft.SharePoint.PowerShell.psm1" -Resolve) +) $ErrorActionPreference = 'stop' Set-StrictMode -Version latest $RepoRoot = (Resolve-Path $PSScriptRoot\..\..).Path +$Global:CurrentSharePointStubModule = $SharePointCmdletModule $ModuleName = "MSFT_xSPStateServiceApp" Import-Module (Join-Path $RepoRoot "Modules\xSharePoint\DSCResources\$ModuleName\$ModuleName.psm1") @@ -18,20 +16,48 @@ Describe "xSPStateServiceApp" { InModuleScope $ModuleName { $testParams = @{ Name = "State Service App" - InstallAccount = New-Object System.Management.Automation.PSCredential ("username", (ConvertTo-SecureString "password" -AsPlainText -Force)) + DatabaseName = "SP_StateService" + DatabaseServer = "SQL.test.domain" + DatabaseCredentials = New-Object System.Management.Automation.PSCredential ("username", (ConvertTo-SecureString "password" -AsPlainText -Force)) + } + Import-Module (Join-Path ((Resolve-Path $PSScriptRoot\..\..).Path) "Modules\xSharePoint") + + Mock Invoke-xSharePointCommand { + return Invoke-Command -ScriptBlock $ScriptBlock -ArgumentList $Arguments -NoNewScope } + + Import-Module $Global:CurrentSharePointStubModule -WarningAction SilentlyContinue + + Mock New-SPStateServiceDatabase { return @{} } + Mock New-SPStateServiceApplication { return @{} } + Mock New-SPStateServiceApplicationProxy { return @{} } - Context "Validate test method" { - It "Fails when state service app doesn't exist" { - Mock -ModuleName $ModuleName Get-TargetResource { return @{} } + Context "the service app doesn't exist and should" { + Mock Get-SPStateServiceApplication { return $null } + + It "returns null from the get method" { + Get-TargetResource @testParams | Should BeNullOrEmpty + } + + It "returns false from the get method" { Test-TargetResource @testParams | Should Be $false } - It "Passes when the state service app exists" { - Mock -ModuleName $ModuleName Get-TargetResource { - return @{ - Name = $testParams.Name - } - } + + It "creates a state service app from the set method" { + Set-TargetResource @testParams + + Assert-MockCalled New-SPStateServiceApplication + } + } + + Context "the service app exists and should" { + Mock Get-SPStateServiceApplication { return @{ DisplayName = $testParams.Name } } + + It "returns the current info from the get method" { + Get-TargetResource @testParams | Should Not BeNullOrEmpty + } + + It "returns true from the test method" { Test-TargetResource @testParams | Should Be $true } } diff --git a/Tests/xSharePoint/xSharePoint.xSPUserProfileServiceApp.Tests.ps1 b/Tests/xSharePoint/xSharePoint.xSPUserProfileServiceApp.Tests.ps1 index 4eda24896..97081f11b 100644 --- a/Tests/xSharePoint/xSharePoint.xSPUserProfileServiceApp.Tests.ps1 +++ b/Tests/xSharePoint/xSharePoint.xSPUserProfileServiceApp.Tests.ps1 @@ -1,51 +1,147 @@ [CmdletBinding()] -param() - -if (!$PSScriptRoot) # $PSScriptRoot is not defined in 2.0 -{ - $PSScriptRoot = [System.IO.Path]::GetDirectoryName($MyInvocation.MyCommand.Path) -} +param( + [string] $SharePointCmdletModule = (Join-Path $PSScriptRoot "..\Stubs\SharePoint\15.0.4693.1000\Microsoft.SharePoint.PowerShell.psm1" -Resolve) +) $ErrorActionPreference = 'stop' Set-StrictMode -Version latest $RepoRoot = (Resolve-Path $PSScriptRoot\..\..).Path - +$Global:CurrentSharePointStubModule = $SharePointCmdletModule + $ModuleName = "MSFT_xSPUserProfileServiceApp" Import-Module (Join-Path $RepoRoot "Modules\xSharePoint\DSCResources\$ModuleName\$ModuleName.psm1") Describe "xSPUserProfileServiceApp" { InModuleScope $ModuleName { $testParams = @{ - Name = "Managed Metadata Service App" - InstallAccount = New-Object System.Management.Automation.PSCredential ("username", (ConvertTo-SecureString "password" -AsPlainText -Force)) + Name = "User Profile Service App" ApplicationPool = "SharePoint Service Applications" - FarmAccount = New-Object System.Management.Automation.PSCredential ("username", (ConvertTo-SecureString "password" -AsPlainText -Force)) + FarmAccount = New-Object System.Management.Automation.PSCredential ("domain\username", (ConvertTo-SecureString "password" -AsPlainText -Force)) } + Import-Module (Join-Path ((Resolve-Path $PSScriptRoot\..\..).Path) "Modules\xSharePoint") + + Mock Invoke-xSharePointCommand { + return Invoke-Command -ScriptBlock $ScriptBlock -ArgumentList $Arguments -NoNewScope + } + + Import-Module $Global:CurrentSharePointStubModule -WarningAction SilentlyContinue + + Mock Get-SPFarm { return @{ + DefaultServiceAccount = @{ Name = $testParams.FarmAccount.Username } + }} + Mock New-SPProfileServiceApplication { return @{} } + Mock New-SPProfileServiceApplicationProxy { } + Mock Add-xSharePointUserToLocalAdmin { } + Mock Test-xSharePointUserIsLocalAdmin { return $false } + Mock Remove-xSharePointUserToLocalAdmin { } + Mock New-PSSession { return $null } -ModuleName "xSharePoint.Util" + + Context "When no service applications exist in the current farm" { + + Mock Get-SPServiceApplication { return $null } + + It "returns null from the Get method" { + Get-TargetResource @testParams | Should BeNullOrEmpty + Assert-MockCalled Get-SPServiceApplication -ParameterFilter { $Name -eq $testParams.Name } + } - Context "Validate test method" { - It "Fails when user profile service app doesn't exist" { - Mock -ModuleName $ModuleName Get-TargetResource { return @{} } + It "returns false when the Test method is called" { Test-TargetResource @testParams | Should Be $false } - It "Passes when the user profile service app exists and uses the correct app pool" { - Mock -ModuleName $ModuleName Get-TargetResource { - return @{ - Name = $testParams.Name - ApplicationPool = $testParams.ApplicationPool - } - } - Test-TargetResource @testParams | Should Be $true + + It "creates a new service application in the set method" { + Set-TargetResource @testParams + Assert-MockCalled New-SPProfileServiceApplication + } + + $testParams.Add("InstallAccount", (New-Object System.Management.Automation.PSCredential ("domain\username", (ConvertTo-SecureString "password" -AsPlainText -Force)))) + It "creates a new service application in the set method when InstallAccount is used" { + Set-TargetResource @testParams + Assert-MockCalled New-SPProfileServiceApplication + } + $testParams.Remove("InstallAccount") + } + + Context "When service applications exist in the current farm but not the specific user profile service app" { + + Mock Get-SPServiceApplication { return @(@{ + TypeName = "Some other service app type" + }) } + + It "returns null from the Get method" { + Get-TargetResource @testParams | Should BeNullOrEmpty + Assert-MockCalled Get-SPServiceApplication -ParameterFilter { $Name -eq $testParams.Name } } - It "Fails when the user profile service app exists but uses the wrong app pool" { - Mock -ModuleName $ModuleName Get-TargetResource { - return @{ - Name = $testParams.Name - ApplicationPool = "wrong pool" - } - } + + It "returns false when the Test method is called" { Test-TargetResource @testParams | Should Be $false } } + + Context "When a service application exists and is configured correctly" { + Mock Get-SPServiceApplication { + return @( + New-Object Object | + Add-Member NoteProperty TypeName "User Profile Service Application" -PassThru | + Add-Member NoteProperty DisplayName $testParams.Name -PassThru | + Add-Member NoteProperty ApplicationPool @{ Name = $testParams.ApplicationPool } -PassThru | + Add-Member ScriptMethod GetType { + New-Object Object | + Add-Member ScriptMethod GetProperties { + param($x) + return @( + (New-Object Object | + Add-Member NoteProperty Name "SocialDatabase" -PassThru | + Add-Member ScriptMethod GetValue { + param($x) + return @{ + Name = "SP_SocialDB" + Server = @{ Name = "SQL.domain.local" } + } + } -PassThru + ), + (New-Object Object | + Add-Member NoteProperty Name "ProfileDatabase" -PassThru | + Add-Member ScriptMethod GetValue { + return @{ + Name = "SP_ProfileDB" + Server = @{ Name = "SQL.domain.local" } + } + } -PassThru + ), + (New-Object Object | + Add-Member NoteProperty Name "SynchronizationDatabase" -PassThru | + Add-Member ScriptMethod GetValue { + return @{ + Name = "SP_ProfileSyncDB" + Server = @{ Name = "SQL.domain.local" } + } + } -PassThru + ) + ) + } -PassThru + } -PassThru -Force + ) + } + + It "returns values from the get method" { + Get-TargetResource @testParams | Should Not BeNullOrEmpty + Assert-MockCalled Get-SPServiceApplication -ParameterFilter { $Name -eq $testParams.Name } + } + + It "returns true when the Test method is called" { + Test-TargetResource @testParams | Should Be $true + } + + Mock Get-SPFarm { return @{ + DefaultServiceAccount = @{ Name = "WRONG\account" } + }} + + It "returns values from the get method where the farm account doesn't match" { + Get-TargetResource @testParams | Should Not BeNullOrEmpty + Assert-MockCalled Get-SPServiceApplication -ParameterFilter { $Name -eq $testParams.Name } + } + } } } \ No newline at end of file diff --git a/Tests/xSharePoint/xSharePoint.xSPUserProfileSyncService.Tests.ps1 b/Tests/xSharePoint/xSharePoint.xSPUserProfileSyncService.Tests.ps1 index 9f65a2153..e06fbe133 100644 --- a/Tests/xSharePoint/xSharePoint.xSPUserProfileSyncService.Tests.ps1 +++ b/Tests/xSharePoint/xSharePoint.xSPUserProfileSyncService.Tests.ps1 @@ -1,15 +1,13 @@ [CmdletBinding()] -param() - -if (!$PSScriptRoot) # $PSScriptRoot is not defined in 2.0 -{ - $PSScriptRoot = [System.IO.Path]::GetDirectoryName($MyInvocation.MyCommand.Path) -} +param( + [string] $SharePointCmdletModule = (Join-Path $PSScriptRoot "..\Stubs\SharePoint\15.0.4693.1000\Microsoft.SharePoint.PowerShell.psm1" -Resolve) +) $ErrorActionPreference = 'stop' Set-StrictMode -Version latest $RepoRoot = (Resolve-Path $PSScriptRoot\..\..).Path +$Global:CurrentSharePointStubModule = $SharePointCmdletModule $ModuleName = "MSFT_xSPUserProfileSyncService" Import-Module (Join-Path $RepoRoot "Modules\xSharePoint\DSCResources\$ModuleName\$ModuleName.psm1") @@ -17,53 +15,201 @@ Import-Module (Join-Path $RepoRoot "Modules\xSharePoint\DSCResources\$ModuleName Describe "xSPUserProfileSyncService" { InModuleScope $ModuleName { $testParams = @{ - UserProfileServiceAppName = "Managed Metadata Service App" - InstallAccount = New-Object System.Management.Automation.PSCredential ("username", (ConvertTo-SecureString "password" -AsPlainText -Force)) + UserProfileServiceAppName = "User Profile Service Service App" FarmAccount = New-Object System.Management.Automation.PSCredential ("username", (ConvertTo-SecureString "password" -AsPlainText -Force)) Ensure = "Present" } + Import-Module (Join-Path ((Resolve-Path $PSScriptRoot\..\..).Path) "Modules\xSharePoint") + + Import-Module $Global:CurrentSharePointStubModule -WarningAction SilentlyContinue + $versionBeingTested = (Get-Item $Global:CurrentSharePointStubModule).Directory.BaseName + $majorBuildNumber = $versionBeingTested.Substring(0, $versionBeingTested.IndexOf(".")) + Mock Get-xSharePointInstalledProductVersion { return @{ FileMajorPart = $majorBuildNumber } } - Context "Validate test method" { - It "Fails when user profile sync service doesn't exist" { - Mock -ModuleName $ModuleName Get-TargetResource { return @{} } - Test-TargetResource @testParams | Should Be $false - } - It "Passes when the user profile sync service is running and should be" { - Mock -ModuleName $ModuleName Get-TargetResource { - return @{ - Status = "Online" + Mock Invoke-xSharePointCommand { + return Invoke-Command -ScriptBlock $ScriptBlock -ArgumentList $Arguments -NoNewScope + } + + Import-Module $Global:CurrentSharePointStubModule -WarningAction SilentlyContinue + + Mock Get-SPFarm { return @{ + DefaultServiceAccount = @{ Name = $testParams.FarmAccount.Username } + }} + Mock Start-SPServiceInstance { } + Mock Stop-SPServiceInstance { } + Mock Restart-Service { } + Mock Add-xSharePointUserToLocalAdmin { } + Mock Test-xSharePointUserIsLocalAdmin { return $false } + Mock Remove-xSharePointUserToLocalAdmin { } + Mock New-PSSession { return $null } -ModuleName "xSharePoint.Util" + Mock Start-Sleep { } + + switch ($majorBuildNumber) { + 15 { + Context "User profile sync service is not found locally" { + Mock Get-SPServiceInstance { return $null } + + It "returns absent from the get method" { + $Global:xSharePointUPACheck = $false + (Get-TargetResource @testParams).Ensure | Should Be "Absent" + } + } + + Context "User profile sync service is not running and should be" { + Mock Get-SPServiceInstance { if ($Global:xSharePointUPACheck -eq $false) { + $Global:xSharePointUPACheck = $true + return @( @{ + Status = "Disabled" + ID = [Guid]::Parse("21946987-5163-418f-b781-2beb83aa191f") + UserProfileApplicationGuid = [Guid]::Empty + TypeName = "User Profile Synchronization Service" + }) + } else { + return @( @{ + Status = "Online" + ID = [Guid]::Parse("21946987-5163-418f-b781-2beb83aa191f") + UserProfileApplicationGuid = [Guid]::NewGuid() + TypeName = "User Profile Synchronization Service" + }) + } + } + Mock Get-SPServiceApplication { return @( + New-Object Object | + Add-Member NoteProperty ID ([Guid]::Parse("21946987-5163-418f-b781-2beb83aa191f")) -PassThru | + Add-Member NoteProperty TypeName "User Profile Service Application" -PassThru | + Add-Member ScriptMethod SetSynchronizationMachine { + param($computerName, $syncServiceID, $FarmUserName, $FarmPassword) + } -PassThru + )} + + It "returns absent from the get method" { + $Global:xSharePointUPACheck = $false + (Get-TargetResource @testParams).Ensure | Should Be "Absent" + } + + It "returns false from the test method" { + $Global:xSharePointUPACheck = $false + Test-TargetResource @testParams | Should Be $false + } + + It "calls the start service cmdlet from the set method" { + $Global:xSharePointUPACheck = $false + Set-TargetResource @testParams + + Assert-MockCalled Start-SPServiceInstance + } + + Mock Get-SPFarm { return @{ + DefaultServiceAccount = @{ Name = "WRONG\account" } + }} + + It "returns values from the get method where the farm account doesn't match" { + Get-TargetResource @testParams | Should Not BeNullOrEmpty + } + + $Global:xSharePointUPACheck = $false + Mock Get-SPServiceApplication { return $null } + It "throws in the set method if the user profile service app can't be found" { + { Set-TargetResource @testParams } | Should Throw + } + } + + Context "User profile sync service is running and should be" { + Mock Get-SPServiceInstance { return @( @{ + Status = "Online" + ID = [Guid]::Parse("21946987-5163-418f-b781-2beb83aa191f") + UserProfileApplicationGuid = [Guid]::NewGuid() + TypeName = "User Profile Synchronization Service" + }) } - } - Test-TargetResource @testParams | Should Be $true - } - It "Fails when the user profile sync service is not running and should be" { - Mock -ModuleName $ModuleName Get-TargetResource { - return @{ - Status = "Disabled" + + It "returns present from the get method" { + (Get-TargetResource @testParams).Ensure | Should Be "Present" + } + + It "returns true from the test method" { + Test-TargetResource @testParams | Should Be $true + } + } + + $testParams.Ensure = "Absent" + + Context "User profile sync service is running and shouldn't be" { + Mock Get-SPServiceInstance { if ($Global:xSharePointUPACheck -eq $false) { + $Global:xSharePointUPACheck = $true + return @( @{ + Status = "Online" + ID = [Guid]::Parse("21946987-5163-418f-b781-2beb83aa191f") + UserProfileApplicationGuid = [Guid]::NewGuid() + TypeName = "User Profile Synchronization Service" + }) + } else { + return @( @{ + Status = "Disabled" + ID = [Guid]::Empty + UserProfileApplicationGuid = [Guid]::Empty + TypeName = "User Profile Synchronization Service" + }) + } } - } - Test-TargetResource @testParams | Should Be $false - } - $testParams.Ensure = "Absent" + It "returns present from the get method" { + $Global:xSharePointUPACheck = $false + (Get-TargetResource @testParams).Ensure | Should Be "Present" + } - It "Fails when the user profile sync service is running and should not be" { - Mock -ModuleName $ModuleName Get-TargetResource { - return @{ - Status = "Online" + It "returns false from the test method" { + $Global:xSharePointUPACheck = $false + Test-TargetResource @testParams | Should Be $false + } + + It "calls the start service cmdlet from the set method" { + $Global:xSharePointUPACheck = $false + Set-TargetResource @testParams + + Assert-MockCalled Stop-SPServiceInstance + } + } + + Context "User profile sync service is not running and shouldn't be" { + Mock Get-SPServiceInstance { return @( @{ + Status = "Disabled" + ID = [Guid]::Parse("21946987-5163-418f-b781-2beb83aa191f") + UserProfileApplicationGuid = [Guid]::Empty + TypeName = "User Profile Synchronization Service" + }) } - } - Test-TargetResource @testParams | Should Be $false + + It "returns absent from the get method" { + (Get-TargetResource @testParams).Ensure | Should Be "Absent" + } + + It "returns true from the test method" { + Test-TargetResource @testParams | Should Be $true + } + } } - It "Passes when the user profile sync service is not running and should not be" { - Mock -ModuleName $ModuleName Get-TargetResource { - return @{ - Status = "Disabled" - } - } - Test-TargetResource @testParams | Should Be $true + 16 { + Context "All methods throw exceptions as user profile sync doesn't exist in 2016" { + It "throws on the get method" { + { Get-TargetResource @testParams } | Should Throw + } + + It "throws on the test method" { + { Test-TargetResource @testParams } | Should Throw + } + + It "throws on the set method" { + { Set-TargetResource @testParams } | Should Throw + } + } } - } + + + + + + } } \ No newline at end of file diff --git a/Tests/xSharePoint/xSharePoint.xSPWebApplication.Tests.ps1 b/Tests/xSharePoint/xSharePoint.xSPWebApplication.Tests.ps1 index 0fbc8ea68..9bcb0d0bf 100644 --- a/Tests/xSharePoint/xSharePoint.xSPWebApplication.Tests.ps1 +++ b/Tests/xSharePoint/xSharePoint.xSPWebApplication.Tests.ps1 @@ -1,15 +1,13 @@ [CmdletBinding()] -param() - -if (!$PSScriptRoot) # $PSScriptRoot is not defined in 2.0 -{ - $PSScriptRoot = [System.IO.Path]::GetDirectoryName($MyInvocation.MyCommand.Path) -} +param( + [string] $SharePointCmdletModule = (Join-Path $PSScriptRoot "..\Stubs\SharePoint\15.0.4693.1000\Microsoft.SharePoint.PowerShell.psm1" -Resolve) +) $ErrorActionPreference = 'stop' Set-StrictMode -Version latest $RepoRoot = (Resolve-Path $PSScriptRoot\..\..).Path +$Global:CurrentSharePointStubModule = $SharePointCmdletModule $ModuleName = "MSFT_xSPWebApplication" Import-Module (Join-Path $RepoRoot "Modules\xSharePoint\DSCResources\$ModuleName\$ModuleName.psm1") @@ -18,37 +16,139 @@ Describe "xSPWebApplication" { InModuleScope $ModuleName { $testParams = @{ Name = "Managed Metadata Service App" - InstallAccount = New-Object System.Management.Automation.PSCredential ("username", (ConvertTo-SecureString "password" -AsPlainText -Force)) ApplicationPool = "SharePoint Web Apps" ApplicationPoolAccount = "DEMO\ServiceAccount" Url = "http://sites.sharepoint.com" + AuthenticationMethod = "NTLM" + } + Import-Module (Join-Path ((Resolve-Path $PSScriptRoot\..\..).Path) "Modules\xSharePoint") + + Mock Invoke-xSharePointCommand { + return Invoke-Command -ScriptBlock $ScriptBlock -ArgumentList $Arguments -NoNewScope } + + Import-Module $Global:CurrentSharePointStubModule -WarningAction SilentlyContinue + + Mock New-SPAuthenticationProvider { } + Mock New-SPWebApplication { } + + Context "The web application that uses NTLM doesn't exist but should" { + Mock Get-SPWebApplication { return $null } + + It "returns null from the get method" { + Get-TargetResource @testParams | Should BeNullOrEmpty + } - Context "Validate test method" { - It "Fails when web app doesn't exist" { - Mock -ModuleName $ModuleName Get-TargetResource { return @{} } + It "returns false from the test method" { Test-TargetResource @testParams | Should Be $false } - It "Passes when the web app exists and has correct settings" { - Mock -ModuleName $ModuleName Get-TargetResource { - return @{ - Name = $testParams.Name - ApplicationPool = $testParams.ApplicationPool - ApplicationPoolAccount = $testParams.ApplicationPoolAccount - } - } - Test-TargetResource @testParams | Should Be $true + + It "calls the new cmdlet from the set method" { + Set-TargetResource @testParams + + Assert-MockCalled New-SPWebApplication + Assert-MockCalled New-SPAuthenticationProvider -ParameterFilter { $DisableKerberos -eq $true } + } + + $testParams.Add("InstallAccount", (New-Object System.Management.Automation.PSCredential ("username", (ConvertTo-SecureString "password" -AsPlainText -Force)))) + It "calls the new cmdlet from the set method where InstallAccount is used" { + Set-TargetResource @testParams + + Assert-MockCalled New-SPWebApplication + Assert-MockCalled New-SPAuthenticationProvider -ParameterFilter { $DisableKerberos -eq $true } + } + $testParams.Remove("InstallAccount") + + $testParams.Add("AllowAnonymous", $true) + It "calls the new cmdlet from the set where anonymous authentication is requested" { + Set-TargetResource @testParams + + Assert-MockCalled New-SPWebApplication + Assert-MockCalled New-SPAuthenticationProvider -ParameterFilter { $DisableKerberos -eq $true } + } + $testParams.Remove("AllowAnonymous") + } + + $testParams.AuthenticationMethod = "Kerberos" + + Context "The web application that uses Kerberos doesn't exist but should" { + Mock Get-SPWebApplication { return $null } + + It "returns null from the get method" { + Get-TargetResource @testParams | Should BeNullOrEmpty } - It "Fails when the web app exists and has the wrong app pool" { - Mock -ModuleName $ModuleName Get-TargetResource { - return @{ - Name = $testParams.Name - ApplicationPool = "Wrong app pool" - ApplicationPoolAccount = $testParams.ApplicationPoolAccount - } - } + + It "returns false from the test method" { Test-TargetResource @testParams | Should Be $false } + + It "calls the new cmdlet from the set method" { + Set-TargetResource @testParams + + Assert-MockCalled New-SPWebApplication + } + } + + $testParams.AuthenticationMethod = "NTLM" + + Context "The web appliation does exist and should that uses NTLM" { + Mock Get-SPAuthenticationProvider { return @{ DisableKerberos = $true; AllowAnonymous = $false } } + Mock Get-SPWebApplication { return @(@{ + DisplayName = $testParams.Name + ApplicationPool = @{ + Name = $testParams.ApplicationPool + Username = $testParams.ApplicationPoolAccount + } + ContentDatabases = @( + @{ + Name = "SP_Content_01" + Server = "sql.domain.local" + } + ) + IisSettings = @( + @{ Path = "C:\inetpub\wwwroot\something" } + ) + Url = $testParams.Url + })} + + It "returns the current data from the get method" { + Get-TargetResource @testParams | Should Not BeNullOrEmpty + } + + It "returns true from the test method" { + Test-TargetResource @testParams | Should Be $true + } + } + + $testParams.AuthenticationMethod = "Kerberos" + + Context "The web appliation does exist and should that uses Kerberos" { + Mock Get-SPAuthenticationProvider { return @{ DisableKerberos = $false; AllowAnonymous = $false } } + Mock Get-SPWebApplication { return @(@{ + DisplayName = $testParams.Name + ApplicationPool = @{ + Name = $testParams.ApplicationPool + Username = $testParams.ApplicationPoolAccount + } + ContentDatabases = @( + @{ + Name = "SP_Content_01" + Server = "sql.domain.local" + } + ) + IisSettings = @( + @{ Path = "C:\inetpub\wwwroot\something" } + ) + Url = $testParams.Url + })} + + It "returns the current data from the get method" { + Get-TargetResource @testParams | Should Not BeNullOrEmpty + } + + It "returns true from the test method" { + Test-TargetResource @testParams | Should Be $true + } } } } \ No newline at end of file diff --git a/Tests/xSharePoint/xSharePoint.xSPusageApplication.Tests.ps1 b/Tests/xSharePoint/xSharePoint.xSPusageApplication.Tests.ps1 index b5767a52a..b95d44197 100644 --- a/Tests/xSharePoint/xSharePoint.xSPusageApplication.Tests.ps1 +++ b/Tests/xSharePoint/xSharePoint.xSPusageApplication.Tests.ps1 @@ -1,15 +1,13 @@ [CmdletBinding()] -param() - -if (!$PSScriptRoot) # $PSScriptRoot is not defined in 2.0 -{ - $PSScriptRoot = [System.IO.Path]::GetDirectoryName($MyInvocation.MyCommand.Path) -} +param( + [string] $SharePointCmdletModule = (Join-Path $PSScriptRoot "..\Stubs\SharePoint\15.0.4693.1000\Microsoft.SharePoint.PowerShell.psm1" -Resolve) +) $ErrorActionPreference = 'stop' Set-StrictMode -Version latest $RepoRoot = (Resolve-Path $PSScriptRoot\..\..).Path +$Global:CurrentSharePointStubModule = $SharePointCmdletModule $ModuleName = "MSFT_xSPUsageApplication" Import-Module (Join-Path $RepoRoot "Modules\xSharePoint\DSCResources\$ModuleName\$ModuleName.psm1") @@ -17,73 +15,147 @@ Import-Module (Join-Path $RepoRoot "Modules\xSharePoint\DSCResources\$ModuleName Describe "xSPUsageApplication" { InModuleScope $ModuleName { $testParams = @{ - Name = "Managed Metadata Service App" - InstallAccount = New-Object System.Management.Automation.PSCredential ("username", (ConvertTo-SecureString "password" -AsPlainText -Force)) + Name = "Usage Service App" UsageLogCutTime = 60 UsageLogLocation = "L:\UsageLogs" - UsageLogMaxFileSize = 1024 + UsageLogMaxFileSizeKB = 1024 UsageLogMaxSpaceGB = 10 + DatabaseName = "SP_Usage" + DatabaseServer = "sql.test.domain" + DatabaseUsername = "user" + DatabasePassword = "password" + FailoverDatabaseServer = "anothersql.test.domain" + } + Import-Module (Join-Path ((Resolve-Path $PSScriptRoot\..\..).Path) "Modules\xSharePoint") + + Mock Invoke-xSharePointCommand { + return Invoke-Command -ScriptBlock $ScriptBlock -ArgumentList $Arguments -NoNewScope } + + Import-Module $Global:CurrentSharePointStubModule -WarningAction SilentlyContinue + + Mock New-SPUsageApplication { } + Mock Set-SPUsageService { } + Mock Get-SPUsageService { return @{ + UsageLogCutTime = $testParams.UsageLogCutTime + UsageLogDir = $testParams.UsageLogLocation + UsageLogMaxFileSize = ($testParams.UsageLogMaxFileSizeKB * 1024) + UsageLogMaxSpaceGB = $testParams.UsageLogMaxSpaceGB + }} + + Context "When no service applications exist in the current farm" { + + Mock Get-SPServiceApplication { return $null } + + It "returns null from the Get method" { + Get-TargetResource @testParams | Should BeNullOrEmpty + Assert-MockCalled Get-SPServiceApplication -ParameterFilter { $Name -eq $testParams.Name } + } - Context "Validate test method" { - It "Fails when state service app doesn't exist" { - Mock -ModuleName $ModuleName Get-TargetResource { return @{} } + It "returns false when the Test method is called" { Test-TargetResource @testParams | Should Be $false } - It "Passes when the state service app exists and settings are corrent" { - Mock -ModuleName $ModuleName Get-TargetResource { - return @{ - Name = $testParams.Name - UsageLogCutTime = $testParams.UsageLogCutTime - UsageLogDir = $testParams.UsageLogLocation - UsageLogMaxFileSize = $testParams.UsageLogMaxFileSize - UsageLogMaxSpaceGB = $testParams.UsageLogMaxSpaceGB - } - } - Test-TargetResource @testParams | Should Be $true + + It "creates a new service application in the set method" { + Set-TargetResource @testParams + Assert-MockCalled New-SPUsageApplication } - It "Fails when the state service app exists and settings are wrong" { - Mock -ModuleName $ModuleName Get-TargetResource { - return @{ - Name = $testParams.Name - UsageLogCutTime = $testParams.UsageLogCutTime - UsageLogDir = "C:\WrongPath" - UsageLogMaxFileSize = $testParams.UsageLogMaxFileSize - UsageLogMaxSpaceGB = $testParams.UsageLogMaxSpaceGB - } - } - Test-TargetResource @testParams | Should Be $false - Mock -ModuleName $ModuleName Get-TargetResource { - return @{ - Name = $testParams.Name - UsageLogCutTime = 0 - UsageLogDir = $testParams.UsageLogLocation - UsageLogMaxFileSize = $testParams.UsageLogMaxFileSize - UsageLogMaxSpaceGB = $testParams.UsageLogMaxSpaceGB - } - } + } + + Context "When service applications exist in the current farm but not the specific usage service app" { + + Mock Get-SPServiceApplication { return @(@{ + TypeName = "Some other service app type" + }) } + + It "returns null from the Get method" { + Get-TargetResource @testParams | Should BeNullOrEmpty + Assert-MockCalled Get-SPServiceApplication -ParameterFilter { $Name -eq $testParams.Name } + } + + It "returns false when the Test method is called" { Test-TargetResource @testParams | Should Be $false - Mock -ModuleName $ModuleName Get-TargetResource { - return @{ - Name = $testParams.Name - UsageLogCutTime = $testParams.UsageLogCutTime - UsageLogDir = $testParams.UsageLogLocation - UsageLogMaxFileSize = 0 - UsageLogMaxSpaceGB = $testParams.UsageLogMaxSpaceGB - } - } + } + } + + Context "When a service application exists and is configured correctly" { + Mock Get-SPServiceApplication { + return @(@{ + TypeName = "Usage and Health Data Collection Service Application" + DisplayName = $testParams.Name + UsageDatabase = @{ + Name = $testParams.DatabaseName + Server = @{ Name = $testParams.DatabaseServer } + } + }) + } + + It "returns values from the get method" { + Get-TargetResource @testParams | Should Not BeNullOrEmpty + Assert-MockCalled Get-SPServiceApplication -ParameterFilter { $Name -eq $testParams.Name } + } + + It "returns true when the Test method is called" { + Test-TargetResource @testParams | Should Be $true + } + } + + Context "When a service application exists and log path are not configured correctly" { + Mock Get-SPServiceApplication { + return @(@{ + TypeName = "Usage and Health Data Collection Service Application" + DisplayName = $testParams.Name + UsageDatabase = @{ + Name = $testParams.DatabaseName + Server = @{ Name = $testParams.DatabaseServer } + } + }) + } + Mock Get-SPUsageService { return @{ + UsageLogCutTime = $testParams.UsageLogCutTime + UsageLogDir = "C:\Wrong\Location" + UsageLogMaxFileSize = ($testParams.UsageLogMaxFileSizeKB * 1024) + UsageLogMaxSpaceGB = $testParams.UsageLogMaxSpaceGB + }} + + It "returns false when the Test method is called" { Test-TargetResource @testParams | Should Be $false - Mock -ModuleName $ModuleName Get-TargetResource { - return @{ - Name = $testParams.Name - UsageLogCutTime = $testParams.UsageLogCutTime - UsageLogDir = $testParams.UsageLogLocation - UsageLogMaxFileSize = $testParams.UsageLogMaxFileSize - UsageLogMaxSpaceGB = 0 - } - } + } + + It "calls the update service app cmdlet from the set method" { + Set-TargetResource @testParams + + Assert-MockCalled Set-SPUsageService + } + } + + Context "When a service application exists and log size is not configured correctly" { + Mock Get-SPServiceApplication { + return @(@{ + TypeName = "Usage and Health Data Collection Service Application" + DisplayName = $testParams.Name + UsageDatabase = @{ + Name = $testParams.DatabaseName + Server = @{ Name = $testParams.DatabaseServer } + } + }) + } + Mock Get-SPUsageService { return @{ + UsageLogCutTime = $testParams.UsageLogCutTime + UsageLogDir = $testParams.UsageLogLocation + UsageLogMaxFileSize = ($testParams.UsageLogMaxFileSizeKB * 1024) + UsageLogMaxSpaceGB = 1 + }} + + It "returns false when the Test method is called" { Test-TargetResource @testParams | Should Be $false } + + It "calls the update service app cmdlet from the set method" { + Set-TargetResource @testParams + + Assert-MockCalled Set-SPUsageService + } } } } \ No newline at end of file diff --git a/appveyor.yml b/appveyor.yml index 43d19fba6..f37a60a92 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -1,4 +1,4 @@ -version: 0.5.{build}.0 +version: 0.7.{build}.0 install: - cinst -y pester @@ -12,7 +12,9 @@ build: off test_script: - ps: | $testResultsFile = ".\TestsResults.xml" - $res = Invoke-Pester -OutputFormat NUnitXml -OutputFile $testResultsFile -PassThru + $testCoverageFiles = @() + Import-Module "$env:APPVEYOR_BUILD_FOLDER\Tests\xSharePoint.TestHarness.psm1" + $res = Invoke-xSharePointTests $testResultsFile (New-Object 'System.Net.WebClient').UploadFile("https://ci.appveyor.com/api/testresults/nunit/$($env:APPVEYOR_JOB_ID)", (Resolve-Path $testResultsFile)) if ($res.FailedCount -gt 0) { throw "$($res.FailedCount) tests failed." @@ -20,19 +22,14 @@ test_script: after_test: - ps: | - - - Remove-Item (Join-Path "$env:APPVEYOR_BUILD_FOLDER\modules\xSharePoint" "xSharePoint.pssproj") $manifest = Join-Path "$env:APPVEYOR_BUILD_FOLDER\modules\xSharePoint" "xSharePoint.psd1" - (Get-Content $manifest -Raw).Replace("0.5.0.0", $env:APPVEYOR_BUILD_VERSION) | Out-File $manifest + (Get-Content $manifest -Raw).Replace("0.7.0.0", $env:APPVEYOR_BUILD_VERSION) | Out-File $manifest Add-Type -assemblyname System.IO.Compression.FileSystem [System.IO.Compression.ZipFile]::CreateFromDirectory("$env:APPVEYOR_BUILD_FOLDER\modules\xSharePoint", "$env:APPVEYOR_BUILD_FOLDER\xSharePoint.zip") Get-ChildItem "$env:APPVEYOR_BUILD_FOLDER\xSharePoint.zip" | % { Push-AppveyorArtifact $_.FullName -FileName $_.Name } New-Nuspec -packageName $env:APPVEYOR_PROJECT_NAME -version $env:APPVEYOR_BUILD_VERSION -author "Microsoft" -owners "Microsoft" -licenseUrl "https://github.com/PowerShell/DscResources/blob/master/LICENSE" -projectUrl "https://github.com/$($env:APPVEYOR_REPO_NAME)" -packageDescription $env:APPVEYOR_PROJECT_NAME -tags "DesiredStateConfiguration DSC DSCResourceKit" -destinationPath . nuget pack ".\$($env:APPVEYOR_PROJECT_NAME).nuspec" -outputdirectory $env:APPVEYOR_BUILD_FOLDER - $nuGetPackageName = $nuGetPackageName = $env:APPVEYOR_PROJECT_NAME + "." + $env:APPVEYOR_BUILD_VERSION + ".nupkg" + $nuGetPackageName = $env:APPVEYOR_PROJECT_NAME + "." + $env:APPVEYOR_BUILD_VERSION + ".nupkg" Get-ChildItem "$env:APPVEYOR_BUILD_FOLDER\$nuGetPackageName" | % { Push-AppveyorArtifact $_.FullName -FileName $_.Name } - -