Sunteți pe pagina 1din 31

SharePoint 2013 Administration

Training

Preparing for SharePoint 2013 Farm Installation


Day - 1

Basic Concepts of SharePoint 2013 Administration


Configure Service Accounts in Active Directory

SP_Farm
SP_Admin

A Basic Installation of SQL 2012 SP2


Setup SQL Permissions

DB Creator
DB Security Admin \ DB SysAdmin

Installing the SharePoint Prerequisites


1.
1.
2.
3.
4.
5.
6.
7.
8.

Windows6.1-KB2506143-x64.msu
dotNetFx45_Full_x86_x64.exe
Windows6.1-KB974405-x64.msu
Synchronization.msi
WindowsServerAppFabricSetup_x64.exe
MicrosoftIdentityExtensions-64.msi
setup_msipc_x64.msi
WcfDataServices.exe
AppFabric1.1-RTM-KB2671763-x64-ENU.exe

Configuring SharePoint 2013 Farm


SharePoint Administration using PowerShell

Preparing for SharePoint 2013 Farm Installation


Day - 1

Basic Server Topology


Concepts of SharePoint
2013 Administration

Preparing for SharePoint 2013 Farm Installation


using PowerShell
Day - 1

## Create Farm and Run Wizard Tasks ##

Add-PSSnapin Microsoft.SharePoint.PowerShell -erroraction SilentlyContinue

$ConfigDatabaseName = SP2013_Config

$SQLServer = <SQLServerName>

$CADatabaseName = AdminContent DB

$CAPort = 20202

$CAAuth = NTLM

$PassPhrase = <PassPhrase>

$sPassphrase = (ConvertTo-SecureString -String $passphrase -AS Plaintext -force)

New-SPConfigurationDatabase -DatabaseName $ConfigDatabaseName -DatabaseServer $SQLServer


-AdministrationContentDatabaseName $CADatabaseName -Passphrase $PassPhrase -FarmCredentials (Get-credential)

Preparing for SharePoint 2013 Farm Installation


using PowerShell
Day - 1

## Create Farm and Run Wizard Tasks ##

$farm = Get-SPFarm

if (!$farm -or $farm.Status -ne Online) {

Write-Output Farm was not created or is not running

Exit }

Initialize-SPResourceSecurity

Install-SPService

Install-SPFeature -AllExistingFeatures

New-SPCentralAdministration -Port $CAPort -WindowsAuthProvider $CAAuth

Install-SPHelpCollection -All

Install-SPApplicationContent

Set-SPFarmConfig -ServiceConnectionPointBindingInformation $ServiceConnectionPoint -Confirm: $False

Configuring And Securing SharePoint Services And


Applications
Day - 2

Implement App Management services

Implement Subscription Setting Services

Implement Manage Metadata Services

Implement Business Connectivity Services

Implement Excel Services

Implement PerformancePoint Services

Implement Visio Services

Implement Access Services

Implement Work Management

Configuring And Securing SharePoint Services And


Applications
Day - 2

Topology and Configuration

Understanding Farm Topologies

Configuring Managed Accounts

Managing Timer Jobs

Creating and Configuring Service Applications by hand

Creating and Configuring Service Applications using PowerShell

Creating

and Configuring Web Applications

Creating New Web Applications

Configuring Web Application

Managing Content Databases

Creating Site Collections

Configuring And Securing SharePoint Services And


Applications
Day - 2
## Create Usage and State Service Applications ##
$usageSAName = Usage and Health Data Collection Service
$stateSAName = State Service
$stateServiceDatabaseName = SP2013_State
Set-SPUsageService -LoggingEnabled 1 -UsageLogLocation <DataDrive>:\SPLogs\ -UsageLogMaxSpaceGB 2
$serviceInstance = Get-SPUsageService
New-SPUsageApplication -Name $usageSAName -DatabaseServer <DatabaseServerName> -DatabaseName
SP2013_Usage -UsageService $serviceInstance > $null
$stateServiceDatabase = New-SPStateServiceDatabase -Name $stateServiceDatabaseName
$stateSA = New-SPStateServiceApplication -Name $stateSAName -Database $stateServiceDatabase
New-SPStateServiceApplicationProxy -ServiceApplication $stateSA -Name $stateSAName Proxy
-DefaultProxyGroup

Configuring And Securing SharePoint Services And


Applications
Day - 2
## Create Managed Metadata Service
$metadataSAName = Managed Metadata Service
$mmsApp = New-SPMetadataServiceApplication -Name $metadataSAName ApplicationPool SharePoint Web Services Default -DatabaseServer
<DatabaseServerName> -DatabaseName SP2013_Metadata > $null
New-SPMetadataServiceApplicationProxy -Name $metadataSAName Proxy -DefaultProxyGroup -ServiceApplication $metadataSAName > $null
Get-SPServiceInstance | where-object {$_.TypeName -eq Managed Metadata Web Service} | Start-SPServiceInstance > $null

## App Management Services


Write-Host Creating App Management Service and Proxy
$AppManagement = New-SPAppManagementServiceApplication -Name $AppManagementName -DatabaseServer $DatabaseServerName
-DatabaseName $AppManagementDatabaseName ApplicationPool $AppPoolName
$AppManagementProxy = New-SPAppManagementServiceApplicationProxy -ServiceApplication $AppManagement -Name $AppManagementName
Proxy
Get-SPServiceInstance | where-object {$_.TypeName -eq $AppManagementName} | Start-SPServiceInstance > $null
Set-SPAppDomain <AppDomainName>
Set-SPAppSiteSubscriptionName -Name apps -Confirm:$false

Configuring And Securing SharePoint Services And


Applications
Day - 3

## Create Subscription Settings ##


$SubSettingssName = Subscription Settings Service
$SubSettingsDatabaseName = SP2013_SubscriptionSettings
$AppManagementName = App Management Service
$AppManagementDatabaseName = SP2013_AppManagement
$AppPoolName = AppManagement Subscriptions
$DatabaseServerName = <DatabaseServerName>
Write-Host Creating Subscription Settings Service and Proxy
$SubSvc = New-SPSubscriptionSettingsServiceApplication ApplicationPool $AppPoolName Name $SubSettingssName
DatabaseName $SubSettingsDatabaseName
$SubSvcProxy = New-SPSubscriptionSettingsServiceApplicationProxy ServiceApplication $SubSvc
Get-SPServiceInstance | where-object {$_.TypeName -eq $SubSettingssName} | Start-SPServiceInstance > $null

Configuring And Securing SharePoint Services And


Applications
Day - 2

## BDC (If Upgrading Use Existing Database Name) ##


New-SPBusinessDataCatalogServiceApplication ApplicationPool SharePoint Web Services Default DatabaseName
<BDCDatabaseName> DatabaseServer <DatabaseServerName> Name <BDCServiceApplicationName>

New-SPBusinessDataCatalogServiceApplicationProxy -Name <BDCServiceApplicationProxyName> -ServiceApplication


<BDCServiceApplicationName>

Configuring And Securing SharePoint Search


Service and Application

Day - 3

Basic Concepts of SharePoint 2013 Search Administration

Configure Service Accounts in Active Directory

Setup SQL Permissions

Provisioning & Configuring the SharePoint Search Topology

How much content for what size search architecture


Volume of content

Sample search architecture

0-10 million items

Small search farm

10-40 million items

Medium search farm

40-100 million items

Large search farm

Small search farm

Medium search farm

Large search farm

Configuring SharePoint Search Service


Poweshell

# Get Hosts Objects

$hostA = Get-SPEnterpriseSearchServiceInstance -Identity Server1#"

$hostB = Get-SPEnterpriseSearchServiceInstance -Identity "Server2#"

$hostC = Get-SPEnterpriseSearchServiceInstance -Identity "Server3#"

$hostD = Get-SPEnterpriseSearchServiceInstance -Identity "Server4#"

$searchName = "Search Service 2013"

$searchDB = "SP2013_Services_Search_DB"

$searchAcct = "ecmpkol\sp_admin"

$searchAcctCred = convertto-securestring "india@123" -asplaintext -force

$searchManagedAcct = Get-SPManagedAccount | Where {$_.username-eq 'ecmpkol\sp_admin'}

$searchAppPoolName = "Search Services Application Pool"

IF((Get-spserviceapplicationPool | Where {$_.name -eq "Search Services Application Pool"}).name -ne "Search
Services Application Pool"){

$searchAppPool = New-SPServiceApplicationPool -Name $searchAppPoolName -Account $searchManagedAcct}

Day - 3

Configuring SharePoint Search Service


Poweshell

## Start Search Service Instances

Write-Host "Starting Search Service Instances..."

# Server 1

IF((Get-SPEnterpriseSearchServiceInstance -Identity $hostA).Status -eq 'Disabled'){

Start-SPEnterpriseSearchServiceInstance -Identity $hostA

Write-Host "Starting Search Service Instance on" $hostA.Server.Name

Do { Start-Sleep 5;

Write-host -NoNewline "." }

While ((Get-SPEnterpriseSearchServiceInstance -Identity $hostA).Status -eq 'Online')

Write-Host -ForegroundColor Green "Search Service Instance Started on" $hostA.Server.Name

} ELSE { Write-Host -f Green "Search Service Instance is already running on" $hostA.Server.Name }

#Server 2

IF((Get-SPEnterpriseSearchServiceInstance -Identity $hostB).Status -eq 'Disabled'){

Start-SPEnterpriseSearchServiceInstance -Identity $hostB

Write-Host "Starting Search Service Instance on" $hostB.Server.Name

Do { Start-Sleep 5;

Write-host -NoNewline "." }

While ((Get-SPEnterpriseSearchServiceInstance -Identity $hostB).Status -eq 'Online')

Write-Host -ForegroundColor Green "Search Service Instance Started on" $hostB.Server.Name

} ELSE { Write-Host -f Green "Search Service Instance is already running on" $hostB.Server.Name }

Day - 3

Configuring SharePoint Search Service


Poweshell

#Server 3

IF((Get-SPEnterpriseSearchServiceInstance -Identity $hostC).Status -eq 'Disabled'){

Start-SPEnterpriseSearchServiceInstance -Identity $hostC

Write-Host "Starting Search Service Instance on" $hostC.Server.Name

Do { Start-Sleep 5;

Write-host -NoNewline "." }

While ((Get-SPEnterpriseSearchServiceInstance -Identity $hostC).Status -eq 'Online')

Write-Host -ForegroundColor Green "Search Service Instance Started on" $hostC.Server.Name

} ELSE { Write-Host -f Green "Search Service Instance is already running on" $hostC.Server.Name }

#Server 4

IF((Get-SPEnterpriseSearchServiceInstance -Identity $hostD).Status -eq 'Disabled'){

Start-SPEnterpriseSearchServiceInstance -Identity $hostD

Write-Host "Starting Search Service Instance on" $hostD.Server.Name

Do { Start-Sleep 5;

Write-host -NoNewline "." }

While ((Get-SPEnterpriseSearchServiceInstance -Identity $hostD).Status -eq 'Online')

Write-Host -ForegroundColor Green "Search Service Instance Started on" $hostD.Server.Name

} ELSE { Write-Host -f Green "Search Service Instance is already running on" $hostD.Server.Name }

Day - 3

Configuring SharePoint Search Service


Poweshell

## Start Query and Site Settings Service Instance

Day - 3

Write-Host "

Starting Search Query and Site Settings Service Instance on" $hostA.server.Name "and" $hostB.server.Name

Start-SPEnterpriseSearchQueryAndSiteSettingsServiceInstance $hostA.server.Name

Do { Start-Sleep 3;

Write-host -NoNewline "." }

While ((Get-SPEnterpriseSearchQueryAndSiteSettingsServiceInstance | Where {$_.Server.Name -eq


$hostA.server.Name}).status -ne 'Online')

Write-Host -ForegroundColor Green "

Query and Site Settings Service Instance Started on" $hostA.Server.Name

Start-SPEnterpriseSearchQueryAndSiteSettingsServiceInstance $hostB.server.Name

Do { Start-Sleep 3;

Write-host -NoNewline "." }

While ((Get-SPEnterpriseSearchQueryAndSiteSettingsServiceInstance | Where {$_.Server.Name -eq


$hostB.server.Name}).status -ne 'Online')

Write-Host -ForegroundColor Green "

Query and Site Settings Service Instance Started on" $hostB.Server.Name

Configuring SharePoint Search Service


Poweshell

## Create Search Service Application

Day - 3

Write-Host "

Creating Search Service Application..."

$searchAppPool = Get-SPServiceApplicationPool -Identity "Search Services Application Pool"

IF ((Get-SPEnterpriseSearchServiceApplication).Status -ne 'Online'){

Write-Host "

$searchApp = New-SPEnterpriseSearchServiceApplication -Name $searchName -ApplicationPool $searchAppPool


-AdminApplicationPool $searchAppPool -DatabaseName $searchDB

DO {start-sleep 2;

write-host -nonewline "." } While ( (Get-SPEnterpriseSearchServiceApplication).status -ne 'Online')

Write-Host -f green "

Provisioning. Please wait..."

Provisioned Search Service Application"

} ELSE { write-host -f green "Search Service Application already provisioned."

$searchApp = Get-SPEnterpriseSearchServiceApplication

# Set Search Admin Component

Write-Host "Set Search Admin Component..."

$AdminComponent = $searchApp | Get-SPEnterpriseSearchAdministrationComponent | SetSPEnterpriseSearchAdministrationComponent -SearchServiceInstance $hostA

Configuring SharePoint Search Service


Poweshell

## Get Initial Search Topology

Write-Host "Get Initial Search Topology..."

$initialTopology = Get-SPEnterpriseSearchTopology -SearchApplication $searchApp

## Create Clone Search Topology

Write-Host "Creating Clone Search Topology..."

$cloneTopology = New-SPEnterpriseSearchTopology -SearchApplication $searchApp -Clone -SearchTopology


$initialTopology

## Host-A Components

Write-Host "Creating Host A Components (Admin, Crawl, Analytics, Content Processing, Index Partition)..."

$AdminTopology = New-SPEnterpriseSearchAdminComponent -SearchServiceInstance $hostA -SearchTopology


$cloneTopology

$CrawlTopology = New-SPEnterpriseSearchCrawlComponent -SearchServiceInstance $hostA -SearchTopology


$cloneTopology

$AnalyticsTopology = New-SPEnterpriseSearchAnalyticsProcessingComponent -SearchServiceInstance $hostA


-SearchTopology $cloneTopology

$ContentProcessingTopology = New-SPEnterpriseSearchContentProcessingComponent -SearchServiceInstance


$hostA -SearchTopology $cloneTopology

$IndexTopology = New-SPEnterpriseSearchIndexComponent -SearchServiceInstance $hostA -SearchTopology


$cloneTopology -IndexPartition 0

Day - 3

Configuring SharePoint Search Service


Poweshell

## Host-B Components

Day - 3

Write-Host "Creating Host B Components (Admin, Crawl, Analytics, Content Processing, Index Partition)..."

#$AdminTopology = New-SPEnterpriseSearchAdminComponent -SearchServiceInstance $hostB -SearchTopology


$cloneTopology

#$CrawlTopology = New-SPEnterpriseSearchCrawlComponent -SearchServiceInstance $hostB -SearchTopology


$cloneTopology

#$AnalyticsTopology = New-SPEnterpriseSearchAnalyticsProcessingComponent -SearchServiceInstance $hostB


-SearchTopology $cloneTopology

#$ContentProcessingTopology = New-SPEnterpriseSearchContentProcessingComponent -SearchServiceInstance


$hostB -SearchTopology $cloneTopology

## Host-C Components

Write-Host "Creating Host C Components (Query)..."

$QueryTopology = New-SPEnterpriseSearchQueryProcessingComponent -SearchServiceInstance $hostC


-SearchTopology $cloneTopology

#$IndexTopology = New-SPEnterpriseSearchIndexComponent -SearchServiceInstance $hostC -SearchTopology


$cloneTopology -IndexPartition 0

## Host-D Components

Write-Host "Creating Host D Components (Query)..."

$QueryTopology = New-SPEnterpriseSearchQueryProcessingComponent -SearchServiceInstance $hostD


-SearchTopology $cloneTopology.

#$IndexTopology = New-SPEnterpriseSearchIndexComponent -SearchServiceInstance $hostD -SearchTopology

Configuring SharePoint Search Service


Poweshell

Day - 3

## Activate Clone Search Topology

Write-Host "Activating Clone Search Topology...Please wait. This will take some time"

Set-SPEnterpriseSearchTopology -Identity $cloneTopology

## Remove Initial Search Topology

Write-Host "Removing Initial Search Topology..."

$initialTopology = Get-SPEnterpriseSearchTopology -SearchApplication $searchApp | where {($_.State) -eq


"Inactive"}

Remove-SPEnterpriseSearchTopology -Identity $initialTopology -Confirm:$false

## Create Search Service Application Proxy

Write-Host "Creating Search Service Application Proxy..."

$searchAppProxy = New-SPEnterpriseSearchServiceApplicationProxy -Name "$searchName Proxy"


-SearchApplication $searchApp

Write-Host "$searchName created."

Configuring And Planning for SharePoint


Search Service capacity

Day - 3

Capacity Planning of SharePoint 2013 Search Administration

Provisioning & Configuring the SharePoint Search Topology

Administering And Automating SharePoint 2013


with User Profile Service & Synchronization

Day - 4

Basic Concepts of SharePoint User Profile Service Application 2013

Configure Service Accounts in Active Directory

A Basic Installation & Configuration of User Profile Synchronization

Configure User Profiles

Implement SharePoint Social Networking Features

Administering SharePoint 2013 with Distributed


Cache Service

Day - 5

Basic Concepts of Distributed Cache


Use the following method to calculate how much memory can be assigned to the Distributed Cache service:
Determine the total physical memory on the server. For this example, we will use 16 GB as the total physical memory available
on the server.
Reserve 2 GB of memory for other processes and services that are running on the cache host.
For example, 10 GB 2 GB = 8 GB. This remaining memory is allocated to the Distributed Cache service.
Take half of the remaining memory, and convert it to MB. For example, 8 GB/2 = 4 GB or 4096 MB. This is the cache size of the
Distributed Cache service.

Use the following procedure to update the memory allocation accordingly


# Allocation Size on Cache Cluster

Add-SPDistributedCacheServiceInstance

Update-SPDistributedCacheSize -CacheSizeInMB CacheSize

Use-CacheCluster Get-AFCacheHostConfiguration -ComputerName <ComputerName> -CachePort "22233

Remove-SPDistributedCacheServiceInstance

Configuring Office Web App Server


Day - 5

Run the Power shell cmdlets. This would enable the required Roles and features for office Web Application
Server (OWA):
Add-WindowsFeature Web-Server,Web-Mgmt-Tools,Web-Mgmt-Console,Web-WebServer,WebCommon-Http,Web-Default-Doc,Web-Static-Content,Web-Performance,Web-StatCompression,Web-Dyn-Compression,Web-Security,Web-Filtering,Web-Windows-Auth,Web-AppDev,Web-Net-Ext45,Web-Asp-Net45,Web-ISAPI-Ext,Web-ISAPI-Filter,WebIncludes,InkandHandwritingServices

Once restarted, On Office Web apps servers (not SharePoint servers), Run the Office Web Apps Setup.

Create the Office Web Apps Farm on first Server with read-only mode with SSL Offloaded enable using below
PowerShell script.
Power Shell Cmdlet:
New-OfficeWebAppsFarm InternalUrl

http:// domainname AllowHttp EditingEnabled

Verify the Office Web Application with the following URL:


https:// domainname/hosting/discovery

Configuring Office Web App Server


Day - 5

Now open IIS and check the creation of the new web application:

Configure SharePoint Server with Office Web application. The following script should be executed on a SharePoint
server:
New-SPWOPIBinding ServerName http://domainname AllowHTTP

Configuring Office Web App Server


Day - 5

Once finished upon the configuration, upload a word document or PowerPoint and try to open it in browser.
(It is recommended that not to use system account for browsing Office Web Apps documents ,this would generate an error)

SP 2013 APP Development Environment


Configuration
Day - 5

Create a forward lookup zone for apps

Link the App Domain to the SharePoint Server

Starting the required services

Creating the Subscription Settings and App Management Service Applications

Monitoring And Optimizing SharePoint


Performance

Day - 5

Overview of monitoring tools


There are many tools for you to monitor SharePoint 2013 and troubleshoot problems. Different tools cover
different aspects of the environment, although there may be overlapped areas

SharePoint Health Analyzer

Timer Jobs

Reporting
On the Central Administration home page, click Monitoring, Reporting. This feature lets you configure diagnostic
logging and data collection, and view administrative and health reports. Because some configurations will use up
drive space and adversely affect system performance you must carefully plan what configurations to set.

Windows PowerShell

System Center 2012 - Operations Manager with System Center Management Pack for SharePoint
Server 2013

System Center 2012 - Operations Manager is a powerful monitoring platform that lets you monitor services,
devices, and operations for many computers in a single console.

Event Viewer

SharePoint Developer Dashboard

This tool provides diagnostic information that can help a developer or system administrator analyze
performance of SharePoint Web pages. This utility can help if a page is loading slowly, a Web Part is not
performing, or if a database query on the page is not performing. The SharePoint Developer Dashboard is
disabled by default. You can enable it by using Windows PowerShell.