Friday, April 10, 2015

SharePoint 2013: Two-Tier farm deployment procedure

Introduction

This posting presents the steps for deploying a small two-server, two-tier SharePoint 2013 farm for use in external corporate collaboration.
NOTE: throughout this posting, the SharePoint Setup User Administrator account is used for installation and configuration.  This is the account used to initially install and configure the farm and should be the account used to install and configure all subsequent SharePoint software.

Procedure
  1. Provision Service Accounts
    1. spAdmin: SharePoint Setup User Administrator account
    2. spApp
    3. spContent: search crawl service account
    4. spFarm: farm service account
    5. spProfile
    6. spSearch
    7. spService: services service account
    8. spSql: database engine service account
    9. spSuperR: 
    10. spSuperU
    11. spWorkfl
  2. Prepare Resources
    1. Machines
      1. Server1
        1. Role: Database Server
        2. Drives
          • C:System 120 GB
          • D:Data 250 GB
          • E:Logs 100 GB
          • F:Backup 250 GB
        3. RAM: 12 GB
        4. Cores: 4
      2. Server2
        1. Role: SharePoint Server
        2. Drives
          • C:System 160 GB
          • D:Data 250 GB
          • E:Logs 100 GB
        3. RAM: 12 GB
        4. Cores: 4
    2. Software
      1. SQL Server 2012 Standard
      2. SharePoint Server 2013 Enterprise
  3. Build SQL Server Host
    1. See: SharePoint 2013: how to install named SQL Server instance for new farm.
  4. Prepare SharePoint Server Host
    1. Add Desktop Experience Feature
    2. Install Application Server Role
    3. Install Web Server Role
      1. Add NET Framework 3.5 Features.
      2. Add ASP.NET 4.5 Feature
      3. Add Windows Process Activation Service Support > HTTP Activation
    4. Edit HOSTS file to create temporary networking
      1. C:\Windows\System32\Drivers\etc
    5. Create 32-bit and 64-bit database access aliases
    6. Disable loopback checking: New-ItemProperty HKLM:\System\CurrentControlSet\Control\Lsa -Name "DisableLoopBackCheck" -Value "1" -PropertyType dword
    7. Disable IESC
    8. Verify SharePoint Setup User Administrator and Farm Service accounts are members of local Administrators group.
  5. Install SharePoint Server 2013 prerequisites
  6. Install SharePoint Server 2013 binaries
  7. Create Configuration and Administration Databases
    1. Launch elevated SharePoint Management Shell
    2. Execute: Add-Pssnapin Microsoft.SharePoint.PowerShell
    3. Execute: New-SPConfigurationDatabase –DatabaseName configurationdatabasename  –DatabaseServer sqlserverinstancename –AdministrationContentDatabaseName administrationcontentdatabasename
      1. configurationdatabasename: name you want to assign to the farm configuration database.  For example: [someprefix]_Config.
      2. sqlserverinstancename: this is the name of the alias you have configured for database access.
      3. administrationcontentdatabasename: this is the name you want to assign to the central administration content database.  For example: [someprefix]_Content_CA.
    4. You will be prompted to enter the farm credentials: this is the farm service account name and password.
    5. Next, enter the passphrase.  For example, use the farm service account password.
    6. Wait for about five minutes.
  8. Configure SharePoint Farm
    1. Launch SharePoint Products Configuration Wizard using the SharePoint Setup User Administrator account (eg, spAdmin).
    2. At the Welcome page, click Next.
    3. At the popup prompt, click Yes.
    4. At the Modify server farm Settings page, click Next.
    5. At the Configure SharePoint Central Administration Web Application page, enable the Specify port number option, and enter a port number (eg, 5000).
    6. Ensure that NTLM is selected, and then click Next.
    7. At the Completing the SharePoint Products Configuration Wizard page, click Next.  Configuration will take less than five minutes.
    8. At the Configuration Successful page, click Finish.  The dialog closes and a navigator instance is launched and navigated to the Central Administration site.
    9. Click the Cancel button, when prompted to use the Configuration Wizard.
  9. Configure Managed Accounts
    1. Go to: CA > Security > General Security > Configure managed accounts.
    2. Enter all of the service accounts that you will be using for the farm.
  10. Configure Outgoing Email
    1. Go to: CA > System Settings > Email and Text Messages > Configure outgoing email settings.
    2. Enter appropriate SMTP server, etc.
  11. Configure Service Applications
    1. Usage and Health
      1. Launch elevated SharePoint Management Shell
      2. Execute:
        New-SPUsageApplication -Name "Usage Application" -DatabaseName  databasename -DatabaseServer databaseinstancename
        (Get-SPServiceApplicationProxy | where-object {$_.TypeName -eq “Usage and Health Data Collection Proxy”}).Provision()
    2. Managed Metadata
      1. Launch Central Administration as SharePoint Setup User Administrator account.
      2. Go to: Application Management > Service Applications > Manage service applications
      3. On the SERVICE APPLICATIONS tab on the ribbon, click the New button, and then select Managed Metadata Service.
      4. Configure as follows:
        1. Name: Managed Metadata Service
        2. Database Server: [will default to alias previously entered]
        3. Database Name: [prefix]_Metadata
        4. Database Authentication: Windows
        5. Failover Database Server: [name of failover]
        6. Select Create new application pool, and then enter SharePoint Hosted Services
        7. Application Pool Security Account: services account
        8. Content Type Hub: [leave blank]
        9. Report Syndication Import Errors: Yes
        10. Add this services application to the farm's default list: Yes
        11. Click OK.
          After clicking OK, you will be returned to the Service Applications list, which will now display the proxy for the Application Discovery and Load Balancer Service Application. Note too that the usual SharePoint database roles, such as SPDataAccess, etc, are not created for the Management Metadata database, so, don't panic if you don't see them there.
      5. Go to: CA > System Settings > Manage services on server.
      6. Start the Managed Metadata Web Service
      7. Go to: CA > Application Management > Manage service applications
      8. Select (don't click on the title) Managed Metadata Service Connection
      9. On the SERVICE APPLICATIONS tab on the ribbon, click the Properties button.
      10. Enable these settings ONLY:
        1. This service application is the default storage location for Keywords
        2. This service application is the default storage location for column specific term sets.
      11. Select (don't click on the title) Managed Metadata Service.
      12. On the SERVICE APPLICATIONS tab on the ribbon, click the Permissions button.
      13. Add the search crawl account (spContent) and provision it with Read.
      14. Add the service account (spService) running the Managed Metadata application pool (SharePoint Hosted Services) and provision it with Full Access.
    3. State Service
      1. Launch elevated SharePoint Management Shell
      2. Execute:
        $serviceapp = New-SPStateServiceApplication -Name "State Service"
        New-SPStateServiceDatabase -Name "StateServiceDatabaseName" –ServiceApplication $serviceapp
        New-SPStateServiceApplicationProxy -Name "State Service Proxy" -ServiceApplication $serviceapp –DefaultProxyGroup
    4. Secure Store Service
      1. Launch Central Administration as SharePoint Setup User Administrator account.
      2. Go to: Application Management > Service Applications > Manage service applications
      3. On the SERVICE APPLICATIONS tab on the ribbon, click the New button, and then select Secure Store Service.
      4. Configure as follows:
        1. Name: Secure Store Service
        2. Database Server:  [will default to alias previously entered]
        3. Database Name: [prefix]_SecureStoreService
        4. Database Authentication: Windows
        5. Failover Database Server: [failover name]
        6. Application Pool: Select Use existing application pool, and then select SharePoint Hosted Services.
        7. Audit log enabled: enable this and set for 30 days (default).
      5. Click OK.
      6. Go to: CA > System Settings > Manage services on server.
      7. Start the Secure Store Service.
      8. Go to: CA > Application Management > Manage service applications.
      9. Select (don't click on the title) Secure Store Service.
      10. On the SERVICE APPLICATIONS tab on the ribbon, click the Manage button.
      11. On the EDIT tab of the ribbon, click the Generate New Key button.
      12. Enter a passphrase (eg, use the same one as used for the farm passphrase).
      13. Click OK.
    5. Business Data Connectivity
      1. Launch Central Administration as SharePoint Setup User Administrator account.
      2. Go to: Application Management > Service Applications > Manage service applications.
      3. On the SERVICE APPLICATIONS tab on the ribbon, click the New button, and then select Business Data Connectivity Service.
      4. Configure as follows:
        1. Name: Business Data Connectivity Service.
        2. Database Server:  [will default to alias previously entered]
        3. Database Name: [prefix]_BDCService
        4. Database Authentication: Windows
        5. Failover Database Server: [failover name]
        6. Application Pool: Select Use existing application pool, and then select SharePoint Hosted Services.
        7. Click OK.
      5. Go to: CA > System Settings > Manage services on server.
      6. Start the Business Data Connectivity Service.
    6. Excel Services
      1. Launch Central Administration as SharePoint Setup User Administrator account.
      2. Go to: Application Management > Service Applications > Manage service applications.
      3. On the SERVICE APPLICATIONS tab on the ribbon, click the New button, and then select Excel Services Application.
      4. Configure as follows:
        1. Name: Excel Services.
        2. Application Pool: Select Use existing application pool, and then select SharePoint Hosted Services.
        3. Add this services application to the farms default list: yes
      5. Click OK.
      6. Go to: CA > System Settings > Manage services on server.
      7. Start the Excel Calculation Services service.
      8. Go to: CA > Application Management > Manage service applications
      9. Select (don't click on the title) the Excel Services application.
      10. On the SERVICE APPLICATIONS tab on the ribbon, click the Manage button.
      11. Click Trusted File Locations.
      12. Verify that an entry for address "http://" is listed.  This configures the entire farm as a trusted location - no need to specify specific SharePoint sites and folders.
    7. Visio Graphics Service Application
      1. Launch Central Administration as SharePoint Setup User Administrator account.
      2. Go to: Application Management > Service Applications > Manage service applications.
      3. On the SERVICE APPLICATIONS tab on the ribbon, click the New button, and then select Visio Graphics Service.
      4. Configure as follows:
        1. Name: Visio Graphics Service.
        2. Application Pool: Select Use existing application pool, and then select SharePoint Hosted Services.
        3. Add this services application to the farms default list: yes
      5. Click OK.
      6. Go to: CA > System Settings > Manage services on server.
      7. Start the Visio Graphics Service.
      8. Go to: Application Management > Service Applications > Manage service applications.
      9. Select the Secure Store Service application (don't click the title).
      10. On the SERVICE APPLICATIONS tab on the ribbon, click the Manage button.
      11. On the EDIT tab of the ribbon, click the New button.
      12. Configure as follows:
        1. Target Application ID: VisioUnattendedAccount.
        2. Display Name: Visio Unattended Account.
        3. Contact Email: [email address].
        4. Target Application Type: Group.
      13. Click Next.
      14. Click Next again.
      15. Configure as follows:
        1. Target Application Administrator: SharePoint Setup User Administrator Account.
        2. Members: [enter Domain Users].
      16. Click OK.
      17. Go to: Application Management > Service Applications > Manage service applications.
      18. Click on the title of the Visio Graphics Service application.
      19. Click on the Global Settings link.
      20. Scroll down to the External Data section, and then enter VisioUnattendedAccount.
      21. Click OK.
    8. Work Management Service
      1. Create a new application pool:
        New-SPServiceApplicationPool -Name "WMS AppPool" -Account "Domain\spApp"
        (Get-SPServiceApplicationPool "WMS AppPool").Provision()
      2. Go to: CA > Application Management > Manage service applications.
      3. On the SERVICE APPLICATIONS tab on the ribbon, click the New button, and the select Work Management Service Application.
      4. Configure as follows:
        1. Name: Work Management Service.
        2. Application Pool: Select Use existing application pool, and then select WMS AppPool"
        3. Service application proxy: enable.
      5. Click OK.
      6. Grant the account that the Work Management service is running as "Full Control" to the User Profiles Using "administrators" button on the ribbon
      7. Go to: Application Management > Service Applications > Manage service applications.
      8. Click on the title of the Work Management Service.
        If you check IIS Application Pools listing at this moment, you will not see the WMS AppPool show up just yet. You need to start the service, and then it will appear in the list. Note that it will not appear under its name, but under a GUID.
      9. Start the Work Management Service.
    9. Search Service
      • This will be engaged separately.
    10. Deploy Additional Service Applications
      1. Go to: CA > Security > Configure service accounts.
      2. Set Windows Service – Claims to Windows Token Service to the service account.
      3. Set Windows Service – Microsoft SharePoint Foundation Sandboxed Code Service to the service account (ie, spService).
      4. Go to: CA > System Settings > Manage services on server.
      5. Start Claims to Windows Token Service.
      6. Start Microsoft SharePoint Foundation Sandboxed Code Service.
  12. Configure Monitoring
    1. Configure Diagnostic Logging
      1. Go to: CA > Monitoring > Configure diagnostic logging.
      2. Configure as follows:
        1. Event Log Flood Protection: enabled (by default)
        2. Trace Log Path: (preferably a dedicated logging drive\SPLogs\ULS)
      3. Click OK.
    2. Configure Usage and Health data collection
      1. Go to: CA > Monitoring > Configure usage and health data collection  
      2. Configure as follows:
        1. Log file location: (preferably a dedicated logging drive\SPLogs\Usage)
        2. Enable health data collection: enabled
      3. Click OK.
  13. Provision Primary Content Web Application
    1. Create New Web Application
      1. Go to: CA > Application Management > Manage web applications
      2. On the WEB APPLICATIONS tab of the ribbon, click the New button.
      3. Configure as follows:
        1. Accept defaults unless otherwise indicated
        2. Name of the site (I prefer using no spaces)
        3. Host Header: FQDN of the DNS entry.  If you've configured temporary static DNS (via HOSTS file), enter this domain name.
        4. Database Name: [prefix]_Content
      4. Click OK
    2. Configure Web Application Settings
      1. Configure General Settings
        1. Accept defaults unless otherwise indicated
        2. Default Time Zone: select appropriate zone.
        3. Browser File Handling: Permissive (to enable PDFs to open in browser)
        4. Send User Name and Password in Email: No
        5. Maximum Upload Size: 50 MB
      2. Configure Resource Throttling
        1. Accept defaults unless otherwise indicated
      3. Configure Workflow
        1. Accept defaults unless otherwise indicated
      4. Configure Outgoing Email
        1. Accept defaults unless otherwise indicated.
          If you configured these settings for the farm already, these fields will be pre-populated for the web application.
        2. Outbound SMTP server: enter as appropriate
        3. From address: enter as appropriate
        4. Reply-To address: enter as appropriate
      5. Configure Mobile Account: skip
      6. Configure SharePoint Designer
        1. Accept defaults unless otherwise indicated.
    3. Create Root Site Collection
      1. Go to: CA > Application Management > Create site collections
      2. Configure as follows:
        1. Web Application: select the target web application.
        2. Title and Description: enter title.
        3. Template Selection: Publishing Portal.
        4. Primary Site Collection Administrator: SharePoint Setup User Administrator account.
        5. Secondary Site Collection Administrator: primary site collection administrator.
      3. Click OK
    4. Activate Key Features
      1. Web Application Level
        1. Go to: CA > Application Management > Manage Web Applications
        2. Select the primary content web application
        3. On the WEB APPLICATIONS tab on the ribbon, click the Manage Features button.
        4. Verify that the features listed below are activated.  If they are not, activate them.  Some of these features are necessary to support other applications and caching.
          1. Document Sets metadata synchronization
          2. SharePoint Server Enterprise Search
          3. SharePoint Server Enterprise Web application features
          4. SharePoint Server Site Search
          5. SharePoint Server Standard Web application features
      2. Site Collection Level
        1. Go to: Site Settings > Site Collection Administration > Site collection features.
        2. Verify that the features below are activated.  If they are not, activate them.  Some of these features are necessary to support other applications and caching:
          1. SharePoint Server Enterprise Site Collection features
          2. SharePoint Server Publishing Infrastructure
          3. SharePoint Server Standard Site Collection features
          4. Workflows
    5. Configure Caching
      1. Configure object cache user accounts
        1. Open an elevated SharePoint Management shell
        2. Execute the following:
          $wa = Get-SPWebApplication -Identity "[webapplication]"
          $wa.Properties["portalsuperuseraccount"] = "[superuser]"
          $wa.Properties["portalsuperreaderaccount"] = "[superreader]"
          $wa.Update()
          You must use the claims-authentication format for these user accounts. This is of the format:
          i:0#.w|domain\UserAccount
        3. Go to: CA > Application Management > Manage Web Applications
        4. Select the primary content web application.
        5. On the WEB APPLICATIONS tab on the ribbon, click the User Policy button.
        6. Click Add Users.
        7. On the Zones list, select All zones, and then click Next.
        8. In the Users text box, enter the super user account name in claims-authentication format.
        9. Check Full Control - Has full control.
        10. Click Finish.
        11. Click Add Users
        12. On the Zones list, select All zones, and then click Next.
        13. Check Full Read - Has full read-only access.
        14. In the Users text box, enter the super reader account name in claims-authentication format.
        15. Click Finish.
      2. Configure BLOB cache settings
        1. Navigate to C:\inetpub\wwwroot\wss\VirtualDirectories\[primary content web application]
        2. Save a copy of web.config.
        3. Open the original in NotePad.
        4. Search for "<BlobCache"
        5. Set the location attribute to a data drive, eg, "D:\spdata\blobcache".
        6. Set the enabled attributed to "true".
        7. Set the maxSize="10".
          This Microsoft TechNet article indicates that the default here is 10. Value is expressed in GB.  Changing this file in any way causes an IIS recycle.
        8. Save and close the file.
      3. Configure Page Output Cache
        1. Navigate to C:\inetpub\wwwroot\wss\VirtualDirectories\[primary content web application]
        2. Save a copy of web.config.
        3. Open the original in NotePad.
        4. Search for "<OutputCacheProfiles"
        5. Set the useCacheProfileOverrides to True.
        6. Save and close the file.
      4. Configure Object Cache
        1. Ensure that the SharePoint Server Publishing Infrastructure is activated for the site collection.
        2. Navigate to C:\inetpub\wwwroot\wss\VirtualDirectories\[primary content web application]
        3. Save a copy of web.config.
        4. Open the original in NotePad.
        5. Search for "<ObjectCache"
        6. Set the maxSize attribute to "100".
        7. Save and close the file.
  14. Provision a Search Service Application
    1. Preparation
      1. Verify setup user administrator account (eg, spAdmin) is member of local Administrator group on all farm servers. 
      2. Identify service accounts and passwords: 
        1. Content Access service account 
        2. Administration and query service account 
      3. Map the Admin service account to diagnostic logging database as dbo. 
      4. Identify the web front end server names 
        1. WFE1 
      5. Identify the drive on the servers where you want to store indexes.  This drive must be the same on all farm servers hosting SharePoint. 
        1. (eg) D:\SPIndex 
      6. Verify that any application pools created for previous installations (if any) of the Search Service Application have been removed. 
        1. (eg) Search Service AppPool 
    2. Implementation
      1. Instantiate Search Services 
        1. Remote into the application server as the Setup User Administrator account (eg, spAdmin). 
        2. Open the SharePoint 2013 Management Shell as administrator. 
        3. Download this script: Enterprise Search Deployment Script  . 
        4. Edit variables as appropriate to your farm. 
        5. Run the script. 
        6. After completion of the script, navigate to the Search Service Administration page and verify that the search service topology is similar to what is presented above. 
        7. Verify that the default content access service account is set as the crawl account. 
      2. Configure Content Sources 
        1. In CA, navigate to Content Sources, and then click on Local SharePoint sites (it will be the only item in the list at present). 
        2. Note the sources (URLs) present. 
        3. Create individual content sources for each of these URLs so that they can be crawl scheduled individually.  So, for example, configure the following entries: 
          1. Local SharePoint sites: point it to your primary web application.  If your farm has more than one web application supporting user websites, creating individual entries for each.
            At this point, you have not yet created My Sites or a User Profile Service application. Once you create these, you will need to update the Content Sources accordingly.
        4. Configure crawl schedules for each content source as appropriate. Create full and incremental schedules. 
      3. Configure SSL Content sources 
        1. If your search service needs to use SSL to crawl certain content sources, you will need to configure the service to ignore SSL warnings. 
        2. In CA, go to: General Application Settings > Search > Farm Search Administration. 
        3. In the Farm-Level Search Settings group, look for Ignore SSL warnings. 
        4. Click No. 
        5. Enable Ignore SSL certificate name warnings. 
        6. Click OK. 
      4. Additional Search Service Account Configuration
        1. Grant the Search Service account RW permission to the network backup folder.
      5. Provision Global Search Center
        1. Navigate to the root of the primary content site.
        2. From the Settings menu, select Site Content.
        3. Scroll down to the bottom and click the new subsite link.
        4. Enter the Title as SearchCenter.
        5. For the Web Site Address, enter SearchCenter.
        6. In the Template Selection group, select the Enterprise tab, and then select the Basic Search Center.
        7. In the Navigation Inheritance group, select Yes.
        8. Leave all other settings as default.
        9. Click the Create button.
          This will created a variety of search-type pages, including a results.aspx page.  This is the page you'll need to set the Global and site collection search results URLs to.
      6. Configure Global Search Center 
        1. In CA, navigate to the Search Service Administration page.
        2. Click the link, Enter a URL for the Global Search Center.
        3. Enter the Global Search Center URL to the Search Center results page you previously created for your web application.
        4. Click OK.
        5. Navigate to the root site collection of the content web application.
        6. Go: Site Settings > Site Collection Administration > Search Settings.
        7. Enter the Search Center URL.
        8. Uncheck Use the same results page settings as my parent.
        9. Select Send queries to a custom results page URL.
        10. Enter the URL to the Search Center results page.
        11. Click OK.
  15. Configure AppFabric
    1. Change AppFabric Service account
      By default, the AppFabric service will be configured to run under the farm service account.  This will eventually trigger a rule violation, The server farm account should not be used for other services.  To avoid this issue, change the AppFabric identity to another service account, such as the application server account (eg, spService).  The following steps show you how.
      1. Launch an elevated SharePoint Management shell.
      2. Execute the following commands in the  shell: use-cachecluster; get-CacheHost.  This should return a service status of UP.  If so, proceed to the next step.  Otherwise, troubleshoot and resolve before continuing.
      3. Execute the following commands:
         
        $farm = Get-SPFarm
        $cacheService = $farm.Services | 
          where {$_.Name -eq "AppFabricCachingService"}
        $accnt = Get-SPManagedAccount -Identity "domain\spService"
        $cacheService.ProcessIdentity.CurrentIdentityType = "SpecificUser"
        $cacheService.ProcessIdentity.ManagedAccount = $accnt
        $cacheService.ProcessIdentity.Update() 
        $cacheService.ProcessIdentity.Deploy()
          
        
      4. Test the reconfigured AppFabric service by executing the following commands in the same shell: use-cachecluster; get-CacheHost.  This should a service status of UP.  
  16. Final Checks
    1. Check Service Accounts
      1. In an elevated SharePoint Management shell, execute the following commands:

        $ComputerName = $env:computername
        $SPServices = Get-WmiObject -Class Win32_Service -ComputerName $ComputerName | ? {($_.Name -eq "AppFabricCachingService") -or ($_.Name -eq "c2wts") -or ($_.Name -eq "FIMService") -or ($_.Name -eq "FIMSynchronizationService") -or ($_.Name -eq "Service Bus Gateway") -or ($_.Name -eq "Service Bus Message Broker") -or ($_.Name -eq "SPAdminV4") -or ($_.Name -eq "SPSearchHostController") -or ($_.Name -eq "OSearch15") -or ($_.Name -eq "SPTimerV4") -or ($_.Name -eq "SPTraceV4") -or ($_.Name -eq "SPUserCodeV4") -or ($_.Name -eq "SPWriterV4") -or ($_.Name -eq "FabricHostSvc") -or ($_.Name -eq "WorkflowServiceBackend")}
        $SPServices | Select-Object DisplayName, StartName, StartMode, State, Status | Sort-Object DisplayName | Format-Table -AutoSize
         
      2. All service accounts listed should be running, except for the FIM and VSS Writer services.
    2. Check IIS Sites and App Pools
      1. In an elevated SharePoint Management shell, execute the following commands:

        Import-Module webadministration
        $IIS = Get-ChildItem IIS:\Sites | Select-Object Name, ID, ApplicationPool, ServerAutoStart, State
        $IIS | Format-Table -autosize
         
      2. All listed web sites should have a state of Started.
      3. Next, execute the following commands:

        Add-WindowsFeature Web-WMI
        $AppPools = Get-CimInstance -Namespace root/MicrosoftIISv2 -ClassName IIsApplicationPoolSetting -Property Name, AppPoolIdentityType, WAMUserName, AppPoolState | select @{e={$_.Name.Replace('W3SVC/APPPOOLS/', '')};l="Name"}, AppPoolIdentityType, WAMUserName, AppPoolState
        $AppPools | Format-Table -AutoSize
         
      4. All listed SharePoint application pools should have an AppPoolState of 2.
References

No comments: