Created
September 6, 2016 12:32
-
-
Save pmatthews05/c1b6f863da12b89146977b533ceae089 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
if ((Get-PSSnapin "Microsoft.SharePoint.PowerShell" -ErrorAction SilentlyContinue) -eq $null) | |
{ | |
#Add SharePoint PowerShell Commands | |
Add-PSSnapin "Microsoft.SharePoint.PowerShell" | |
} | |
#Variables | |
$DatabaseServerName = "SQL2016" | |
$AppPoolName = "Default SharePoint Service App Pool" | |
$AppPoolUserName = "CFCODE2016\SP_Services" | |
$MetaDataName = "Manage Metadata Service" | |
$MetaDataDBName = "SP_MetadataDB" | |
$WordASName = "Word Automation Service Application" | |
$WordAutomationDatabaseName = "SP_WordAutoDB" | |
$BDCServiceName = “Business Data Connection Service Application” | |
$BDCDB = “SP_BusinessDataConnectionDB“ | |
$SecureStoreName = “Secure Store Service Application” | |
$SecureStoreProxyName =“Secure Store Service Application Proxy” | |
$SecureStoreDB = “SP_SecureStoreDB” | |
$usageName = “Usage and Health Data Collection Service” | |
$usageServiceDB = “SP_Usage_HealthDB” | |
$usageLogLocationOnDisk = “D:\SPLogs\ULS\” | |
$stateName = “State Service” | |
$stateServiceDB = “SP_StateServiceDB” | |
$MTSInst = “Machine Translation Service” | |
$MTSName = “Translation Service” | |
$MTSDB = “SP_MachineTranslationDB” | |
#Script | |
#Check if Service account exist and Create. | |
Write-Host "Getting Service Account / Creating Service Account" | |
$SAAppPool = Get-SPServiceApplicationPool -Identity $AppPoolName -EA 0 | |
if($SAAppPool -eq $null) | |
{ | |
#Get App Pool account | |
$AppPoolAccount = Get-SPManagedAccount -Identity $AppPoolUserName -ErrorAction Continue | |
if($AppPoolAccount -eq $null) | |
{ | |
$AppPoolCred = Get-Credential $AppPoolUserName | |
$AppPoolAccount = New-SPManagedAccount -Credential $AppPoolCred -ErrorAction Continue | |
} | |
$AppPoolAccount = Get-SPManagedAccount -Identity $AppPoolUserName -EA 0 | |
if($AppPoolAccount -eq $null) | |
{ | |
Write-Host “Cannot create or find the managed account $appPoolUserName, please ensure the account exists.” | |
Exit -1 | |
} | |
New-SPServiceApplicationPool -Name $AppPoolName -Account $AppPoolAccount -ErrorAction Continue > $null | |
} | |
#Create Manage Metadata Service | |
Write-host "Creating Manage Metadata Service" | |
$mmsApp = New-SPMetadataServiceApplication -Name $MetaDataName –ApplicationPool $AppPoolName -DatabaseServer $DatabaseServerName -DatabaseName $MetaDataDBName > $null | |
New-SPMetadataServiceApplicationProxy -Name “$MetaDataName Proxy” -DefaultProxyGroup -ServiceApplication $MetaDataName > $null | |
#Start MMS | |
Get-SPServiceInstance | where-object {$_.TypeName -eq “Managed Metadata Web Service”} | Start-SPServiceInstance > $null | |
#Word Automation Service | |
Write-Host "Create Word Automation Service" | |
Get-SPServiceApplicationPool –Identity $AppPoolName | New-SPWordConversionServiceApplication -Name $WordASName -DatabaseName $WordAutomationDatabaseName | |
#BDC | |
write-Host "Create BDC" | |
New-SPBusinessDataCatalogServiceApplication –ApplicationPool $AppPoolName –DatabaseName $BDCDB –DatabaseServer $DatabaseServerName –Name $BDCServiceName | |
#Secure Store and Proxy | |
write-Host "Create Store and Proxy" | |
$SecureStoreServiceApp = New-SPSecureStoreServiceApplication –ApplicationPool $AppPoolName –AuditingEnabled:$false –DatabaseServer $DatabaseServerName –DatabaseName $SecureStoreDB –Name $SecureStoreName | |
New-SPSecureStoreServiceApplicationProxy –Name $SecureStoreProxyName –ServiceApplication $SecureStoreServiceApp -DefaultProxyGroup | |
#Usage and HEalth Data Collection service | |
## Begin Variables for usage and health data collection and state service, make sure the C:\Logs\ULS location exists first ## | |
write-host "Create Usage and Health" | |
#Change location | |
Set-SPUsageService -LoggingEnabled 1 -UsageLogLocation $usageLogLocationOnDisk -UsageLogMaxSpaceGB 2 | |
$serviceInstance = Get-SPUsageService | |
New-SPUsageApplication -Name $usageName -DatabaseServer $DatabaseServerName -DatabaseName $usageServiceDB -UsageService $serviceInstance > $null | |
$stateServiceDatabase = New-SPStateServiceDatabase -Name $stateServiceDB | |
$stateSA = New-SPStateServiceApplication -Name $stateName -Database $stateServiceDatabase | |
New-SPStateServiceApplicationProxy -ServiceApplication $stateSA -Name “$stateName Proxy” -DefaultProxyGroup | |
$sap = Get-SPServiceApplicationProxy | where-object {$_.TypeName -eq “Usage and Health Data Collection Proxy”} | |
$sap.Provision() | |
#ChangeLocation and create new files. | |
Set-SPDiagnosticConfig -LogLocation $usageLogLocationOnDisk | |
New-SPLogFile | |
New-SPUsageLogFile | |
#Machine Translation Service + Proxy | |
write-host "Create Machine Translation Service and Proxy" | |
$AppPool = Get-SPServiceApplicationPool $AppPoolName | |
Get-SPServiceInstance | ? {$_.GetType().Name -eq $MTSInst} | Start-SPServiceInstance | |
$MTS = New-SPTranslationServiceApplication -Name $MTSName -ApplicationPool $AppPool -DatabaseName $MTSDB | |
$MTSProxy = New-SPTranslationServiceApplicationProxy –Name “$MTSName Proxy” –ServiceApplication $MTS –DefaultProxyGroup | |
write-host "DONE" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment