Learn how to best practice set up SharePoint 2013 with Powershell, and don't Forget the surrounding Systems like Microsoft Web Apps 2013 and Workflow Manager 1.0. Additionally you get some Advice to set up SQL Server 2012 for SharePoint. All is done by Powershell, you get all the Code for the Setup within the Presentation.
2. SPEAKER
Samuel Zürcher
Senior Consultant / Evangelist
SharePoint und SQL Server
MCTS, MCITP, MCT, MVP
Kontakt und Webauftritte
szu@expertsinside.com
Samuel.Zuercher@sharepointcommunity.ch
Blog: http://sharepointszu.com
Community: http://www.sharepointcommunity.ch
Konferenz: http://www.collaborationdays.ch
XING: https://www.xing.com/profile/Samuel_Zuercher3
Facebook: http://www.facebook.com/sharepointszu
Twitter: @sharepointszu
Samuel Zürcher [MVP] hat Langjährige Erfahrung mit SharePoint seit der Version 2.0, breites
Technologie Know-how und ist seit 15 Jahren in der IT tätig. Er ist im Projektmanagement in
verschiedenen Projektgrössen und Komplexitätsstufen daheim, kennt sich aber auch mit dem
innersten Kern von SharePoint aus. Verschiedene Zertifizierungen für SharePoint und der
Microsoft Certified Trainer runden sein Profil ab (MCT, MCTS, MCIPT). Er ist der Initiant und
zusammen mit Stefan Heinz Begründer der www.sharepointcommunity.ch und Co-Organisator
7. GOALS OF STREAMLINED
TIERS
Role Goal
Distributed Cache Consistent latency:
• Latency — very low (<5 millisecond)
• Throughput — very high
• Resource utilization — medium
Frontend Fast response to user requests with consistent latency:
• Latency — low (<500 millisecond)
• Throughput — medium
• Resource utilization — low-medium
Batch-processing Maximize resources with high throughput:
• Latency — high (>1 minute)
• Throughput — high
• Resource utilization — high to very high
Specialized Fairly consistent latency:
• Latency — low (<500 milliseconds)
• Throughput — medium
• Resource utilization — low-high
Databases Fast response and consistent latency:
• Latency — very low (<5 milliseconds)
• Throughput — very high
• Resource utilization — low-medium
8. SERVICES LEVELS
Tier Components and services
Distributed Cache • Distributed Cache
• Request Management
• Web Application
Frontend • Access Services
• Data Connectivity
• Central Administration
• Managed Metadata
• Web Application
• Secure Store Service
• State
• Subscription Settings
• User Code
• User Profile
• Visio Graphics
Batch-processing • Crawl Target
• Machine Translation
• Web Application
• PowerPoint Conversion
• User Profile Sync
• Word Automation
• Work Management
• Workflow timer service
Specialized • Excel Calculation
• PerformancePoint
• Project
• Web Application
• Search
15. FIRST THINGS FIRST
› SQL Server is the Heart of SharePoint,
don’t forget!
› 8 Cores and 16GB RAM min.
› Be aware of Disk I/O, you mostly find
there the Bottleneck
› Access Services generally go into a 2nd
Instance, we will not follow this
guideline in the following Demo
because of time
16. NEW HIGH AVAILLABILITY
MODEL
› AlwaysOn as new High Availability
Model for SharePoint 2013
› Based on availability groups
› Main benefit:
› Be able to have one big muscled SQL Server
to failover to n availability groups with lower
cost Hardware
› Delegate heavy read databases to be used
from secondary replicaReference: http://technet.microsoft.com/en-us/library/jj715261.aspx
18. CREATE ACCOUNTS WE WILL
NEED
Account Description
Sp-Setup Account to Set Up SharePoint (Needs Local Admin on SharePoint server and Sysadmin in SQL Server)
Sp-CacheAdmin For Publishing sites, to admin the Cache
Sp-CacheReader For Publishing sites, to read from Cache
Sp-Farm To run SharePoint Farm
Sp-My To run My Site Portal
Sp-Portal To run Intranet Portal
Sp-Services To run Service Applications
Sp-Sql To run SQL Server
Sp-upi To do User Profile Import (Replicate Directory Changes)
Sp-Access To run Access Services
Sp-Workflow To run Workflow Manager
41. POST CONFIGURATION
› Min / Max Memory (be aware of other
Instances and give 3GB to OS)
› Fill Factor 70%
› Backup Compression
› Max Degree of Parallelism to 1 (std.)
› Local Sec. Pol «Perform Volume
Maintenance Tasks» and «Lock Pages in
Memory»
50. FIRST THINGS FIRST
› The Frontends are more RAM intense than
in SharePoint 2010
› 4-8 CPU Cores and min. 12 GB RAM
› For Standalone SharePoint 24 GB RAM
› Streched Farms are supportet again, but
only rarely make sense
› Be aware of SharePoint roles (Toppology)
especially with Search and Distributed
Cache
51. FIRST THINGS FIRST
› Still the following Versions
› SharePoint Foundation
› SharePoint Server Standard
› SharePoint Server Enterprise
› No more Fast for SharePoint, no more
SharePoint for Internet, it’s in the
Product
› Allways install in English and then use
Language Packs!!!
75. Step 4.1 – Usage and Health
# Usage and Health Data Collection
# Parameters
$UsageSAName = "Usage and Health Data Collection"
$dbUsageService = "TBD_DEMO_Usage_and_Health_Data"
$UsageLogLocation = "C:Program FilesCommon Filesmicrosoft sharedWeb Server Extensions15LOGS"
$MaxUsageLogSpace = 5 #in GB
# Create Service Application
Write-Host "Creating Usage and Health Data Collection..."
Set-SPUsageService -LoggingEnabled 1 -UsageLogLocation $UsageLogLocation -UsageLogMaxSpaceGB
$MaxUsageLogSpace
$UsageService = Get-SPUsageService
New-SPUsageApplication -Name $UsageSAName -DatabaseServer $SQLAliasName -DatabaseName $dbUsageService -
UsageService $UsageService
# As Proxy ist stopped after this, provision in
$UsageSAProxy = Get-SPServiceApplicationProxy | where-object {$_.TypeName -eq “Usage and Health Data
Collection Proxy”}
$UsageSAProxy.Provision()
76. Step 4.2 – State Service
# State Service
# Parameters
$StateSAName = "State Service"
$dbStateService = "TBD_DEMO_State"
# Create Service
Write-Host "Creating State Service..."
New-SPStateServiceDatabase -Name $dbStateService
$StateSAPipe = New-SPStateServiceApplication -Name $StateSAName
-Database $dbStateService
New-SPStateServiceApplicationProxy -Name "$StateSAName Proxy" -
ServiceApplication $StateSAPipe -DefaultProxyGroup
79. c: MMS Proxy Settings
# Get Metadata service application proxy
$MMSProxy = Get-SPServiceApplicationProxy | Where-Object {$_.TypeName -eq "Managed
Metadata Service Connection"}
# This service application is the default storage location for Keywords.
$MMSProxy.Properties["IsDefaultKeywordTaxonomy"] = $true
# This service application is the default storage location for column specific term sets.
$MMSProxy.Properties["IsDefaultSiteCollectionTaxonomy"] = $true
# Consumes content types from the Content Type Gallery
$MMSProxy.Properties["IsNPContentTypeSyndicationEnabled"] = $false
# Push-down Content Type Publishing updates from the Content Type Gallery to sub-sites and
lists using the content type.
$MMSProxy.Properties["IsContentTypePushdownEnabled"] = $true
$MMSProxy.Update()
90. Step 4.13 – Work Management
# Work Management Service Application
$WorkMgmtSAName = "Work Management Service"
# Create Service Application
Write-Host "Creating Work Management Service..."
$WorkManagementSAPipe = New-SPWorkManagementServiceApplication –
Name $WorkMgmtSAName –ApplicationPool $SaAppPoolName
New-SPWorkManagementServiceApplicationProxy -name
"$WorkMgmtSAName Proxy" -ServiceApplication
$WorkManagementSAPipe -DefaultProxyGroup
Get-SPServiceInstance | where-object {$_.TypeName –eq "Work
Management Service"} | Start-SPServiceInstance
91. 4.13.1 – GIVE RIGHTS IN DB
› Grant the account that the Work Management service
is running as "Full Control" to the User Profiles Using
"administrators" and "permissions" button on the
ribbon
› $webApp = Get-SpWebApplication [URL of the MYSite
web application]
$webapp.GrantAccessToProcessIdentity("[Work
Management account]")
› This should add the WMS Account to: User Policy of
the WebApp, to Config DB with
WSS_Content_Applicaiton_Pools, to My Site DB with
SPDataAccess Role
92. 4.13.2 – GIVE RIGHTS TO
APPPOOL
Give the Services App Pool Account
full Rights to User Profile Service
Application
94. Step 4.15 – Subscription Settings
Subscription Settings Service is for Multi Tenancy Scenarios
Also needed for Access Services 2013
# Subscription Settings Service Application
$SubscriptionSAName = "Subscription Settings Service"
$dbSubscription = "TBD_DEMO_Subscription_Settings"
# Create Service Application
Write-Host "Creating Subscription Settings Service…"
$SubscriptionSAPipe = New-SPSubscriptionSettingsServiceApplication –ApplicationPool $SaAppPoolName
–Name $SubscriptionSAName –DatabaseName $dbSubscription
New-SPSubscriptionSettingsServiceApplicationProxy –ServiceApplication $SubscriptionSAPipe
Get-SPServiceInstance | where-object {$_.TypeName -eq "Microsoft SharePoint Foundation
Subscription Settings Service"} | Start-SPServiceInstance
95. Step 4.16 – a: Access Services
Will only work after App Configuration (follows next)
Concider using an Extra App Pool (special configuration)
# Access Services
$AccessSAName = "Access Services"
# Create Service Application
Write-Host "Creating Access Service…"
New-SPAccessServicesApplication -Name $AccessSAName -
ApplicationPool $AccessAppPoolName -Default
Get-SPServiceInstance | where-object {$_.TypeName -eq "Access
Services"} | Start-SPServiceInstance
White Paper: http://www.microsoft.com/en-us/download/details.aspx?id=30445
96. B: SQL FEATURE PACK
› Microsoft SQL Server 2012 Local DB
(SQLLocalDB.msi)
› Microsoft SQL Server 2012 Data-Tier Application
Framework (DACFramework.msi)
› Microsoft SQL Server 2012 Native Client
(sqlncli.msi)
› Microsoft SQL Server 2012 Transact-SQL
ScriptDom (sqldom.msi)
› Microsoft System CLR Types for Microsoft SQL
Server 2012 (SQLSysClrTypes.msi)
Feature Pack: http://www.microsoft.com/en-us/download/details.aspx?id=29065
97. C: APP POOL CONFIG
› 1. Advanced Settings
› 2. Load User Profile
› 3. Restart Server
98. D: SECURE STORE
Go to Secure
Store Service
and generate a
new Key
Enter any
secure
String
99. E: TARGET DB SERVER
Navigate to Access
Services Service App,
expand «New
Application Database»
In Our Case we use
std. SQL Server,
normally use
dedicated
100. F: SETTING SQL RIGHTS FOR
APP POOL
› Give demosp-access following
Rights:
› Configuration Database: DBO
› Content Databases: DBO
› App Management Database:
SPDataAccess
101. G: OFFICE DEPLOYMENTS
› If you have Office deployed in
different Languages, you must deploy
all these Languages as SharePoint
Language Pack
› User will get an error if not
102. STEP 4.17 – OTHER SERVICES
› Claims to windows Token:
If you have Scenarios with external Data Access
› Document Conversion:
If you want to convert Documents to HTML
› Lotus Notes Connector:
Self explaining
› Sandboxed Code:
To run Sandboxed Solutions (recomended)
› PowerPoint Conversion:
If you want to implement ppt > pptx Conversion
› Request Management:
If you want to load balance SharePoint 2013
› User Profile Synchronization:
If you are using FIM to synchronise User Profiles
103. STEP 4.18 – CREATE WEBAPPS
› Create an Intranet Portal with the
Team Site Template
› Create a My Site Portal with the My
Site Host Template
104. STEP 4.19 – CONFIGURE MY
SITE
› Go to User Profile Service Application
› Click to «Steup My Sites»
› Add http://my.demo.local to My Site
Host
› Hit OK
› Go to Webapplications, on My Site Web
App configure Self Service to yes
› Add Managed Path «Personal»
105. STEP 4.20 – IMPORT USERS
FROM AD
› There are two Methods to do this:
› Forefront Identity Manager (like in 2010)
› AD Direct Import
› Depends on your Scenario
› Done in User Profile Service Application
› Import Account needs «Replicate
Directory Changes» Right on AD
107. STEP 5 – SHAREPOINT APPS
› Apps is the new Model for Development
in SharePoint 2013
› Access Services is used like Apps
› An App can be
› SharePoint hosted
› Auto hosted
› Provider hosted
› We need to configure it specially
108. PREPARING FOR APPS
› We need to configure a new Domain
Name
› Nothign to do with Active Directory!!
› We call it Appdomain
› In our case demoapps.local
› Done in DNS Manager
› Used to forward to SharePoint
116. ADD NEW HOST TO
APPDOMAIN
Right click
and select
«New Host»
117. POINT * TO FRONTEND OR
NLB This will point
all Apps to
SharePoint
118. CREATE SERVER
WEBAPPLICATION
› Needed for Host Header Web Apps and Host
named Site Collections
› No Host Header
› Inf not created, redirect to App will not take
place
› Be aware of DB Name and App Pool Account
121. CREATE APP CATALOG
› App Catalog is managed per Web
Application
› Create a App Catalog under each Web
Application you have in your
Company
› It’s a normal Site Collection
124. FIRST THINGS FIRST
› Web Apps are no longer a Service
Application
› Web Apps are a standallone Server and
cannot be installed on SharePoint WFE
› Web Apps can be used from Fileshares,
Outlook Web Access and so on
› Licensing is still a user based License
(Office Package)
125. Step 1 – Preparation
# Add needed Roles to Server
Import-Module ServerManager
Add-WindowsFeature Web-Server,Web-Mgmt-Tools,Web-Mgmt-
Console,Web-WebServer,Web-Common-Http,Web-Default-Doc,Web-
Static-Content,Web-Performance,Web-Stat-Compression,Web-Dyn-
Compression,Web-Security,Web-Filtering,Web-Windows-Auth,Web-App-
Dev,Web-Net-Ext45,Web-Asp-Net45,Web-ISAPI-Ext,Web-ISAPI-
Filter,Web-Includes,InkandHandwritingServices
Server need Restart after this
133. Create Web Apps Farm
# Create Office Web Apps Farm (Single Farm)
New-OfficeWebAppsFarm –InternalURL "http://WebApps.demo.local" –
AllowHttp -EditingEnabled
Check if Discovery Service answers (with an XML)
http://webapps.demo.local/hosting/discovery
134. Bind Web Apps to SharePoint
Run on SharePoint Server!
# Create new WOPI Binding for SharePoint to Web Apps Server
New-SPWOPIBinding -ServerName webapps -AllowHTTP
Get-SPWOPIZone
Set-SPWOPIZone –zone "internal-http"
Get-SPWOPIZone
(Get-SPSecurityTokenServiceConfig).AllowOAuthOverHttp
$config = (Get-SPSecurityTokenServiceConfig)
$config.AllowOAuthOverHttp = $true
$config.Update()
(Get-SPSecurityTokenServiceConfig).AllowOAuthOverHttp
136. FIRST THINGS FIRST
› Workflows changed in SharePoint
2013
› Needs it’s own Installation (Workflow
Manager)
› Can run on SharePoint Frontend or
Standalone Server
155. SQLIO
Parameter Description
Sqlio Program Call
-kR / -kW Measure Read oder Write Performance
-t32 No. of Threads
-s60 Duration in Seconds
-dF What drive is tested (Driveletter)
-o64 No. of outstanding Requests
-frandom Random Operations (Sequential is mostly
not used)
-b64 Blocksize in bytes
Download: http://www.microsoft.com/en-us/download/details.aspx?id=20163