Skip to content

Commit

Permalink
Merge pull request #69 from BrianFarnhill/dev
Browse files Browse the repository at this point in the history
SharePoint 2016 Install Support
  • Loading branch information
BrianFarnhill committed Aug 16, 2015
2 parents 6fdbc8c + e58d6fa commit cf03546
Show file tree
Hide file tree
Showing 33 changed files with 3,774 additions and 3,667 deletions.
63 changes: 63 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
###############################################################################
# Set default behavior to automatically normalize line endings.
###############################################################################
* text=auto

###############################################################################
# Set default behavior for command prompt diff.
#
# This is need for earlier builds of msysgit that does not have it on by
# default for csharp files.
# Note: This is only used by command line
###############################################################################
#*.cs diff=csharp

###############################################################################
# Set the merge driver for project and solution files
#
# Merging from the command prompt will add diff markers to the files if there
# are conflicts (Merging from VS is not affected by the settings below, in VS
# the diff markers are never inserted). Diff markers may cause the following
# file extensions to fail to load in VS. An alternative would be to treat
# these files as binary and thus will always conflict and require user
# intervention with every merge. To do so, just uncomment the entries below
###############################################################################
#*.sln merge=binary
#*.csproj merge=binary
#*.vbproj merge=binary
#*.vcxproj merge=binary
#*.vcproj merge=binary
#*.dbproj merge=binary
#*.fsproj merge=binary
#*.lsproj merge=binary
#*.wixproj merge=binary
#*.modelproj merge=binary
#*.sqlproj merge=binary
#*.wwaproj merge=binary

###############################################################################
# behavior for image files
#
# image files are treated as binary by default.
###############################################################################
#*.jpg binary
#*.png binary
#*.gif binary

###############################################################################
# diff behavior for common document formats
#
# Convert binary document formats to text before diffing them. This feature
# is only available from the command line. Turn it on by uncommenting the
# entries below.
###############################################################################
#*.doc diff=astextplain
#*.DOC diff=astextplain
#*.docx diff=astextplain
#*.DOCX diff=astextplain
#*.dot diff=astextplain
#*.DOT diff=astextplain
#*.pdf diff=astextplain
#*.PDF diff=astextplain
#*.rtf diff=astextplain
#*.RTF diff=astextplain
Original file line number Diff line number Diff line change
@@ -1,129 +1,129 @@
function Get-TargetResource
{
[CmdletBinding()]
[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
)

Write-Verbose -Message "Getting BCS service app '$Name'"

$session = Get-xSharePointAuthenticatedPSSession -Credential $InstallAccount

$result = Invoke-Command -Session $session -ArgumentList $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 @{}
}
else
{
return @{
Name = $serviceApp.DisplayName
ApplicationPool = $serviceApp.ApplicationPool.Name
}
}
}
$result
}


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
)

$result = Get-TargetResource -Name $Name -ApplicationPool $ApplicationPool -InstallAccount $InstallAccount
$session = Get-xSharePointAuthenticatedPSSession -Credential $InstallAccount
if ($result.Count -eq 0) {
Write-Verbose -Message "Creating BCS Service Application $Name"
Invoke-Command -Session $session -ArgumentList $PSBoundParameters -ScriptBlock {
$params = $args[0]
$params.Remove("InstallAccount") | Out-Null
New-SPBusinessDataCatalogServiceApplication @params | Out-Null
}
}
else {
if ($ApplicationPool -ne $result.ApplicationPool) {
Write-Verbose -Message "Updating BCS Service Application $Name"
Invoke-Command -Session $session -ArgumentList $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)
}
}
}
}

function Test-TargetResource
{
[CmdletBinding()]
[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
)
$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
}

Export-ModuleMember -Function *-TargetResource
function Get-TargetResource
{
[CmdletBinding()]
[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
)

Write-Verbose -Message "Getting BCS service app '$Name'"

$session = Get-xSharePointAuthenticatedPSSession -Credential $InstallAccount

$result = Invoke-Command -Session $session -ArgumentList $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 @{}
}
else
{
return @{
Name = $serviceApp.DisplayName
ApplicationPool = $serviceApp.ApplicationPool.Name
}
}
}
$result
}


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
)

$result = Get-TargetResource -Name $Name -ApplicationPool $ApplicationPool -InstallAccount $InstallAccount
$session = Get-xSharePointAuthenticatedPSSession -Credential $InstallAccount
if ($result.Count -eq 0) {
Write-Verbose -Message "Creating BCS Service Application $Name"
Invoke-Command -Session $session -ArgumentList $PSBoundParameters -ScriptBlock {
$params = $args[0]
$params.Remove("InstallAccount") | Out-Null
New-SPBusinessDataCatalogServiceApplication @params | Out-Null
}
}
else {
if ($ApplicationPool -ne $result.ApplicationPool) {
Write-Verbose -Message "Updating BCS Service Application $Name"
Invoke-Command -Session $session -ArgumentList $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)
}
}
}
}

function Test-TargetResource
{
[CmdletBinding()]
[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
)
$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
}

Export-ModuleMember -Function *-TargetResource
Loading

0 comments on commit cf03546

Please sign in to comment.