<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>PowerShell Archives - Blog IT</title>
	<atom:link href="https://blogit.create.pt/category/tools/powershell/feed/" rel="self" type="application/rss+xml" />
	<link>https://blogit.create.pt/category/tools/powershell/</link>
	<description>Create IT blogger community</description>
	<lastBuildDate>Tue, 10 Mar 2020 11:07:59 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.1</generator>
	<item>
		<title>How to install a SharePoint 2016 farm using PowerShell and AutoSPInstaller Step by Step (Part 2)</title>
		<link>https://blogit.create.pt/miguelisidoro/2018/07/28/how-to-install-a-sharepoint-2016-farm-using-powershell-and-autospinstaller-part-2/</link>
					<comments>https://blogit.create.pt/miguelisidoro/2018/07/28/how-to-install-a-sharepoint-2016-farm-using-powershell-and-autospinstaller-part-2/#comments</comments>
		
		<dc:creator><![CDATA[Miguel Isidoro]]></dc:creator>
		<pubDate>Sat, 28 Jul 2018 23:32:14 +0000</pubDate>
				<category><![CDATA[SharePoint 2016]]></category>
		<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[AutoSPInstaller]]></category>
		<category><![CDATA[Deployment]]></category>
		<guid isPermaLink="false">http://blogit.create.pt/miguelisidoro/?p=1974</guid>

					<description><![CDATA[<p>This post is the second part of a two part step by step tutorial on how to install SharePoint 2016 in a fully automated way using PowerShell. To read the first part, click here. Introduction Before installing a SharePoint 2016 farm, it is important to be familiar with its requirements. To learn more about SharePoint [&#8230;]</p>
<p>The post <a href="https://blogit.create.pt/miguelisidoro/2018/07/28/how-to-install-a-sharepoint-2016-farm-using-powershell-and-autospinstaller-part-2/">How to install a SharePoint 2016 farm using PowerShell and AutoSPInstaller Step by Step (Part 2)</a> appeared first on <a href="https://blogit.create.pt">Blog IT</a>.</p>
]]></description>
										<content:encoded><![CDATA[This post is the second part of a two part step by step tutorial on how to install SharePoint 2016 in a fully automated way using PowerShell.

To read the first part, click <a href="https://blogit.create.pt////miguelisidoro/2018/07/28/how-to-install-a-sharepoint-2016-farm-using-powershell-and-autospinstaller-part-1/" target="_blank" rel="noopener noreferrer">here</a>.
<h1>Introduction</h1>
Before installing a SharePoint 2016 farm, it is important to be familiar with its requirements. To learn more about SharePoint 2016 hardware and software requirements, click <a href="https://docs.microsoft.com/en-us/sharepoint/install/hardware-and-software-requirements" target="_blank" rel="noreferrer noopener" aria-label=" (opens in a new tab)">here</a>.

Installing a SharePoint farm can be a complex task and the installation process is composed by a series of steps:
<ul>
 	<li>Downloading and installing SharePoint prerequisites</li>
 	<li>Downloading and installing the SharePoint binaries</li>
 	<li>Downloading and installing the lastest SharePoint updates</li>
 	<li>Downloading and installing the required language packs (optional, necessary if you want the SharePoint interface to be presented in a language other than English)</li>
 	<li>Configuring the SharePoint farm using SharePoint Products and Configuration Wizard</li>
</ul>
All the above steps are time consuming and can be error prone if, for example, you miss to download any of the prerequisites.

Fortunately, it is possible to fully automate a SharePoint farm installation using PowerShell by using a script called <a href="https://autospinstaller.com/" target="_blank" rel="noopener noreferrer">AutoSPInstaller</a>. The installation process can be divided in two major steps:
<ul>
 	<li>Downloading the SharePoint installation package, click <a href="https://blogit.create.pt////miguelisidoro/2018/07/28/how-to-install-a-sharepoint-2016-farm-using-powershell-and-autospinstaller-part-1/" target="_blank" rel="noopener noreferrer">here</a> for more details</li>
 	<li>Installing SharePoint and configuring the SharePoint farm</li>
</ul>
In this post, I will talk about the second part of the process: installing SharePoint and configuring the SharePoint farm.

<a href="https://autospinstaller.com/" target="_blank" rel="noopener noreferrer">AutoSPInstaller</a> can be used to install a SharePoint farm in the following versions of SharePoint:
<ul>
 	<li>SharePoint 2010</li>
 	<li>SharePoint 2013</li>
 	<li>SharePoint 2016</li>
 	<li>SharePoint 2019 (to learn more about all the new features in SharePoint 2019, click <a href="https://blogit.create.pt////miguelisidoro/2018/11/01/meet-the-new-modern-sharepoint-server-sharepoint-2019-rtm-is-here/" target="_blank" rel="noopener noreferrer">here)</a></li>
</ul>
The example in this post is based on SharePoint 2016 with the following farm topology:

<!-- /wp:post-content --> <!-- wp:list -->
<ul>
 	<li>1 SharePoint 2016 Server</li>
 	<li>1 Database Server</li>
</ul>
<h1>Managed Accounts and Pre-Installation Requisites</h1>
This is a critical step to ensure a successful SharePoint installation. Before the AutoSPInstaller script is executed, all the necessary managed accounts must be created and the appropriate permissions must be properly granted to each account. If any of these permissions is not granted, you will probably encounter problems during the installation. From my experience doing SharePoint installations, creating these accounts with all the required permissions ensures a fast and successful SharePoint installation. Here is the list of accounts and required permissions:
<table style="height: 2873px" width="700">
<tbody>
<tr>
<td width="86"><strong>Name</strong></td>
<td width="259"><strong>Description</strong></td>
<td width="134"><strong>Local Rights</strong></td>
<td width="102"><strong>Domain Rights</strong></td>
</tr>
<tr>
<td width="86">sp_farm</td>
<td width="259">The server farm account is used to perform the following tasks:
-Configure and manage the server farm.
-Act as the application pool identity for the SharePoint Central Administration Web site.
-Run the Microsoft SharePoint Foundation Workflow Timer Service.</td>
<td width="134">SecurityAdmin and DB_Creator rights on the SQL Instance</td>
<td width="102">Domain User</td>
</tr>
<tr>
<td width="86">sp_admin</td>
<td width="259">The server farm account is used to perform the following tasks:
-Setup
-SharePoint Products Configuration Wizard</td>
<td width="134">Local Administrator on all the SharePoint Servers. SysAdmin, SecurityAdmin and DB_Creator rights on the SQL Instance.
Must be na account with permissions to add rules to the local firewall.</td>
<td width="102">Domain User</td>
</tr>
<tr>
<td width="86">sp_pool</td>
<td width="259">The Pool account is used to run the Web Application Pools</td>
<td width="134">None</td>
<td width="102">Domain User</td>
</tr>
<tr>
<td width="86">sp_services</td>
<td width="259">The Services Account is used to run the Service Application Pool</td>
<td width="134">None</td>
<td width="102">Domain User</td>
</tr>
<tr>
<td width="86">sp_crawl</td>
<td width="259">The Default Content Access Account for the Search Service Application</td>
<td width="134">None</td>
<td width="102">Domain User</td>
</tr>
<tr>
<td width="86">sp_search</td>
<td width="259">Service Account to run the SharePoint Search “Windows Service”</td>
<td width="134">Local Administrator and SysAdmin rights on the SQL instance</td>
<td width="102">Domain User</td>
</tr>
<tr>
<td width="86">sp_mysitepool</td>
<td width="259">Used for the My Sites Web Application</td>
<td width="134">None</td>
<td width="102">Domain User</td>
</tr>
<tr>
<td width="86">sp_userprofilesync</td>
<td width="259">The User Profile Synchronization Account</td>
<td width="134">None</td>
<td width="102"><a href="http://bit.ly/TSE7xs" target="_blank" rel="noopener noreferrer">Replicating Directory Changes permission on the domain.</a></td>
</tr>
<tr>
<td width="86">wf_service</td>
<td width="259">WorkFlow Manager Service Account</td>
<td width="134">Local Administrator and SysAdmin rights on the SQL instance.</td>
<td width="102">Domain User</td>
</tr>
<tr>
<td width="86">sp_portalsuperuser</td>
<td width="259">Object Cache Service Account. The goals of the object cache are to reduce the load on the computer on which SQL Server is running, and to improve request latency and throughput. These user account must be properly configured to ensure that the object cache works correctly.</td>
<td width="134">None.
SharePoint: Must be an account that has Full Control access to the Web application.</td>
<td width="102">Domain User</td>
</tr>
<tr>
<td width="86">sp_portalsuperreader</td>
<td width="259">Object Cache Service Account. The goals of the object cache are to reduce the load on the computer on which SQL Server is running, and to improve request latency and throughput. These user account must be properly configured to ensure that the object cache works correctly.</td>
<td width="134">None.
SharePoint: Must be an account that has Full Read access to the Web application.</td>
<td width="102">Domain User</td>
</tr>
</tbody>
</table>
<strong>
Important Notes: </strong>
<ul>
 	<li>To avoid problems executing the AutoSPInstaller script, ensure that the passwords of the above accounts do not contain any special characters (ex: $,%,&amp;,/. etc)</li>
 	<li>The above table contains a proposal to name the accounts for the SharePoint installation. If you choose to use different names, ensure that the account names do not exceed 20 characters since NETBIOS names have a limit of 20 characters</li>
</ul>
<h1>Download AutoSPInstaller PowerShell script</h1>
To download the latest version of AutoSPInstaller, click <a href="https://github.com/brianlala/AutoSPInstaller" target="_blank" rel="noopener noreferrer">here</a>.

The files should be extracted to C:\SP\AutoSPInstaller, assuming that the SharePoint 2016 installation files downloaded with AutoSPSourceBuilder were saved to C:\SP\2016.

This is the folder structure that AutoSPInstaler uses:

<strong>\SP\AutoSPInstaller\AutoSPInstallerLaunch.bat</strong>
<strong>\SP\AutoSPInstaller\AutoSPInstallerInput.xml</strong>
<strong>\SP\AutoSPInstaller\AutoSPInstallerMain.ps1\SP\AutoSPInstaller\AutoSPInstallerFunctions.ps1</strong>
<strong>\SP\AutoSPInstaller\AutoSPInstallerFunctionsCustom.ps1</strong>
<strong>\SP\AutoSPInstaller\AutoSPInstallerConfigureRemoteTarget.ps1</strong>
<strong>\SP\AutoSPInstaller\config.xml</strong>
<strong>\SP\201x\SharePoint\&lt;installation files &amp; folders&gt;</strong>
<strong>\SP\201x\SharePoint\PreRequisiteInstallerFiles\</strong>
<strong>\SP\201x\SharePoint\Updates\</strong>
<strong>\SP\201x\LanguagePacks\xx-xx\ </strong>
<strong>\SP\201x\LanguagePacks\xx-xx\Updates\ </strong>
<strong>\SP\201x\Updates\</strong>

In this example, the root folder of the installation is C:\SP.
<h1>Creating the AutoSPInstaller configuration file</h1>
The next step, is to configure the AutoSPInstaller input configuration file that can be done in the <a href="https://autospinstaller.com" target="_blank" rel="noopener noreferrer">AutoSPInstaller web site</a>.  The end result of the configurations set in the AutoSPInstaller web site is the download of an XML file (AutoSPInstallerInput.xml) that contains all the settings required to configure the SharePoint farm. The AutoSPInstallerInput.xml file contains among other configurations:
<ul>
 	<li>SharePoint version to install</li>
 	<li>The SharePoint product key</li>
 	<li>The Farm Account and all Managed Accounts and their credentials</li>
 	<li>The database instance that will support the SharePoint environment</li>
 	<li>The web applications we want to create (ex: Intranet. My Site, etc)</li>
 	<li>The service applications we want to enable and their configurations</li>
 	<li>Outgoing email settings for the farm</li>
 	<li>Database names: this is extremely useful since it allows us to have complete control over the names of all the databases that will be created during the SharePoint farm configuration and avoid having databases with unclear names containing GUIDs which is the default behavior if we configure the farm using SharePoint Products Configuration Wizard (PSConfig)</li>
</ul>
<img fetchpriority="high" decoding="async" class="size-full wp-image-2154 alignnone" src="https://blogit.create.pt////wp-content/uploads/2018/07/AutoSPInstaller_DBs.jpg" alt="" width="944" height="374" srcset="https://blogit.create.pt/wp-content/uploads/2018/07/AutoSPInstaller_DBs.jpg 944w, https://blogit.create.pt/wp-content/uploads/2018/07/AutoSPInstaller_DBs-300x119.jpg 300w, https://blogit.create.pt/wp-content/uploads/2018/07/AutoSPInstaller_DBs-768x304.jpg 768w, https://blogit.create.pt/wp-content/uploads/2018/07/AutoSPInstaller_DBs-696x276.jpg 696w" sizes="(max-width: 944px) 100vw, 944px" />

The AutoSPInstallerInput.xml file should be placed in C:\SP\AutoSPInstaller.
<h1>Installing SharePoint</h1>
After the AutoSPInstallerInput.xml file is configured, it&#8217;s time to install SharePoint!

<strong>IMPORTANT:</strong> the following steps should be executed using the <strong>sp_admin</strong> account.

Follow the following steps:

1. Run AutoSPInstallerLaunch.bat from the command line (run as administrator)

<a href="http://blogit.create.pt/miguelisidoro/wp-content/uploads/sites/71/2018/07/AutoSPInstaller_RunBat.jpg"><img decoding="async" class="alignnone size-full wp-image-2214" src="http://blogit.create.pt/miguelisidoro/wp-content/uploads/sites/71/2018/07/AutoSPInstaller_RunBat.jpg" alt="" width="759" height="428" srcset="https://blogit.create.pt/wp-content/uploads/2018/07/AutoSPInstaller_RunBat.jpg 759w, https://blogit.create.pt/wp-content/uploads/2018/07/AutoSPInstaller_RunBat-300x169.jpg 300w, https://blogit.create.pt/wp-content/uploads/2018/07/AutoSPInstaller_RunBat-696x392.jpg 696w, https://blogit.create.pt/wp-content/uploads/2018/07/AutoSPInstaller_RunBat-745x420.jpg 745w" sizes="(max-width: 759px) 100vw, 759px" /></a>

AutoSPInstallerLaunch.bat will launch a PowerShell window that will install SharePoint and configure the farm using as an input the AutoSPInstaller XML configuration file (AutoSPInstallerInput.xml) previously configured using the AutoSPInstaller web site.

2. After the PowerShell window is launched, the following will happen:
<ul>
 	<li>Managed accounts credentials will be validated. If any of the credentials is incorrect, the script will stop</li>
 	<li>SharePoint prerequisites will be installed</li>
 	<li>SharePoint will be installed</li>
 	<li>SharePoint language packs will be installed</li>
 	<li>SharePoint updates will be installed</li>
</ul>
During the script execution. a message may be presented saying that the script needs to be re-launched to workaround an known issue with SharePoint 2016 when language packs are being installed.

<a href="http://blogit.create.pt/miguelisidoro/wp-content/uploads/sites/71/2018/07/AutoSPInstaller_PowerShell_Issue.jpg.png"><img decoding="async" class="alignnone size-full wp-image-2204" src="http://blogit.create.pt/miguelisidoro/wp-content/uploads/sites/71/2018/07/AutoSPInstaller_PowerShell_Issue.jpg.png" alt="" width="867" height="641" srcset="https://blogit.create.pt/wp-content/uploads/2018/07/AutoSPInstaller_PowerShell_Issue.jpg.png 867w, https://blogit.create.pt/wp-content/uploads/2018/07/AutoSPInstaller_PowerShell_Issue.jpg-300x222.png 300w, https://blogit.create.pt/wp-content/uploads/2018/07/AutoSPInstaller_PowerShell_Issue.jpg-768x568.png 768w, https://blogit.create.pt/wp-content/uploads/2018/07/AutoSPInstaller_PowerShell_Issue.jpg-80x60.png 80w, https://blogit.create.pt/wp-content/uploads/2018/07/AutoSPInstaller_PowerShell_Issue.jpg-696x515.png 696w, https://blogit.create.pt/wp-content/uploads/2018/07/AutoSPInstaller_PowerShell_Issue.jpg-568x420.png 568w" sizes="(max-width: 867px) 100vw, 867px" /></a>

After the script is re-launched, the installation will resume until all SharePoint binaries are installed.

<a href="http://blogit.create.pt/miguelisidoro/wp-content/uploads/sites/71/2018/07/AutoSPInstaller_PowerShell.jpg"><img decoding="async" class="alignnone size-full wp-image-2234" src="http://blogit.create.pt/miguelisidoro/wp-content/uploads/sites/71/2018/07/AutoSPInstaller_PowerShell.jpg" alt="" width="878" height="629" srcset="https://blogit.create.pt/wp-content/uploads/2018/07/AutoSPInstaller_PowerShell.jpg 878w, https://blogit.create.pt/wp-content/uploads/2018/07/AutoSPInstaller_PowerShell-300x215.jpg 300w, https://blogit.create.pt/wp-content/uploads/2018/07/AutoSPInstaller_PowerShell-768x550.jpg 768w, https://blogit.create.pt/wp-content/uploads/2018/07/AutoSPInstaller_PowerShell-696x499.jpg 696w, https://blogit.create.pt/wp-content/uploads/2018/07/AutoSPInstaller_PowerShell-586x420.jpg 586w" sizes="(max-width: 878px) 100vw, 878px" /></a>
<h1>Configuring the SharePoint Farm</h1>
After SharePoint is installed, the script will ask if we want to proceed with farm configuration. To proceed, select &#8220;y&#8221; and click ENTER. The script will, among others, perform the following actions:
<ul>
 	<li>Create all managed accounts</li>
 	<li>Configure IIS and SharePoint ULS log file paths</li>
 	<li>Create the configured web applications (ex: Intranet, My Site)</li>
 	<li>Configure the service applications</li>
 	<li>Configure outgoing email settings for the farm</li>
</ul>
After the farm configuration is completed, the Central Administration will be opened and SharePoint is installed!

<a href="http://blogit.create.pt/miguelisidoro/wp-content/uploads/sites/71/2018/07/SharePoint2016_CA.jpg"><img decoding="async" class="alignnone size-full wp-image-2224" src="http://blogit.create.pt/miguelisidoro/wp-content/uploads/sites/71/2018/07/SharePoint2016_CA.jpg" alt="" width="1366" height="663" srcset="https://blogit.create.pt/wp-content/uploads/2018/07/SharePoint2016_CA.jpg 1366w, https://blogit.create.pt/wp-content/uploads/2018/07/SharePoint2016_CA-300x146.jpg 300w, https://blogit.create.pt/wp-content/uploads/2018/07/SharePoint2016_CA-768x373.jpg 768w, https://blogit.create.pt/wp-content/uploads/2018/07/SharePoint2016_CA-1024x497.jpg 1024w, https://blogit.create.pt/wp-content/uploads/2018/07/SharePoint2016_CA-696x338.jpg 696w, https://blogit.create.pt/wp-content/uploads/2018/07/SharePoint2016_CA-1068x518.jpg 1068w, https://blogit.create.pt/wp-content/uploads/2018/07/SharePoint2016_CA-865x420.jpg 865w" sizes="(max-width: 1366px) 100vw, 1366px" /></a>

<!-- wp:heading {"level":1} -->
<h1>Multi-Server Installation</h1>
<!-- /wp:heading -->

<!-- wp:paragraph -->

If you want to install SharePoint 2016 in multiple servers there is a number of considerations that you have to take into account. Some of the most important decisions are:

<!-- /wp:paragraph -->

<!-- wp:list -->
<ul>
 	<li>What is your farm topology and the number of servers you want to consider (WFEs, Application Servers and Database Servers)</li>
 	<li>Which services and service applications will be provisioned for each server</li>
 	<li>Will you be using MinRoles or will you use a custom installation where you will be manually selecting the services and service applications that will be provisioned for each server?</li>
</ul>
<!-- /wp:list -->

<!-- wp:paragraph -->

If you use MinRoles, these will supersede the individual service and service application selection for each server in the farm. These are the available MinRoles:

<!-- /wp:paragraph -->

<!-- wp:list -->
<ul>
 	<li>Front-end</li>
 	<li>Application</li>
 	<li>Distributed cache</li>
 	<li>Search</li>
 	<li>Custom</li>
 	<li>Single-server farm</li>
 	<li>Front-end with Distributed Cache (merge of
Front-end and Distributed cache MinRoles). available with Feature Pack 1 update or later</li>
 	<li>Application with Search (merge of Application and Search MinRoles). available with Feature Pack 1 update or later</li>
</ul>
<!-- /wp:list -->

<!-- wp:paragraph -->

Each of the MinRoles automatically provisions a specific set of services and service applications. If you want to learn more about MinRoles, click <a href="https://docs.microsoft.com/en-us/sharepoint/administration/description-of-minrole-and-associated-services-in-sharepoint-server-2016" target="_blank" rel="noreferrer noopener" aria-label="here (opens in a new tab)">here</a>.

<!-- /wp:paragraph -->

<!-- wp:paragraph -->

Once farm topology and service/service application distribution is decided, we are ready to install SharePoint 2016 in multiple servers. For the installation process, you basically have two options:

<!-- /wp:paragraph -->

<!-- wp:list -->
<ul>
 	<li>Use Remote Installation</li>
 	<li>Install SharePoint individually in each SharePoint server</li>
</ul>
<!-- /wp:list -->

<!-- wp:heading {"level":3} -->
<h3>AutoSPInstaller Input File Configuration for Multi-Server Installation Notes when not using MinRoles</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->

If you decide not to use MinRoles and go for a Custom installation (which allows for a more granular selection of what services are provisioned in each server), you must ensure that the AutoSPInstaller XML input file in all servers is configured as Custom.

<!-- /wp:paragraph -->

<!-- wp:paragraph -->

When configuring AutoSPInstaller in the <a href="https://autospinstaller.com/" target="_blank" rel="noreferrer noopener">AutoSPInstaller web site</a> not to to use MinRoles, you will typically have a configuration similar to the one below.

<!-- /wp:paragraph -->

<!-- wp:image {"id":11669,"align":"center"} -->
<div class="wp-block-image">
<figure class="aligncenter"><img decoding="async" width="591" height="613" class="wp-image-11669" src="https://blogit.create.pt////wp-content/uploads/2019/10/AutoSPInstaller_MultiServerConfig_MinRoles.jpg" alt="" srcset="https://blogit.create.pt/wp-content/uploads/2019/10/AutoSPInstaller_MultiServerConfig_MinRoles.jpg 591w, https://blogit.create.pt/wp-content/uploads/2019/10/AutoSPInstaller_MultiServerConfig_MinRoles-289x300.jpg 289w, https://blogit.create.pt/wp-content/uploads/2019/10/AutoSPInstaller_MultiServerConfig_MinRoles-405x420.jpg 405w" sizes="(max-width: 591px) 100vw, 591px" /></figure>
</div>
<!-- /wp:image -->

<!-- wp:image {"id":11670,"align":"center"} -->
<div class="wp-block-image">
<figure class="aligncenter"><img decoding="async" width="583" height="450" class="wp-image-11670" src="https://blogit.create.pt////wp-content/uploads/2019/10/AutoSPInstaller_MultiServerConfig_FarmServices.jpg" alt="" srcset="https://blogit.create.pt/wp-content/uploads/2019/10/AutoSPInstaller_MultiServerConfig_FarmServices.jpg 583w, https://blogit.create.pt/wp-content/uploads/2019/10/AutoSPInstaller_MultiServerConfig_FarmServices-300x232.jpg 300w, https://blogit.create.pt/wp-content/uploads/2019/10/AutoSPInstaller_MultiServerConfig_FarmServices-544x420.jpg 544w" sizes="(max-width: 583px) 100vw, 583px" /></figure>
</div>
<!-- /wp:image -->

<!-- wp:paragraph -->

This seems correct but the generated XML configuration will have the following configuration in the &lt;ServerRoles&gt; section:

<!-- /wp:paragraph -->

<!-- wp:list -->
<ul>
 	<li>&lt;<strong>Custom </strong>Provision=&#8221; <strong>false</strong>&#8221; /&gt;</li>
 	<li>&lt;<strong>SingleServerFarm </strong>Provision=&#8221;<strong>localhost</strong> &#8221; /&gt;</li>
</ul>
<!-- /wp:list -->

<!-- wp:paragraph -->

With the configuration above, each server will be installed with a single server role and you will only be able to join the first server to the farm. When you try to add the remaining servers, the AutoSPInstaller PowerShell script instead of adding the servers to the farm, will try to recreate the farm, which will result in the error below.

<!-- /wp:paragraph -->

<!-- wp:image {"id":11679} -->
<figure class="wp-block-image"><img decoding="async" class="wp-image-11679" src="https://i0.wp.com/blogit.create.pt/wp-content/uploads/2019/10/SPFarmJoinError_AutoSPInstaller_Error.jpg?fit=696%2C239&amp;ssl=1" alt="" width="696" height="239" srcset="https://blogit.create.pt/wp-content/uploads/2019/10/SPFarmJoinError_AutoSPInstaller_Error.jpg 1073w, https://blogit.create.pt/wp-content/uploads/2019/10/SPFarmJoinError_AutoSPInstaller_Error-300x103.jpg 300w, https://blogit.create.pt/wp-content/uploads/2019/10/SPFarmJoinError_AutoSPInstaller_Error-768x263.jpg 768w, https://blogit.create.pt/wp-content/uploads/2019/10/SPFarmJoinError_AutoSPInstaller_Error-1024x351.jpg 1024w, https://blogit.create.pt/wp-content/uploads/2019/10/SPFarmJoinError_AutoSPInstaller_Error-696x239.jpg 696w, https://blogit.create.pt/wp-content/uploads/2019/10/SPFarmJoinError_AutoSPInstaller_Error-1068x366.jpg 1068w" sizes="(max-width: 696px) 100vw, 696px" /></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->

If you try to add the server manually to the farm, you will get the error below.

<!-- /wp:paragraph -->

<!-- wp:image {"id":11675} -->
<figure class="wp-block-image"><img decoding="async" width="676" height="581" class="wp-image-11675" src="https://blogit.create.pt////wp-content/uploads/2019/10/SPFarmJoinError.jpg" alt="" srcset="https://blogit.create.pt/wp-content/uploads/2019/10/SPFarmJoinError.jpg 676w, https://blogit.create.pt/wp-content/uploads/2019/10/SPFarmJoinError-300x258.jpg 300w, https://blogit.create.pt/wp-content/uploads/2019/10/SPFarmJoinError-489x420.jpg 489w" sizes="(max-width: 676px) 100vw, 676px" /></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->

To solve this, you must edit the XML configuration to configure the servers as &#8220;Custom&#8221; and not &#8220;SingleServerFarm&#8221;, using with the following configuration:

<!-- /wp:paragraph -->

<!-- wp:list -->
<ul>
 	<li>&lt;<strong>Custom </strong>Provision=&#8221;<strong>localhost</strong>&#8221; /&gt;</li>
 	<li>&lt;<strong>SingleServerFarm </strong>Provision=&#8221;<strong>false</strong>&#8221; /&gt;</li>
</ul>
<!-- /wp:list -->

<!-- wp:code -->
<pre class="wp-block-code"><code>&lt;ServerRoles&gt;
    &lt;Custom Provision="localhost" /&gt;
    &lt;WebFrontEnd Provision="false" /&gt;
    &lt;WebFrontEndWithDistributedCache Provision="false" /&gt;
    &lt;SingleServerFarm Provision="false" /&gt;
    &lt;Search Provision="false" /&gt;
    &lt;Application Provision="false" /&gt;
    &lt;ApplicationWithSearch Provision="false" /&gt;
    &lt;DistributedCache Provision="false" /&gt;
&lt;/ServerRoles&gt;</code></pre>
<!-- /wp:code -->

<!-- wp:list -->

<!-- /wp:list -->

<!-- wp:heading -->
<h2>Remote Installation</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->

In this approach, SharePoint will be installed using AutoSPInstaller on all servers from one of the SharePoint servers. The script will first install SharePoint locally on the server where the script is being executed and will then install SharePoint remotely on the other servers (all at once or one by one depending on AutoSPInstaller configuration file). The installation on the remote servers is performed using PowerShell Remoting and Windows Remote Management (WinRM). WinRM must be enabled for each of the servers where SharePoint will be installed remotely. To learn more about Remote Install (example for SharePoint 2013 but valid for SharePoint 2016 in what regards to remote installation), click <a href="https://www.c5insight.com/Resources/Blog/tabid/148/entryid/586/using-autospinstaller-to-build-a-three-tier-sharepoint-2013-farm-part-1.aspx" target="_blank" rel="noreferrer noopener" aria-label=" (opens in a new tab)">here</a>.

<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2>Install SharePoint individually in each SharePoint server</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->

This option doesn&#8217;t require WinRM to be enabled on any of the servers but requires instead that the AutoSPInstaller installation folder (C:\SP in this post) is copied to all servers. Additionally, there are some important notes to consider:

<!-- /wp:paragraph -->

<!-- wp:list -->
<ul>
 	<li>SharePoint bits must be installed on all servers <strong>but farm configuration must only be done once all servers have the SharePoint bits installed</strong>. You may Install the SharePoint bits (all steps before the &#8220;Configuring the SharePoint Farm&#8221; in this post) in all servers at the same time but you must stop the installation process once you are asked to continue with farm configuration</li>
 	<li>After the SharePoint bits are installed on all servers, you may proceed to the &#8220;Configuring the SharePoint Farm&#8221; section of this post <strong>BUT this must be done server by server, one at a time, sequentially</strong>. The AutoSPInstaller configuration file will determine what services and service applications are going to be provisioned on each server:
<ul>
 	<li>When you run the farm configuration in the first server, the farm will be created and the services and service applications that are configured to run on that server will be provisioned</li>
 	<li>When you run the farm configuration on the other servers, each server will be added to the farm and the services and service applications that are configured to run on that server will be provisioned</li>
</ul>
</li>
</ul>
<!-- /wp:list -->

<!-- wp:paragraph -->

To read the first part of this two part step by step tutorial, click <a href="https://blogit.create.pt////miguelisidoro/2018/07/28/how-to-install-a-sharepoint-2016-farm-using-powershell-and-autospinstaller-part-1/" target="_blank" rel="noopener noreferrer">here.</a>
<h1>Related Articles</h1>
To learn why your business should migrate to SharePoint Online and Office 365, click <a href="https://blogit.create.pt////miguelisidoro/2019/07/29/why-your-business-should-migrate-to-sharepoint-online-and-office-365-the-value-offer-part-1/" target="_blank" rel="noreferrer noopener">here</a> and <a href="https://blogit.create.pt////miguelisidoro/2019/07/29/why-your-business-should-migrate-to-sharepoint-online-and-office-365-the-value-offer-part-2/" target="_blank" rel="noreferrer noopener">here</a>.

If you want to convert your tenant&#8217;s root classic site into a modern SharePoint site, click <a href="https://blogit.create.pt////miguelisidoro/2019/08/27/how-to-modernize-your-tenant-root-site-collection-in-office-365-using-invoke-spositeswap/" target="_blank" rel="noreferrer noopener">here</a>.

<a href="https://autospinstaller.com/" target="_blank" rel="noopener noreferrer">AutoSPInstaller</a> is also already available for the recently announced new version SharePoint, SharePoint 2019. To learn more about all the new features in SharePoint 2019, click <a href="https://blogit.create.pt////miguelisidoro/2018/11/01/meet-the-new-modern-sharepoint-server-sharepoint-2019-rtm-is-here/" target="_blank" rel="noopener noreferrer">here.</a>

If you are a SharePoint administrator or a SharePoint developer who wants to learn more about how to install a SharePoint 2019 farm in an automated way using PowerShell, I invite you to click <a href="https://blogit.create.pt////miguelisidoro/2018/12/09/how-to-install-a-sharepoint-2019-farm-using-powershell-and-autospinstaller-part-1/" target="_blank" rel="noopener noreferrer">here</a> and <a href="https://blogit.create.pt////miguelisidoro/2018/12/09/how-to-install-a-sharepoint-2019-farm-using-powershell-and-autospinstaller-part-2/" target="_blank" rel="noopener noreferrer">here</a>.

If you want to learn how to upgrade a SharePoint 2013 farm to SharePoint 2019, click <a href="https://blogit.create.pt////miguelisidoro/2019/03/06/how-to-upgrade-from-sharepoint-2013-to-sharepoint-2019-step-by-step-part-1/" target="_blank" rel="noreferrer noopener">here </a>and <a href="https://blogit.create.pt////miguelisidoro/2019/03/06/how-to-upgrade-from-sharepoint-2013-to-sharepoint-2019-step-by-step-part-2/" target="_blank" rel="noreferrer noopener">here</a>.

If you want to learn all the steps and precautions necessary to successfully keep your SharePoint farm updated and be ready to start your move to the cloud, click <a href="https://blogit.create.pt////miguelisidoro/2019/04/08/how-to-install-sharepoint-cumulative-updates-in-a-sharepoint-farm-step-by-step/" target="_blank" rel="noreferrer noopener">here</a>.

If you learn how to greatly speed up your SharePoint farm update process to ensure your SharePoint farm keeps updated and you stay one step closer to start your move to the cloud, click <a href="https://blogit.create.pt////miguelisidoro/2019/05/02/how-to-speed-up-the-installation-of-sharepoint-cumulative-updates-using-powershell-step-by-step/" target="_blank" rel="noreferrer noopener" aria-label="here (opens in a new tab)">here</a>.

If you want to learn how to upgrade a SharePoint 2010 farm to SharePoint 2016, click <a href="https://blogit.create.pt////miguelisidoro/2019/02/04/sharepoint-upgrade-upgrading-a-sharepoint-2010-farm-to-sharepoint-2016-step-by-step-part-1/" target="_blank" rel="noreferrer noopener">here </a>and <a href="https://blogit.create.pt////miguelisidoro/2019/02/04/sharepoint-upgrade-upgrading-a-sharepoint-2010-farm-to-sharepoint-2016-step-by-step-part-2/" target="_blank" rel="noreferrer noopener">here</a>.

If you are new to SharePoint and Office 365 and want to learn all about it, take a look at these <a href="https://blogit.create.pt////miguelisidoro/2018/10/17/sharepoint-and-office-365-learning-resources/" target="_blank" rel="noreferrer noopener">learning resources</a>.

If you are work in a large organization who is using Office 365 or thinking to move to Office 365 and is considering between a single or multiple Office 365 tenants, I invite you to read <a href="https://blogit.create.pt////miguelisidoro/2019/01/07/pros-and-cons-of-single-tenant-vs-multiple-tenants-in-office-365/" target="_blank" rel="noreferrer noopener">this article</a>.

If you want to know all about the latest SharePoint and Office 365 announcements from SharePoint Conference 2019, click <a href="https://blogit.create.pt////miguelisidoro/2019/06/05/whats-new-for-sharepoint-and-office-365-from-sharepoint-conference-2019-part-1/" target="_blank" rel="noreferrer noopener">here </a>and <a href="https://blogit.create.pt////miguelisidoro/2019/06/05/whats-new-for-sharepoint-and-office-365-from-sharepoint-conference-2019-part-2/" target="_blank" rel="noreferrer noopener">here</a>.

Happy SharePointing!

<!-- wp:paragraph -->

<!-- /wp:paragraph --><!-- /wp:paragraph --><p>The post <a href="https://blogit.create.pt/miguelisidoro/2018/07/28/how-to-install-a-sharepoint-2016-farm-using-powershell-and-autospinstaller-part-2/">How to install a SharePoint 2016 farm using PowerShell and AutoSPInstaller Step by Step (Part 2)</a> appeared first on <a href="https://blogit.create.pt">Blog IT</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blogit.create.pt/miguelisidoro/2018/07/28/how-to-install-a-sharepoint-2016-farm-using-powershell-and-autospinstaller-part-2/feed/</wfw:commentRss>
			<slash:comments>6</slash:comments>
		
		
			</item>
		<item>
		<title>How to install a SharePoint 2016 farm using PowerShell and AutoSPInstaller Step by Step (Part 1)</title>
		<link>https://blogit.create.pt/miguelisidoro/2018/07/28/how-to-install-a-sharepoint-2016-farm-using-powershell-and-autospinstaller-part-1/</link>
					<comments>https://blogit.create.pt/miguelisidoro/2018/07/28/how-to-install-a-sharepoint-2016-farm-using-powershell-and-autospinstaller-part-1/#comments</comments>
		
		<dc:creator><![CDATA[Miguel Isidoro]]></dc:creator>
		<pubDate>Sat, 28 Jul 2018 19:02:54 +0000</pubDate>
				<category><![CDATA[SharePoint 2016]]></category>
		<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[AutoSPInstaller]]></category>
		<category><![CDATA[AutoSPSourceBuilder]]></category>
		<category><![CDATA[Deployment]]></category>
		<guid isPermaLink="false">http://blogit.create.pt/miguelisidoro/?p=1484</guid>

					<description><![CDATA[<p>This post is the first part of a two part step by step tutorial on how to install SharePoint 2016 in a fully automated way using PowerShell. To read the second part, click here. Introduction Before installing a SharePoint 2016 farm, it is important to be familiar with its requirements. To learn more about SharePoint 2016 [&#8230;]</p>
<p>The post <a href="https://blogit.create.pt/miguelisidoro/2018/07/28/how-to-install-a-sharepoint-2016-farm-using-powershell-and-autospinstaller-part-1/">How to install a SharePoint 2016 farm using PowerShell and AutoSPInstaller Step by Step (Part 1)</a> appeared first on <a href="https://blogit.create.pt">Blog IT</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>This post is the first part of a two part step by step tutorial on how to install SharePoint 2016 in a fully automated way using PowerShell.</p>
<p>To read the second part, click <a href="https://blogit.create.pt////miguelisidoro/2018/07/28/how-to-install-a-sharepoint-2016-farm-using-powershell-and-autospinstaller-part-2/" target="_blank" rel="noreferrer noopener" aria-label="To read the first part, click here. (opens in a new tab)">here</a>.</p>
<h1>Introduction</h1>
<p>Before installing a SharePoint 2016 farm, it is important to be familiar with its requirements. To learn more about SharePoint 2016 hardware and software requirements, click <a href="https://docs.microsoft.com/en-us/sharepoint/install/hardware-and-software-requirements" target="_blank" rel="noreferrer noopener" aria-label=" (opens in a new tab)">here</a>.</p>
<p>Installing a SharePoint farm can be a complex task and the installation process is composed by a series of steps:</p>
<ul>
<li>Downloading and installing SharePoint prerequisites</li>
<li>Downloading and installing the SharePoint binaries</li>
<li>Downloading and installing the lastest SharePoint updates</li>
<li>Downloading and installing the required language packs (optional, necessary if you want the SharePoint interface to be presented in a language other than English)</li>
<li>Configuring the SharePoint farm using SharePoint Products and Configuration Wizard</li>
</ul>
<p>All the above steps are time consuming and can be error prone if, for example, you miss to download any of the prerequisites.</p>
<p>Fortunately, it is possible to fully automate a SharePoint farm installation using PowerShell by using a script called <a href="https://autospinstaller.com/" target="_blank" rel="noopener noreferrer">AutoSPInstaller</a>. The installation process can be divided in two major steps:</p>
<ul>
<li>Downloading the SharePoint installation package</li>
<li>Installing SharePoint and configuring the SharePoint farm</li>
</ul>
<p>This process can be used for the following versions of SharePoint:</p>
<ul>
<li>SharePoint 2010</li>
<li>SharePoint 2013</li>
<li>SharePoint 2016</li>
<li>SharePoint 2019 (to learn more about all the new features in SharePoint 2019, click <a href="https://blogit.create.pt////miguelisidoro/2018/11/01/meet-the-new-modern-sharepoint-server-sharepoint-2019-rtm-is-here/" target="_blank" rel="noopener noreferrer">here)</a></li>
</ul>
<p>In this post, I will talk about the first part of the process: downloading the SharePoint installation package and I will use SharePoint 2016 as an example.</p>
<h1>Downloading the SharePoint installation package</h1>
<p>The download process will be managed by a script called <a href="https://github.com/brianlala/AutoSPSourceBuilder" target="_blank" rel="noopener noreferrer">AutoSPSourceBuilder</a> that will download the SharePoint installation package and all its dependencies and will create a folder structure ready to be used in <a href="https://autospinstaller.com/" target="_blank" rel="noopener noreferrer">AutoSPInstaller</a>. The <a href="https://github.com/brianlala/AutoSPSourceBuilder" target="_blank" rel="noopener noreferrer">AutoSPSourceBuilder</a> script will download:</p>
<ul>
<li>All SharePoint prerequisites</li>
<li>The latest SharePoint updates</li>
<li>If specified. the desired language pack</li>
</ul>
<p>To download the SharePoint 2016 installation package, follow the steps below:</p>
<ol>
<li>Download <a href="https://www.microsoft.com/en-us/download/details.aspx?id=51493" target="_blank" rel="noopener noreferrer">SharePoint 2016</a>.</li>
</ol>
<p><img decoding="async" class="alignnone wp-image-1604 size-full" src="https://blogit.create.pt////wp-content/uploads/2018/07/SharePoint2016_Download.jpg" alt="" width="993" height="265" srcset="https://blogit.create.pt/wp-content/uploads/2018/07/SharePoint2016_Download.jpg 993w, https://blogit.create.pt/wp-content/uploads/2018/07/SharePoint2016_Download-300x80.jpg 300w, https://blogit.create.pt/wp-content/uploads/2018/07/SharePoint2016_Download-768x205.jpg 768w, https://blogit.create.pt/wp-content/uploads/2018/07/SharePoint2016_Download-696x186.jpg 696w" sizes="(max-width: 993px) 100vw, 993px" /></p>
<p>2. Download <a href="https://github.com/brianlala/AutoSPSourceBuilder" target="_blank" rel="noopener noreferrer">AutoSPSourceBuilder</a>. After download, the folder should contain the following structure.</p>
<p><img decoding="async" class="alignnone size-full wp-image-1694" src="https://blogit.create.pt////wp-content/uploads/2018/07/AutoSPSourceBuilder_Files.jpg" alt="" width="811" height="200" srcset="https://blogit.create.pt/wp-content/uploads/2018/07/AutoSPSourceBuilder_Files.jpg 811w, https://blogit.create.pt/wp-content/uploads/2018/07/AutoSPSourceBuilder_Files-300x74.jpg 300w, https://blogit.create.pt/wp-content/uploads/2018/07/AutoSPSourceBuilder_Files-768x189.jpg 768w, https://blogit.create.pt/wp-content/uploads/2018/07/AutoSPSourceBuilder_Files-696x172.jpg 696w" sizes="(max-width: 811px) 100vw, 811px" /></p>
<p>3. Mount the .iso image of SharePoint 2016.</p>
<p><img decoding="async" class="alignnone size-full wp-image-6395" src="https://blogit.create.pt////wp-content/uploads/2018/07/SharePoint2016_Mount.jpg" alt="" width="443" height="141" srcset="https://blogit.create.pt/wp-content/uploads/2018/07/SharePoint2016_Mount.jpg 443w, https://blogit.create.pt/wp-content/uploads/2018/07/SharePoint2016_Mount-300x95.jpg 300w" sizes="(max-width: 443px) 100vw, 443px" /></p>
<p>After mount, the mounted drive will have SharePoint installation files.</p>
<p><img decoding="async" class="alignnone size-full wp-image-1954" src="https://blogit.create.pt////wp-content/uploads/2018/07/SharePoint2016_Files-2.jpg" alt="" width="768" height="810" srcset="https://blogit.create.pt/wp-content/uploads/2018/07/SharePoint2016_Files-2.jpg 768w, https://blogit.create.pt/wp-content/uploads/2018/07/SharePoint2016_Files-2-284x300.jpg 284w, https://blogit.create.pt/wp-content/uploads/2018/07/SharePoint2016_Files-2-696x734.jpg 696w, https://blogit.create.pt/wp-content/uploads/2018/07/SharePoint2016_Files-2-398x420.jpg 398w" sizes="(max-width: 768px) 100vw, 768px" /></p>
<p>4. Run the following script in a PowerShell window (run as administrator).</p>
<p><strong>.\AutoSPSourceBuilder.ps1 -GetPrerequisites $true -SharePointVersion &#8220;2016&#8221; -Languages &#8220;pt-pt&#8221;</strong></p>
<p>This script will download SharePoint 2016 with all prerequisites and the Portuguese language pack. Change the &#8220;Languages&#8221; parameter to the Language Pack you want to include in your installation.</p>
<p>The script will start by detecting the SharePoint image that was previously downloaded. If successfully detected, it will extract the SharePoint installation files from the mounted image to the C:\SP\2016 folder.</p>
<p><img decoding="async" class="alignnone size-full wp-image-6392" src="https://blogit.create.pt////wp-content/uploads/2018/07/AutoSPSourceBuilder_PowerShell.jpg" alt="" width="766" height="289" srcset="https://blogit.create.pt/wp-content/uploads/2018/07/AutoSPSourceBuilder_PowerShell.jpg 766w, https://blogit.create.pt/wp-content/uploads/2018/07/AutoSPSourceBuilder_PowerShell-300x113.jpg 300w, https://blogit.create.pt/wp-content/uploads/2018/07/AutoSPSourceBuilder_PowerShell-696x263.jpg 696w" sizes="(max-width: 766px) 100vw, 766px" /></p>
<p>5. Once the SharePoint installation files extraction is completed, you will be asked to select the SharePoint update that you want to include on your installation package. Select the latest available package (all SharePoint 2016 updates are cumulative and include all updates contained in the previous updates).</p>
<p><img decoding="async" class="alignnone size-full wp-image-6393" src="https://blogit.create.pt////wp-content/uploads/2018/07/AutoSPSourceBuilder_SelectVersion.jpg" alt="" width="1427" height="745" srcset="https://blogit.create.pt/wp-content/uploads/2018/07/AutoSPSourceBuilder_SelectVersion.jpg 1427w, https://blogit.create.pt/wp-content/uploads/2018/07/AutoSPSourceBuilder_SelectVersion-300x157.jpg 300w, https://blogit.create.pt/wp-content/uploads/2018/07/AutoSPSourceBuilder_SelectVersion-768x401.jpg 768w, https://blogit.create.pt/wp-content/uploads/2018/07/AutoSPSourceBuilder_SelectVersion-1024x535.jpg 1024w, https://blogit.create.pt/wp-content/uploads/2018/07/AutoSPSourceBuilder_SelectVersion-696x363.jpg 696w, https://blogit.create.pt/wp-content/uploads/2018/07/AutoSPSourceBuilder_SelectVersion-1068x558.jpg 1068w, https://blogit.create.pt/wp-content/uploads/2018/07/AutoSPSourceBuilder_SelectVersion-804x420.jpg 804w" sizes="(max-width: 1427px) 100vw, 1427px" /></p>
<p>6. After selecting the SharePoint update, the script will resume and start downloading the SharePoint prerequisites. the selected language pack and the selected SharePoint update.</p>
<p><img decoding="async" class="alignnone size-full wp-image-1634" src="https://blogit.create.pt////wp-content/uploads/2018/07/AutoSPSourceBuilder_DownloadSPreRequisites.jpg" alt="" width="767" height="726" srcset="https://blogit.create.pt/wp-content/uploads/2018/07/AutoSPSourceBuilder_DownloadSPreRequisites.jpg 767w, https://blogit.create.pt/wp-content/uploads/2018/07/AutoSPSourceBuilder_DownloadSPreRequisites-300x284.jpg 300w, https://blogit.create.pt/wp-content/uploads/2018/07/AutoSPSourceBuilder_DownloadSPreRequisites-696x659.jpg 696w, https://blogit.create.pt/wp-content/uploads/2018/07/AutoSPSourceBuilder_DownloadSPreRequisites-444x420.jpg 444w" sizes="(max-width: 767px) 100vw, 767px" /></p>
<p>7. After completion, the PowerShell window should look like the image below.</p>
<p><img decoding="async" class="alignnone size-full wp-image-1644" src="https://blogit.create.pt////wp-content/uploads/2018/07/AutoSPSourceBuilder_DownloadSPreRequisites_Finish.jpg" alt="" width="770" height="719" srcset="https://blogit.create.pt/wp-content/uploads/2018/07/AutoSPSourceBuilder_DownloadSPreRequisites_Finish.jpg 770w, https://blogit.create.pt/wp-content/uploads/2018/07/AutoSPSourceBuilder_DownloadSPreRequisites_Finish-300x280.jpg 300w, https://blogit.create.pt/wp-content/uploads/2018/07/AutoSPSourceBuilder_DownloadSPreRequisites_Finish-768x717.jpg 768w, https://blogit.create.pt/wp-content/uploads/2018/07/AutoSPSourceBuilder_DownloadSPreRequisites_Finish-696x650.jpg 696w, https://blogit.create.pt/wp-content/uploads/2018/07/AutoSPSourceBuilder_DownloadSPreRequisites_Finish-450x420.jpg 450w" sizes="(max-width: 770px) 100vw, 770px" /></p>
<p>The end result will be a structure of folders and files that will contain all the necessary files to install SharePoint with <a href="https://autospinstaller.com/">AutoSPInstaller</a>.</p>
<p>Root folder:</p>
<p><img decoding="async" class="alignnone size-full wp-image-6390" src="https://blogit.create.pt////wp-content/uploads/2018/07/AutoSPSourceBuilder_FolderStructure.jpg" alt="" width="264" height="185" srcset="https://blogit.create.pt/wp-content/uploads/2018/07/AutoSPSourceBuilder_FolderStructure.jpg 264w, https://blogit.create.pt/wp-content/uploads/2018/07/AutoSPSourceBuilder_FolderStructure-100x70.jpg 100w" sizes="(max-width: 264px) 100vw, 264px" /></p>
<p>Language Packs folder:</p>
<p><img decoding="async" class="alignnone size-full wp-image-6396" src="https://blogit.create.pt////wp-content/uploads/2018/07/AutoSPSourceBuilder_FolderStructure_LanguagePacks-1.jpg" alt="" width="614" height="113" srcset="https://blogit.create.pt/wp-content/uploads/2018/07/AutoSPSourceBuilder_FolderStructure_LanguagePacks-1.jpg 614w, https://blogit.create.pt/wp-content/uploads/2018/07/AutoSPSourceBuilder_FolderStructure_LanguagePacks-1-300x55.jpg 300w" sizes="(max-width: 614px) 100vw, 614px" /></p>
<p>SharePoint bits folder (slipstreamed installation structure):</p>
<p><img decoding="async" class="alignnone size-full wp-image-1944" src="https://blogit.create.pt////wp-content/uploads/2018/07/AutoSPSourceBuilder_FolderStructure_SP-2.jpg" alt="" width="788" height="818" srcset="https://blogit.create.pt/wp-content/uploads/2018/07/AutoSPSourceBuilder_FolderStructure_SP-2.jpg 788w, https://blogit.create.pt/wp-content/uploads/2018/07/AutoSPSourceBuilder_FolderStructure_SP-2-289x300.jpg 289w, https://blogit.create.pt/wp-content/uploads/2018/07/AutoSPSourceBuilder_FolderStructure_SP-2-768x797.jpg 768w, https://blogit.create.pt/wp-content/uploads/2018/07/AutoSPSourceBuilder_FolderStructure_SP-2-696x722.jpg 696w, https://blogit.create.pt/wp-content/uploads/2018/07/AutoSPSourceBuilder_FolderStructure_SP-2-405x420.jpg 405w" sizes="(max-width: 788px) 100vw, 788px" /></p>
<p>Updates folder:</p>
<p><img decoding="async" class="alignnone size-full wp-image-1574" src="https://blogit.create.pt////wp-content/uploads/2018/07/AutoSPSourceBuilder_FolderStructure_Update.jpg" alt="" width="613" height="142" srcset="https://blogit.create.pt/wp-content/uploads/2018/07/AutoSPSourceBuilder_FolderStructure_Update.jpg 613w, https://blogit.create.pt/wp-content/uploads/2018/07/AutoSPSourceBuilder_FolderStructure_Update-300x69.jpg 300w" sizes="(max-width: 613px) 100vw, 613px" /></p>
<p>To read the second part of this two part step by step tutorial, click <a href="https://blogit.create.pt////miguelisidoro/2018/07/28/how-to-install-a-sharepoint-2016-farm-using-powershell-and-autospinstaller-part-2/" target="_blank" rel="noopener noreferrer">here</a>.</p>
<h1>Related Articles</h1>
<p>To learn why your business should migrate to SharePoint Online and Office 365, click <a href="https://blogit.create.pt////miguelisidoro/2019/07/29/why-your-business-should-migrate-to-sharepoint-online-and-office-365-the-value-offer-part-1/" target="_blank" rel="noreferrer noopener">here</a> and <a href="https://blogit.create.pt////miguelisidoro/2019/07/29/why-your-business-should-migrate-to-sharepoint-online-and-office-365-the-value-offer-part-2/" target="_blank" rel="noreferrer noopener">here</a>.</p>
<p>If you want to convert your tenant&#8217;s root classic site into a modern SharePoint site, click <a href="https://blogit.create.pt////miguelisidoro/2019/08/27/how-to-modernize-your-tenant-root-site-collection-in-office-365-using-invoke-spositeswap/" target="_blank" rel="noreferrer noopener">here</a>.</p>
<p><a href="https://autospinstaller.com/" target="_blank" rel="noopener noreferrer">AutoSPInstaller</a> is also already available for the recently announced new version SharePoint, SharePoint 2019. To learn more about all the new features in SharePoint 2019, click <a href="https://blogit.create.pt////miguelisidoro/2018/11/01/meet-the-new-modern-sharepoint-server-sharepoint-2019-rtm-is-here/" target="_blank" rel="noopener noreferrer">here.</a></p>
<p>If you are a SharePoint administrator or a SharePoint developer who wants to learn more about how to install a SharePoint 2019 farm in an automated way using PowerShell, I invite you to click <a href="https://blogit.create.pt////miguelisidoro/2018/12/09/how-to-install-a-sharepoint-2019-farm-using-powershell-and-autospinstaller-part-1/" target="_blank" rel="noopener noreferrer">here</a> and <a href="https://blogit.create.pt////miguelisidoro/2018/12/09/how-to-install-a-sharepoint-2019-farm-using-powershell-and-autospinstaller-part-2/" target="_blank" rel="noopener noreferrer">here</a>.</p>
<p>If you want to learn how to upgrade a SharePoint 2013 farm to SharePoint 2019, click <a href="https://blogit.create.pt////miguelisidoro/2019/03/06/how-to-upgrade-from-sharepoint-2013-to-sharepoint-2019-step-by-step-part-1/" target="_blank" rel="noreferrer noopener">here </a>and <a href="https://blogit.create.pt////miguelisidoro/2019/03/06/how-to-upgrade-from-sharepoint-2013-to-sharepoint-2019-step-by-step-part-2/" target="_blank" rel="noreferrer noopener">here</a>.</p>
<p>If you want to learn all the steps and precautions necessary to successfully keep your SharePoint farm updated and be ready to start your move to the cloud, click <a href="https://blogit.create.pt////miguelisidoro/2019/04/08/how-to-install-sharepoint-cumulative-updates-in-a-sharepoint-farm-step-by-step/" target="_blank" rel="noreferrer noopener">here</a>.</p>
<p>If you learn how to greatly speed up your SharePoint farm update process to ensure your SharePoint farm keeps updated and you stay one step closer to start your move to the cloud, click <a href="https://blogit.create.pt////miguelisidoro/2019/05/02/how-to-speed-up-the-installation-of-sharepoint-cumulative-updates-using-powershell-step-by-step/" target="_blank" rel="noreferrer noopener" aria-label="here (opens in a new tab)">here</a>.</p>
<p>If you want to learn how to upgrade a SharePoint 2010 farm to SharePoint 2016, click <a href="https://blogit.create.pt////miguelisidoro/2019/02/04/sharepoint-upgrade-upgrading-a-sharepoint-2010-farm-to-sharepoint-2016-step-by-step-part-1/" target="_blank" rel="noreferrer noopener">here </a>and <a href="https://blogit.create.pt////miguelisidoro/2019/02/04/sharepoint-upgrade-upgrading-a-sharepoint-2010-farm-to-sharepoint-2016-step-by-step-part-2/" target="_blank" rel="noreferrer noopener">here</a>.</p>
<p>If you are new to SharePoint and Office 365 and want to learn all about it, take a look at these <a href="https://blogit.create.pt////miguelisidoro/2018/10/17/sharepoint-and-office-365-learning-resources/" target="_blank" rel="noreferrer noopener">learning resources</a>.</p>
<p>If you are work in a large organization who is using Office 365 or thinking to move to Office 365 and is considering between a single or multiple Office 365 tenants, I invite you to read <a href="https://blogit.create.pt////miguelisidoro/2019/01/07/pros-and-cons-of-single-tenant-vs-multiple-tenants-in-office-365/" target="_blank" rel="noreferrer noopener">this article</a>.</p>
<p>If you want to know all about the latest SharePoint and Office 365 announcements from SharePoint Conference 2019, click <a href="https://blogit.create.pt////miguelisidoro/2019/06/05/whats-new-for-sharepoint-and-office-365-from-sharepoint-conference-2019-part-1/" target="_blank" rel="noreferrer noopener">here </a>and <a href="https://blogit.create.pt////miguelisidoro/2019/06/05/whats-new-for-sharepoint-and-office-365-from-sharepoint-conference-2019-part-2/" target="_blank" rel="noreferrer noopener">here</a>.</p>
<p>Happy SharePointing!</p>
<p>The post <a href="https://blogit.create.pt/miguelisidoro/2018/07/28/how-to-install-a-sharepoint-2016-farm-using-powershell-and-autospinstaller-part-1/">How to install a SharePoint 2016 farm using PowerShell and AutoSPInstaller Step by Step (Part 1)</a> appeared first on <a href="https://blogit.create.pt">Blog IT</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blogit.create.pt/miguelisidoro/2018/07/28/how-to-install-a-sharepoint-2016-farm-using-powershell-and-autospinstaller-part-1/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>Sending an email with attachments using Outlook and PowerShell</title>
		<link>https://blogit.create.pt/andresilva/2017/12/07/sending-an-email-with-attachments-using-outlook-and-powershell/</link>
					<comments>https://blogit.create.pt/andresilva/2017/12/07/sending-an-email-with-attachments-using-outlook-and-powershell/#comments</comments>
		
		<dc:creator><![CDATA[André Silva]]></dc:creator>
		<pubDate>Thu, 07 Dec 2017 17:54:38 +0000</pubDate>
				<category><![CDATA[Scripting]]></category>
		<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[Outlook]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Automatic Testing]]></category>
		<category><![CDATA[Office]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[Automation]]></category>
		<guid isPermaLink="false">http://blogit.create.pt/andresilva/?p=174</guid>

					<description><![CDATA[<p>A few days ago, I had to find a way to automatically send an email with attachments, at a predetermined time, using Outlook and PowerShell. I decided to use a Windows Scheduled Task, that would wake up at that time and invoke a PowerShell script. The script below is the result of a collection of [&#8230;]</p>
<p>The post <a href="https://blogit.create.pt/andresilva/2017/12/07/sending-an-email-with-attachments-using-outlook-and-powershell/">Sending an email with attachments using Outlook and PowerShell</a> appeared first on <a href="https://blogit.create.pt">Blog IT</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>A few days ago, I had to find a way to automatically send an email with attachments, at a predetermined time, using Outlook and PowerShell. I decided to use a Windows Scheduled Task, that would wake up at that time and invoke a PowerShell script.</p>
<p>The script below is the result of a collection of snippets and bits of code I found in various places around the Internet that allowed me to solve this problem.</p>
<p>For this example, I only want to send the files which have a specific extension (<strong>.html</strong>) and that exist in a specific folder (passed as parameter to the PowerShell script). Of course, you are free to remove this extension filtering for your own purposes.</p>
<p>Also, note that Outlook must have a configured email account for the sending process to succeed.</p>
<pre class="brush: powershell; title: ; notranslate">
# Check to see we have all the arguments
if($args.Count -lt 1)
{
Write-Host &quot;Use: SendMail.ps1 &lt;Path&gt;&quot;
Write-Host
Write-Host &quot; &lt;Path&gt;: Full path for the folder which contains the files&quot;
Write-Host
exit
}

$FullPath=$args&#x5B;0]

#Get an Outlook application object

$o = New-Object -com Outlook.Application

$mail = $o.CreateItem(0)

#2 = High importance message
$mail.importance = 2

$mail.subject = &quot;This is the subject of the mail&quot;
$mail.body = &quot;This is the body of the email. It has been automatically generated by a script.&quot;

#separate multiple recipients with a &quot;;&quot;
$mail.To = &lt;INSERT THE RECIPIENT HERE&gt;
#$mail.CC = &lt;OTHER RECIPIENT 1&gt;;&lt;OTHER RECIPIENT 2&gt;

# Iterate over all files and only add the ones that have an .html extension
$files = Get-ChildItem $FullPath

for ($i=0; $i -lt $files.Count; $i++) {

$outfileName = $files&#x5B;$i].FullName
$outfileNameExtension = $files&#x5B;$i].Extension

# if the extension is the one we want, add to attachments
if($outfileNameExtension -eq &quot;.html&quot;)
{
$mail.Attachments.Add($outfileName);
}
}

$mail.Send()

# give time to send the email
Start-Sleep 20

# quit Outlook
$o.Quit()

#end the script
exit
</pre>
<p>You can invoke the script presented above, by using a simple command window and giving the following command:</p>
<p><a href="http://blogit-create.com/wp-content/uploads/2017/12/PowerShellCommand.png"><img decoding="async" class="aligncenter size-full wp-image-224" src="http://blogit-create.com/wp-content/uploads/2017/12/PowerShellCommand.png" alt="PowerShell Command" width="544" height="75" srcset="https://blogit.create.pt/wp-content/uploads/2017/12/PowerShellCommand.png 544w, https://blogit.create.pt/wp-content/uploads/2017/12/PowerShellCommand-300x41.png 300w, https://blogit.create.pt/wp-content/uploads/2017/12/PowerShellCommand-534x75.png 534w" sizes="(max-width: 544px) 100vw, 544px" /></a></p>
<p>I hope this helps!</p>
<p>The post <a href="https://blogit.create.pt/andresilva/2017/12/07/sending-an-email-with-attachments-using-outlook-and-powershell/">Sending an email with attachments using Outlook and PowerShell</a> appeared first on <a href="https://blogit.create.pt">Blog IT</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blogit.create.pt/andresilva/2017/12/07/sending-an-email-with-attachments-using-outlook-and-powershell/feed/</wfw:commentRss>
			<slash:comments>6</slash:comments>
		
		
			</item>
		<item>
		<title>Activating all Publishing Feature &#8211; Programmatically &#038; Powershell &#8211; SharePoint 2010, 2013, 2016 &#038; Online:</title>
		<link>https://blogit.create.pt/fabiocarvalho/2017/07/28/activating-all-publishing-feature-programmatically-powershell-sharepoint-2010-2013-2016-online/</link>
					<comments>https://blogit.create.pt/fabiocarvalho/2017/07/28/activating-all-publishing-feature-programmatically-powershell-sharepoint-2010-2013-2016-online/#respond</comments>
		
		<dc:creator><![CDATA[Fábio Carvalho]]></dc:creator>
		<pubDate>Fri, 28 Jul 2017 21:50:48 +0000</pubDate>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[Office]]></category>
		<category><![CDATA[Microsoft 365]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[Administration]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Publishing Site]]></category>
		<category><![CDATA[SharePoint 2010]]></category>
		<category><![CDATA[SharePoint 2013]]></category>
		<category><![CDATA[SharePoint 2016]]></category>
		<category><![CDATA[SharePoint Online]]></category>
		<guid isPermaLink="false">http://blogit.create.pt/fabiocarvalho/?p=3774</guid>

					<description><![CDATA[<p>Hi Everyone!!! Today i will talk about Publishing Features!!! During this afternoon I was trying to activate Publishing Features but i wasn&#8217;t having success because Page Library not was created on activation! So there are more than two Publishing Feature that we need have in consideration, it&#8217;s not enough Activate Publishing Infrastructure Feature and Publishing Feature. If [&#8230;]</p>
<p>The post <a href="https://blogit.create.pt/fabiocarvalho/2017/07/28/activating-all-publishing-feature-programmatically-powershell-sharepoint-2010-2013-2016-online/">Activating all Publishing Feature &#8211; Programmatically &#038; Powershell &#8211; SharePoint 2010, 2013, 2016 &#038; Online:</a> appeared first on <a href="https://blogit.create.pt">Blog IT</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Hi Everyone!!!</p>
<p>Today i will talk about Publishing Features!!! During this afternoon I was trying to activate Publishing Features but i wasn&#8217;t having success because Page Library not was created on activation! So there are more than two Publishing Feature that we need have in consideration, it&#8217;s not enough Activate Publishing Infrastructure Feature and Publishing Feature. If you want activate all Publishing Features you can do it pragmatically or using Powershell script:</p>
<p><span style="color: #800000"><strong>SharePoint Server &#8211; Powershell:</strong></span></p>
<pre class="brush: bash; title: ; notranslate"> 
Disable-SPFeature –identity 'publishingSite' -URL http://server/ -force
Disable-SPFeature –identity 'PublishingResources' -URL http://server/-force
Disable-SPFeature –identity 'Publishing' -URL http://server/ -force
Disable-SPFeature –identity 'PublishingLayouts' -URL http://server/ -force
Disable-SPFeature –identity 'publishingweb' -URL http://server/ -force

Enable-SPFeature –identity 'publishingSite' -URL http://server/ -force
Enable-SPFeature –identity 'PublishingResources' -URL http://server/ -force
Enable-SPFeature –identity 'Publishing' -URL http://server/ -force
Enable-SPFeature –identity 'PublishingLayouts' -URL http://server/ -force
Enable-SPFeature –identity 'publishingweb' -URL http://server/ -force
</pre>
<p><span style="color: #800000"><strong>SharePoint Online &#8211; Powershell:</strong></span></p>
<pre class="brush: bash; title: ; notranslate"> 
Disable-SPOFeature –Identity &quot;F6924D36-2FA8-4f0b-B16D-06B7250180FA&quot; -Scope Site
Disable-SPOFeature –Identity &quot;AEBC918D-B20F-4a11-A1DB-9ED84D79C87E&quot; -Scope Site
Disable-SPOFeature –Identity &quot;22A9EF51-737B-4ff2-9346-694633FE4416&quot; -Scope Web
Disable-SPOFeature –Identity &quot;D3F51BE2-38A8-4e44-BA84-940D35BE1566&quot; -Scope Site
Disable-SPOFeature –Identity &quot;94C94CA6-B32F-4da9-A9E3-1F3D343D7ECB&quot; -Scope Web

Enable-SPOFeature –Identity &quot;F6924D36-2FA8-4f0b-B16D-06B7250180FA&quot; -Scope Site
Enable-SPOFeature –Identity &quot;AEBC918D-B20F-4a11-A1DB-9ED84D79C87E&quot; -Scope Site
Enable-SPOFeature –Identity &quot;22A9EF51-737B-4ff2-9346-694633FE4416&quot; -Scope Web
Enable-SPOFeature –Identity &quot;D3F51BE2-38A8-4e44-BA84-940D35BE1566&quot; -Scope Site
Enable-SPOFeature –Identity &quot;94C94CA6-B32F-4da9-A9E3-1F3D343D7ECB&quot; -Scope Web
</pre>
<p><strong><span style="color: #800000">Also that you can activate Programmatically:</span></strong></p>
<pre class="brush: jscript; title: ; notranslate"> 

        private void ActivatePublishingFeatures(SPWeb web, SPSite site)
        {
            // Publishing Site
            string sharePointPublishingSite = &quot;f6924d36-2fa8-4f0b-b16d-06b7250180fa&quot;;
            Guid sharePointPublishingSiteGuid = new Guid(sharePointPublishingSite);

            if (site.Features&#x5B;sharePointPublishingSiteGuid] == null)
            {
                site.Features.Add(sharePointPublishingSiteGuid, true);
            }

            // Publishing Resources
            string sharePointPublishingResources = &quot;aebc918d-b20f-4a11-a1db-9ed84d79c87e&quot;;
            Guid sharePointPublishingResourcesGuid = new Guid(sharePointPublishingResources);

            if (site.Features&#x5B;sharePointPublishingResourcesGuid] == null)
            {
                site.Features.Add(sharePointPublishingResourcesGuid, true);
            }

            // Publishing
            string sharePointPublishing = &quot;22a9ef51-737b-4ff2-9346-694633fe4416&quot;;
            Guid sharePointPublishingGuid = new Guid(sharePointPublishing);

            if (web.Features&#x5B;sharePointPublishingGuid] == null)
            {
                web.Features.Add(sharePointPublishingGuid, true);
            }

            // Publishing Layouts
            string sharePointPublishingLayouts = &quot;d3f51be2-38a8-4e44-ba84-940d35be1566&quot;;
            Guid sharePointPublishingLayoutsGuid = new Guid(sharePointPublishingLayouts);

            if (site.Features&#x5B;sharePointPublishingLayoutsGuid] == null)
            {
                site.Features.Add(sharePointPublishingLayoutsGuid, true);
            }

            // Publishing Web
            string sharePointServerPublishingWeb = &quot;94c94ca6-b32f-4da9-a9e3-1f3d343d7ecb&quot;;
            Guid sharePointServerPublishingWebGuid = new Guid(sharePointServerPublishingWeb);

            if (web.Features&#x5B;sharePointServerPublishingWebGuid] == null)
            {
                web.Features.Add(sharePointServerPublishingWebGuid, true);
            }
        }
</pre>
<p>Thanks</p>
<p><span style="color: #800000"><a href="https://www.linkedin.com/in/fmrgc/"><strong>Fábio Carvalho</strong></a></span><br />
SharePoint Consultant<br />
<strong>|create|</strong><span style="color: #ff0000"><strong>it</strong></span><strong>|</strong></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>The post <a href="https://blogit.create.pt/fabiocarvalho/2017/07/28/activating-all-publishing-feature-programmatically-powershell-sharepoint-2010-2013-2016-online/">Activating all Publishing Feature &#8211; Programmatically &#038; Powershell &#8211; SharePoint 2010, 2013, 2016 &#038; Online:</a> appeared first on <a href="https://blogit.create.pt">Blog IT</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blogit.create.pt/fabiocarvalho/2017/07/28/activating-all-publishing-feature-programmatically-powershell-sharepoint-2010-2013-2016-online/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>SharePoint &#8211; Get all alerts from a specific SP List/Library using Powershell</title>
		<link>https://blogit.create.pt/fabiocarvalho/2017/03/25/sharepoint-get-all-alerts-from-a-specific-sp-listlibrary-using-powershell/</link>
					<comments>https://blogit.create.pt/fabiocarvalho/2017/03/25/sharepoint-get-all-alerts-from-a-specific-sp-listlibrary-using-powershell/#comments</comments>
		
		<dc:creator><![CDATA[Fábio Carvalho]]></dc:creator>
		<pubDate>Sat, 25 Mar 2017 10:52:54 +0000</pubDate>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[Administration]]></category>
		<category><![CDATA[SharePoint 2010]]></category>
		<category><![CDATA[SharePoint 2013]]></category>
		<category><![CDATA[SharePoint 2016]]></category>
		<guid isPermaLink="false">http://blogit.create.pt/fabiocarvalho/?p=3011</guid>

					<description><![CDATA[<p>Hey Everyone!!! Today i will talk about List and Library Alerts and how can you get all Active alerts for a specific list using powershell script and how can you disable all alerts. This is very useful script, when you need move a large list of items on a maintenance routine and you don&#8217;t want [&#8230;]</p>
<p>The post <a href="https://blogit.create.pt/fabiocarvalho/2017/03/25/sharepoint-get-all-alerts-from-a-specific-sp-listlibrary-using-powershell/">SharePoint &#8211; Get all alerts from a specific SP List/Library using Powershell</a> appeared first on <a href="https://blogit.create.pt">Blog IT</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Hey Everyone!!!</p>
<p>Today i will talk about <strong>List and Library Alerts</strong> and how can you get all Active alerts for a specific list using powershell script and how can you disable all alerts.</p>
<p>This is very <strong>useful script</strong>, when you need move a <strong>large list</strong> <strong>of items</strong> on a maintenance routine and <strong>you don&#8217;t want send a large number of emails/ notifications</strong> for users who subscribe alerts, this script help you <strong>disable and enable</strong> them.</p>
<p>This first PowerShell Script get all SharePoint list alerts with state <strong>active</strong>.</p>
<pre class="brush: bash; title: ; notranslate"> 

Add-PSSnapin Microsoft.SharePoint.PowerShell –ErrorAction SilentlyContinue

#Variables
$WebURL = &quot;http://YourWebUrl&quot;
$ListName=&quot;YourListName&quot;

#Function to Get All Active Alerts on a Given List
Function Get-ListAlerts($WebURL, $ListName)
{
  #Get the Web and List objects
  $Web = Get-SPWeb $WebURL
  $List = $web.Lists.TryGetList($ListName)

  #Get All Alerts created in the list - Which are Active
  $ListAlerts = $Web.Alerts | Where-Object {($_.List.Title -eq $List.Title) -and ($_.Status -eq &quot;ON&quot;)}

  foreach($Alert in $ListAlerts)
  {
          write-host &quot;Alert' - $($Alert.Title)' Created for User - '$($Alert.User.Name)'&quot;
  }

 #Dispose web object
 $Web.Dispose()
}

#Call the function Appropriately to Disable or Enable Alerts 
Disable-ListAlerts $WebURL $ListName

 </pre>
<p>&nbsp;</p>
<p>If you want <strong>disable</strong> all alerts on this specific list you just need run the following script.</p>
<pre class="brush: bash; title: ; notranslate"> 

Add-PSSnapin Microsoft.SharePoint.PowerShell –ErrorAction SilentlyContinue

#Variables
$WebURL = &quot;http://YourWebUrl&quot;
$ListName=&quot;YourListName&quot;

#Function to Disable All Active Alerts on a Given List
Function Disable-ListAlerts($WebURL, $ListName)
{
  #Get the Web and List objects
  $Web = Get-SPWeb $WebURL
  $List = $web.Lists.TryGetList($ListName)

  #Get All Alerts created in the list - Which are Active
  $ListAlerts = $Web.Alerts | Where-Object {($_.List.Title -eq $List.Title) -and ($_.Status -eq &quot;ON&quot;)}

  Write-host &quot;Total Number of Active Alerts Found in the list: $($ListAlerts.Count)&quot; 
 
  #Iterate through each alert and turn it OFF
  foreach($Alert in $ListAlerts)
  {
     $Alert.Status=&quot;OFF&quot;
     $Alert.Update()
     write-host &quot;Disabled the Alert' $($Alert.Title)' Created for User '$($Alert.User.Name)'&quot;
  }
 
 #Dispose web object
 $Web.Dispose()
}

#Call the function Appropriately to Disable or Enable Alerts 
Disable-ListAlerts $WebURL $ListName

</pre>
<p>&nbsp;</p>
<p>Thanks</p>
<p><span style="color: #000000"><a style="color: #000000" href="https://www.linkedin.com/in/fmrgc/"><strong>Fábio Carvalho</strong></a></span><br />
SharePoint Consultant<br />
<strong>|create|</strong><span style="color: #ff0000"><strong>it</strong></span><strong>|</strong></p>
<p>The post <a href="https://blogit.create.pt/fabiocarvalho/2017/03/25/sharepoint-get-all-alerts-from-a-specific-sp-listlibrary-using-powershell/">SharePoint &#8211; Get all alerts from a specific SP List/Library using Powershell</a> appeared first on <a href="https://blogit.create.pt">Blog IT</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blogit.create.pt/fabiocarvalho/2017/03/25/sharepoint-get-all-alerts-from-a-specific-sp-listlibrary-using-powershell/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
			</item>
		<item>
		<title>SharePoint 2016 &#8211; Create Service Accounts using PowerShell script</title>
		<link>https://blogit.create.pt/fabiocarvalho/2017/02/20/sharepoint-2016-create-service-accounts-using-powershell-script/</link>
					<comments>https://blogit.create.pt/fabiocarvalho/2017/02/20/sharepoint-2016-create-service-accounts-using-powershell-script/#comments</comments>
		
		<dc:creator><![CDATA[Fábio Carvalho]]></dc:creator>
		<pubDate>Mon, 20 Feb 2017 23:46:01 +0000</pubDate>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[Administration]]></category>
		<category><![CDATA[Service Accounts]]></category>
		<category><![CDATA[SharePoint 2010]]></category>
		<category><![CDATA[SharePoint 2013]]></category>
		<category><![CDATA[SharePoint 2016]]></category>
		<guid isPermaLink="false">http://blogit.create.pt/fabiocarvalho/?p=2381</guid>

					<description><![CDATA[<p>Hey Everyone!!! Today i will show you how can you create SharePoint 2016 Service Accounts using PowerShell script following the Best Practices. The script not only create all the accounts but also create the respectives OU (Organizational Unit): SharePoint Accounts SQL Accounts Service Accounts:  Name  Description  Local Rights  Domain Rights SP_Farm The server farm account is used [&#8230;]</p>
<p>The post <a href="https://blogit.create.pt/fabiocarvalho/2017/02/20/sharepoint-2016-create-service-accounts-using-powershell-script/">SharePoint 2016 &#8211; Create Service Accounts using PowerShell script</a> appeared first on <a href="https://blogit.create.pt">Blog IT</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Hey Everyone!!!</p>
<p>Today i will show you how can you create <strong>SharePoint 2016 Service Accounts</strong> using <strong>PowerShell</strong> script following the <strong>Best Practices</strong>.</p>
<p>The script not only create all the accounts but also create the respectives <strong>OU</strong> (<strong>Organizational Unit</strong>):</p>
<ul>
<li>SharePoint Accounts</li>
<li>SQL Accounts</li>
</ul>
<p><strong><span style="color: #800000">Service Accounts:</span></strong></p>
<table border="0" width="400" cellspacing="0" cellpadding="2">
<tbody>
<tr>
<td valign="top" width="100"><strong><span style="color: #800000"> Name</span></strong></td>
<td valign="top" width="100"><strong><span style="color: #800000"> Description</span></strong></td>
<td valign="top" width="100"><strong><span style="color: #800000"> Local Rights</span></strong></td>
<td valign="top" width="100"><strong><span style="color: #800000"> Domain Rights</span></strong></td>
</tr>
<tr>
<td valign="top" width="100"><strong>SP_Farm</strong></td>
<td valign="top" width="100">The server farm account is used to perform the following tasks:<br />
-Configure and manage the server farm.<br />
-Act as the application pool identity for the SharePoint Central Administration Web site.<br />
-Run the Microsoft SharePoint Foundation Workflow Timer Service.</td>
<td valign="top" width="100">SecurityAdmin and DB_Creator rights on the SQL Instance</td>
<td valign="top" width="100">Domain User</td>
</tr>
<tr>
<td valign="top" width="100"><strong>SP_Admin</strong></td>
<td valign="top" width="100">The server farm account is used to perform the following tasks:<br />
-Setup<br />
-SharePoint Products Configuration Wizard</td>
<td valign="top" width="100">Local Administrator on all the SharePoint Servers. SecurityAdmin and DB_Creator rights on the SQL Instance</td>
<td valign="top" width="100">Domain User</td>
</tr>
<tr>
<td valign="top" width="100"><strong>SP_Pool</strong></td>
<td valign="top" width="100">The Pool account is used to run the Web Application Pools</td>
<td valign="top" width="100">None</td>
<td valign="top" width="100">Domain User</td>
</tr>
<tr>
<td valign="top" width="100"><strong>SP_Services</strong></td>
<td valign="top" width="100">The Services Account is used to run the Service Application Pool</td>
<td valign="top" width="100">None</td>
<td valign="top" width="100">Domain User</td>
</tr>
<tr>
<td valign="top" width="100"><strong>SP_Crawl</strong></td>
<td valign="top" width="100">The Default Content Access Account for the Search Service Application</td>
<td valign="top" width="100">None</td>
<td valign="top" width="100">Domain User</td>
</tr>
<tr>
<td valign="top" width="100"><strong>SP_Search</strong></td>
<td valign="top" width="100">Service Account to run the SharePoint Search “Windows Service”</td>
<td valign="top" width="100">None</td>
<td valign="top" width="100">Domain User</td>
</tr>
<tr>
<td valign="top" width="100"><strong>SP_UserProfiles</strong></td>
<td valign="top" width="100">The User Profile Synchronization Account</td>
<td valign="top" width="100">None</td>
<td valign="top" width="100">Domain User</td>
</tr>
<tr>
<td valign="top" width="100"><strong>SP_MySitePool</strong></td>
<td valign="top" width="100">Used for the My Sites Web Application</td>
<td valign="top" width="100">None</td>
<td valign="top" width="100">Domain User</td>
</tr>
<tr>
<td valign="top" width="100"><strong>SP_CacheSuperUser</strong></td>
<td valign="top" width="100">Object Cache Service Account. The goals of the object cache are to reduce the load on the computer on which SQL Server is running, and to improve request latency and throughput. These user account must be properly configured to ensure that the object cache works correctly.</td>
<td valign="top" width="100">None.<br />
SharePoint: Must be an account that has Full Control access to the Web application.</td>
<td valign="top" width="100">Domain User</td>
</tr>
<tr>
<td valign="top" width="100"><strong>SP_CacheSuperReader</strong></td>
<td valign="top" width="100">Object Cache Service Account. The goals of the object cache are to reduce the load on the computer on which SQL Server is running, and to improve request latency and throughput. These user account must be properly configured to ensure that the object cache works correctly.</td>
<td valign="top" width="100">None.<br />
SharePoint: Must be an account that has Full Read access to the Web application</td>
<td valign="top" width="100">Domain User</td>
</tr>
<tr>
<td valign="top" width="100"><strong>WF_Service</strong></td>
<td valign="top" width="100">WorkFlow Manager Service Account</td>
<td valign="top" width="100">Local Administrator and SysAdmin rights on the SQL instance.</td>
<td valign="top" width="100">Domain User</td>
</tr>
<tr>
<td valign="top" width="100"><strong>SP_MySitePool</strong></td>
<td valign="top" width="100">Used for the My Sites Web Application</td>
<td valign="top" width="100">None</td>
<td valign="top" width="100">Domain User</td>
</tr>
<tr>
<td valign="top" width="100"><strong>SP_VisioUser</strong></td>
<td valign="top" width="100">Visio Unattended ID</td>
<td valign="top" width="100">None</td>
<td valign="top" width="100">Domain User</td>
</tr>
<tr>
<td valign="top" width="100"><strong>SP_ExcelUser</strong></td>
<td valign="top" width="100">Excel Unattended ID</td>
<td valign="top" width="100">None</td>
<td valign="top" width="100">Domain User</td>
</tr>
<tr>
<td valign="top" width="100"><strong>SP_PerfPointUser</strong></td>
<td valign="top" width="100">Performance Point Unattended ID</td>
<td valign="top" width="100">None</td>
<td valign="top" width="100">Domain User</td>
</tr>
<tr>
<td valign="top" width="100"><strong>SQL_Admin</strong></td>
<td valign="top" width="100">SQL Admin on the SQL Server. Used to Install the SQL Server.</td>
<td valign="top" width="100">Local Administrator on the SQL Server</td>
<td valign="top" width="100">Domain User</td>
</tr>
<tr>
<td valign="top" width="100"><strong>SQL_Services</strong></td>
<td valign="top" width="100">It is the service account for the following SQL Server services: MSSQLSERVER SQLSERVERAGENT</td>
<td valign="top" width="100">None</td>
<td valign="top" width="100">Domain User</td>
</tr>
</tbody>
</table>
<p><strong><span style="color: #800000"><br />
Script:</span></strong></p>
<pre class="brush: bash; title: ; notranslate"> 

$mydom = (get-addomain).distinguishedname 
$password = &quot;pass@word1&quot; | ConvertTo-SecureString -AsPlainText -Force 

$ouNameSP = &quot;SharePoint Accounts&quot;
$oudnSP = &quot;OU=$ounameSP,$mydom&quot; 

$ouNameSQL = &quot;SQL Accounts&quot; 
$oudnSQL = &quot;OU=$ounameSQL,$mydom&quot; 

#----------------------------&gt; Organizational Unit &lt;---------------------------- 

New-ADOrganizationalUnit -Name $OUNameSP -Path $mydom 
Write-Host &quot;OU $OUNameSP Created&quot; -foregroundcolor green 

New-ADOrganizationalUnit -Name $OUNameSQL -Path $mydom 
Write-Host &quot;OU $OUNameSQL Created&quot; -foregroundcolor green 

#-----------------------------&gt; SharePoint 2016 &lt;-------------------------------

$usersArraySP = @(&quot;SP_Farm&quot;,&quot;SP_Admin&quot;,&quot;SP_Pool&quot;,&quot;SP_Services&quot;,&quot;SP_Crawl&quot;,&quot;SP_Search&quot;,
                  &quot;SP_UserProfiles&quot;,&quot;SP_PortalSuperReader&quot;,&quot;SP_CacheSuperUser&quot;,&quot;SP_VisioUser&quot;,
                  &quot;SP_PerfPointUser&quot;,&quot;WF_Service&quot;,&quot;SP_MySitePool&quot;,&quot;SP_PortalSuperUser&quot;)

foreach ($usp in $usersArraySP) {
        New-ADUser -Name $usp -DisplayName $usp -SamAccountName $usp -AccountPassword $password 
        -ChangePasswordAtLogon $false -PassThru -PasswordNeverExpires $true -Path $oudnSP 
        Write-Host &quot;$usp Created&quot; -foregroundcolor green
 }

#----------------------------------&gt; SQL &lt;--------------------------------------
$usersArraySQL = @(&quot;SQL_Admin&quot;,&quot;SQL_Service&quot;)

foreach ($usql in $usersArraySQL) {
       New-ADUser -Name $usql -DisplayName $usql -SamAccountName $usql -AccountPassword $password 
       -ChangePasswordAtLogon $false -PassThru -PasswordNeverExpires $true -Path $oudnSQL
       Write-Host &quot;$usql Created&quot; -foregroundcolor green
 }

</pre>
<p><img decoding="async" class="size-full wp-image-2521 aligncenter" src="http://blogit.create.pt/fabiocarvalho/wp-content/uploads/sites/271/2017/02/SharePoint-Services-Accounts-2016.png" alt="" width="629" height="372" srcset="https://blogit.create.pt/wp-content/uploads/2017/02/SharePoint-Services-Accounts-2016.png 629w, https://blogit.create.pt/wp-content/uploads/2017/02/SharePoint-Services-Accounts-2016-300x177.png 300w" sizes="(max-width: 629px) 100vw, 629px" /></p>
<p><img decoding="async" class="wp-image-2531 aligncenter" src="http://blogit.create.pt/fabiocarvalho/wp-content/uploads/sites/271/2017/02/SQL-Services-Accounts.png" alt="" width="485" height="222" srcset="https://blogit.create.pt/wp-content/uploads/2017/02/SQL-Services-Accounts.png 612w, https://blogit.create.pt/wp-content/uploads/2017/02/SQL-Services-Accounts-300x137.png 300w" sizes="(max-width: 485px) 100vw, 485px" /></p>
<p>&nbsp;</p>
<p>Thanks</p>
<p><strong>Fábio Carvalho</strong><br />
SharePoint Consultant<br />
<strong>|create|</strong><span style="color: #ff0000"><strong>it</strong></span><strong>|</strong></p>
<p>The post <a href="https://blogit.create.pt/fabiocarvalho/2017/02/20/sharepoint-2016-create-service-accounts-using-powershell-script/">SharePoint 2016 &#8211; Create Service Accounts using PowerShell script</a> appeared first on <a href="https://blogit.create.pt">Blog IT</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blogit.create.pt/fabiocarvalho/2017/02/20/sharepoint-2016-create-service-accounts-using-powershell-script/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>SharePoint Templates &#8211; Understand the differences</title>
		<link>https://blogit.create.pt/fabiocarvalho/2017/02/18/sharepoint-templates-understand-the-differences/</link>
					<comments>https://blogit.create.pt/fabiocarvalho/2017/02/18/sharepoint-templates-understand-the-differences/#comments</comments>
		
		<dc:creator><![CDATA[Fábio Carvalho]]></dc:creator>
		<pubDate>Sat, 18 Feb 2017 18:49:59 +0000</pubDate>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[Templates]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[Blog Site]]></category>
		<category><![CDATA[Business Intelligence (BI) Center Site]]></category>
		<category><![CDATA[Community Site]]></category>
		<category><![CDATA[Document Center Site]]></category>
		<category><![CDATA[Enterprise Wiki]]></category>
		<category><![CDATA[Project Site]]></category>
		<category><![CDATA[Publishing Site]]></category>
		<category><![CDATA[Records Center Site]]></category>
		<category><![CDATA[Search Center (Enterprise or Basic) Site]]></category>
		<category><![CDATA[SharePoint 2013]]></category>
		<category><![CDATA[SharePoint 2016]]></category>
		<category><![CDATA[SharePoint Online]]></category>
		<category><![CDATA[Site Templates]]></category>
		<guid isPermaLink="false">http://blogit.create.pt/fabiocarvalho/?p=1381</guid>

					<description><![CDATA[<p>Hey Everyone! Today i will talk about SharePoint Site Templates, and explain the main difference between each template and how it is extremely important to have in mind what each version can offer you in terms of features and capabilities to meets your business needs. So the first thing you must know is there are [&#8230;]</p>
<p>The post <a href="https://blogit.create.pt/fabiocarvalho/2017/02/18/sharepoint-templates-understand-the-differences/">SharePoint Templates &#8211; Understand the differences</a> appeared first on <a href="https://blogit.create.pt">Blog IT</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Hey Everyone!</p>
<p>Today i will talk about SharePoint Site Templates, and explain the main difference between each template and how it is extremely important to have in mind what each version can offer you in terms of features and capabilities to meets your business needs.</p>
<p>So the first thing you must know is there are <strong>3</strong> main <strong>categories of templates</strong>:</p>
<ul>
<li><strong>Collaboration</strong></li>
<li><strong>Enterprise</strong></li>
<li><strong>Publishing</strong></li>
</ul>
<p>For each category you have different <strong>site types</strong>, when you create a new site the &#8220;site type&#8221; define the purpose of the new one and includes all the features.</p>
<h5>Collaboration site templates:</h5>
<ul>
<li><strong>Team Site &#8211;</strong> This template can be  used when you what organize and share information with your team or project members, this template includes lists and libraries for: <strong>Share Documents, Announcements, Calendars, Links, Tasks, Discussion Board.</strong></li>
</ul>
<p><img decoding="async" class="size-full wp-image-1481 aligncenter" src="http://blogit.create.pt/fabiocarvalho/wp-content/uploads/sites/271/2017/02/65871fb5-2ccc-440a-b15b-0cff7538f422.jpg" alt="" width="354" height="217" srcset="https://blogit.create.pt/wp-content/uploads/2017/02/65871fb5-2ccc-440a-b15b-0cff7538f422.jpg 354w, https://blogit.create.pt/wp-content/uploads/2017/02/65871fb5-2ccc-440a-b15b-0cff7538f422-300x184.jpg 300w" sizes="(max-width: 354px) 100vw, 354px" /></p>
<ul>
<li><strong>Blog Site &#8211;</strong> This template can be  used when you what <strong style="color: #000000;">announce company announcements</strong>, <strong style="color: #000000;">post ideas</strong>, <strong style="color: #000000;">observations</strong>, <b>expertise</b> with your team organization. It is easy  start a new blog, including<strong> Comments</strong> and <strong>Links.</strong></li>
</ul>
<p><img decoding="async" class="size-full wp-image-1551 aligncenter" src="http://blogit.create.pt/fabiocarvalho/wp-content/uploads/sites/271/2017/02/30f4dcaa-debc-4b45-ad6e-6bb89d43cf52.jpg" alt="" width="353" height="222" srcset="https://blogit.create.pt/wp-content/uploads/2017/02/30f4dcaa-debc-4b45-ad6e-6bb89d43cf52.jpg 353w, https://blogit.create.pt/wp-content/uploads/2017/02/30f4dcaa-debc-4b45-ad6e-6bb89d43cf52-300x189.jpg 300w" sizes="(max-width: 353px) 100vw, 353px" /></p>
<ul>
<li><strong>Project Site &#8211;</strong> With this site template it is so much easy to manage your projects, it is an upgrade of Team Site but this one have more functionalities including <strong>Projects Summary</strong>, <strong>Task Lists. Calendar Sharing, Task Scheduler, Visual Timeline of the Project&#8217;s Tasks.</strong></li>
</ul>
<p><img decoding="async" class="size-full wp-image-1561 aligncenter" src="http://blogit.create.pt/fabiocarvalho/wp-content/uploads/sites/271/2017/02/bb519a70-4df9-4bd0-a957-57baea7aaac7-1.jpg" alt="" width="350" height="287" srcset="https://blogit.create.pt/wp-content/uploads/2017/02/bb519a70-4df9-4bd0-a957-57baea7aaac7-1.jpg 350w, https://blogit.create.pt/wp-content/uploads/2017/02/bb519a70-4df9-4bd0-a957-57baea7aaac7-1-300x246.jpg 300w" sizes="(max-width: 350px) 100vw, 350px" /></p>
<ul>
<li><strong>Community Site &#8211;</strong> It is more than a Blog Site, this template you can create a place where you can <strong>discuss topics</strong> that you have in common with others team members, it is more easy and you have <strong>more benefits over email</strong>, with a<strong> full retention of discussion history</strong> in compliance with <strong>corporate guidelines</strong>.<strong><img decoding="async" class="alignnone size-full wp-image-1521 aligncenter" src="http://blogit.create.pt/fabiocarvalho/wp-content/uploads/sites/271/2017/02/2e5b120d-23bc-462a-8ce1-e42cc3258c3c.jpg" alt="" width="352" height="241" srcset="https://blogit.create.pt/wp-content/uploads/2017/02/2e5b120d-23bc-462a-8ce1-e42cc3258c3c.jpg 352w, https://blogit.create.pt/wp-content/uploads/2017/02/2e5b120d-23bc-462a-8ce1-e42cc3258c3c-300x205.jpg 300w, https://blogit.create.pt/wp-content/uploads/2017/02/2e5b120d-23bc-462a-8ce1-e42cc3258c3c-218x150.jpg 218w" sizes="(max-width: 352px) 100vw, 352px" /></strong></li>
</ul>
<h5>Enterprise site templates:</h5>
<section class="ocpSection">
<section class="ocpSection">
<ul>
<li class="ocpExpandoHeadTitleContainer"><strong>Document Center Site &#8211;</strong> This template is indicated when you want manage large numbers of documents, it is more easy <strong>create folder</strong> <strong>structures</strong> and use<strong> file versions</strong> also you can use <strong>workflows</strong> to<strong> control document life cycles</strong>.</li>
</ul>
<p><img decoding="async" class="alignnone size-full wp-image-1571 aligncenter" src="http://blogit.create.pt/fabiocarvalho/wp-content/uploads/sites/271/2017/02/01ae0061-0891-48ad-80fc-148c67281299.jpg" alt="" width="352" height="259" srcset="https://blogit.create.pt/wp-content/uploads/2017/02/01ae0061-0891-48ad-80fc-148c67281299.jpg 352w, https://blogit.create.pt/wp-content/uploads/2017/02/01ae0061-0891-48ad-80fc-148c67281299-300x221.jpg 300w, https://blogit.create.pt/wp-content/uploads/2017/02/01ae0061-0891-48ad-80fc-148c67281299-80x60.jpg 80w" sizes="(max-width: 352px) 100vw, 352px" /></p>
<ul>
<li class="ocpExpandoHeadTitleContainer"><strong>Records Center Site &#8211;</strong> This template is indicated when you what <strong>organize</strong>, <strong>store</strong> and <strong>manage</strong> records such as legal or financial documents, the site includes <strong>versioning</strong>, <strong>auditing</strong>, <strong>metadata management</strong>, <strong>eDiscovery</strong> feature to help manage records more effectively.</li>
</ul>
<p><img decoding="async" class="size-full wp-image-1581 aligncenter" src="http://blogit.create.pt/fabiocarvalho/wp-content/uploads/sites/271/2017/02/a3747db4-8cd4-4b4c-bca9-23aee27430a0.jpg" alt="" width="350" height="242" srcset="https://blogit.create.pt/wp-content/uploads/2017/02/a3747db4-8cd4-4b4c-bca9-23aee27430a0.jpg 350w, https://blogit.create.pt/wp-content/uploads/2017/02/a3747db4-8cd4-4b4c-bca9-23aee27430a0-300x207.jpg 300w, https://blogit.create.pt/wp-content/uploads/2017/02/a3747db4-8cd4-4b4c-bca9-23aee27430a0-100x70.jpg 100w, https://blogit.create.pt/wp-content/uploads/2017/02/a3747db4-8cd4-4b4c-bca9-23aee27430a0-218x150.jpg 218w" sizes="(max-width: 350px) 100vw, 350px" /></p>
<ul>
<li class="ocpExpandoHeadTitleContainer"><strong>Business Intelligence (BI) Center Site &#8211; </strong>This is one of my favorite site template, you can <strong>store</strong>, <strong>manage</strong>, <strong>share</strong> and <strong>view business reports,</strong> <strong>scorecards</strong> and <strong>dashboards</strong>. This template includes <strong>Performance Point Service</strong>, a service very important to build <strong>dashboards</strong> inside of SharePoint.</li>
</ul>
<p><img decoding="async" class="size-full wp-image-1591 aligncenter" src="http://blogit.create.pt/fabiocarvalho/wp-content/uploads/sites/271/2017/02/fa2dfff0-e2b3-4d82-b141-c59d211f9db8.jpg" alt="" width="350" height="215" srcset="https://blogit.create.pt/wp-content/uploads/2017/02/fa2dfff0-e2b3-4d82-b141-c59d211f9db8.jpg 350w, https://blogit.create.pt/wp-content/uploads/2017/02/fa2dfff0-e2b3-4d82-b141-c59d211f9db8-300x184.jpg 300w" sizes="(max-width: 350px) 100vw, 350px" /></p>
<ul>
<li class="ocpExpandoHeadTitleContainer"><strong>Search Center (Enterprise or Basic) Site &#8211; </strong>A template <strong>dedicated</strong> to <strong>search</strong> features where you can <strong>search</strong> and apply<strong> refiners</strong> to your search results.</li>
</ul>
<p><img decoding="async" class="size-full wp-image-1602 aligncenter" src="http://blogit.create.pt/fabiocarvalho/wp-content/uploads/sites/271/2017/02/46d6f843-f4bc-465d-b8bd-ff86d8ec9ac7.jpg" alt="" width="350" height="146" srcset="https://blogit.create.pt/wp-content/uploads/2017/02/46d6f843-f4bc-465d-b8bd-ff86d8ec9ac7.jpg 350w, https://blogit.create.pt/wp-content/uploads/2017/02/46d6f843-f4bc-465d-b8bd-ff86d8ec9ac7-300x125.jpg 300w" sizes="(max-width: 350px) 100vw, 350px" /></p>
</section>
</section>
<h5>Publishing site templates:</h5>
<section class="ocpSection">
<ul>
<li class="ocpExpandoHeadTitleContainer"><strong>Publishing Site &#8211;</strong> The template indicated when you want create enterprise intranets, communication portals and public websites. This template by default have publishing features enable including <strong>Page Layouts</strong>, <strong>Column Types</strong>, <strong>Web Parts</strong>, <strong>Lists</strong> and very important <strong>Documents</strong> and<strong> image libraries</strong> for storing <strong>web publishing assets</strong>.</li>
</ul>
<p><img decoding="async" class="size-full wp-image-1641 aligncenter" src="http://blogit.create.pt/fabiocarvalho/wp-content/uploads/sites/271/2017/02/6a83e684-9f26-4ac4-82d6-de32d430e77b.jpg" alt="" width="350" height="119" srcset="https://blogit.create.pt/wp-content/uploads/2017/02/6a83e684-9f26-4ac4-82d6-de32d430e77b.jpg 350w, https://blogit.create.pt/wp-content/uploads/2017/02/6a83e684-9f26-4ac4-82d6-de32d430e77b-300x102.jpg 300w" sizes="(max-width: 350px) 100vw, 350px" /></p>
<ul>
<li class="ocpExpandoHeadTitleContainer"><strong>Publishing Site with Workflow &#8211;</strong> Use the Publishing site with workflow to <strong>publish web pages on a schedule</strong> by using <strong>approval workflows</strong>. It includes <strong>document</strong> and <strong>image libraries</strong> for storing <strong>web publishing assets</strong>.</li>
</ul>
<p><img decoding="async" class="size-full wp-image-1661 aligncenter" src="http://blogit.create.pt/fabiocarvalho/wp-content/uploads/sites/271/2017/02/8542a409-d608-425b-8203-1d14358c64e1.jpg" alt="" width="350" height="124" srcset="https://blogit.create.pt/wp-content/uploads/2017/02/8542a409-d608-425b-8203-1d14358c64e1.jpg 350w, https://blogit.create.pt/wp-content/uploads/2017/02/8542a409-d608-425b-8203-1d14358c64e1-300x106.jpg 300w" sizes="(max-width: 350px) 100vw, 350px" /></p>
<ul>
<li class="ocpExpandoHeadTitleContainer"><strong>Enterprise Wiki &#8211; </strong>It is a publishing site for sharing and <strong>updating</strong> large volumes of <strong>information</strong> across an <strong>enterprise</strong>,  your organization can centralized knowledge repository.</li>
</ul>
<p><img decoding="async" class="size-full wp-image-1651 aligncenter" src="http://blogit.create.pt/fabiocarvalho/wp-content/uploads/sites/271/2017/02/a4437cee-89aa-42a6-a0ea-123168abe851.jpg" alt="" width="352" height="231" srcset="https://blogit.create.pt/wp-content/uploads/2017/02/a4437cee-89aa-42a6-a0ea-123168abe851.jpg 352w, https://blogit.create.pt/wp-content/uploads/2017/02/a4437cee-89aa-42a6-a0ea-123168abe851-300x197.jpg 300w" sizes="(max-width: 352px) 100vw, 352px" /></p>
</section>
<p>The follow table show all <strong>Templates</strong> available for each<strong> SharePoint version</strong>.</p>
<table style="height: 474px;" border="0" width="943" cellspacing="0" cellpadding="2">
<tbody>
<tr>
<td style="text-align: center;" valign="top" width="88">
<h6>Category</h6>
</td>
<td style="text-align: center;" valign="top" width="88">
<h6>Site Type</h6>
</td>
<td style="text-align: center;" valign="top" width="88">
<h6>Template ID</h6>
</td>
<td style="text-align: center;" valign="top" width="88">
<h6>Site Collection</h6>
</td>
<td style="text-align: center;" valign="top" width="88">
<h6>Site</h6>
</td>
<td style="text-align: center;" valign="top" width="88">
<h6>SharePoint Server 2013</h6>
</td>
<td style="text-align: center;" valign="top" width="88">
<h6>SharePoint Foundation 2013</h6>
</td>
<td style="text-align: center;" valign="top" width="88">
<h6>SharePoint Server 2016</h6>
</td>
<td style="text-align: center;" valign="top" width="88">
<h6>SharePoint Online</h6>
</td>
</tr>
<tr>
<td valign="top" width="88">Collaboration</td>
<td valign="top" width="88">Team</td>
<td style="text-align: left;" valign="top" width="88">STS#0</td>
<td style="text-align: center;" valign="top" width="88">Yes</td>
<td style="text-align: center;" valign="top" width="88">Yes</td>
<td style="text-align: center;" valign="top" width="88">Yes</td>
<td style="text-align: center;" valign="top" width="88">Yes</td>
<td style="text-align: center;" valign="top" width="88">Yes</td>
<td style="text-align: center;" valign="top" width="88">Yes</td>
</tr>
<tr>
<td valign="top" width="88">Collaboration</td>
<td valign="top" width="88">Blog</td>
<td style="text-align: left;" valign="top" width="88">BLOG#0</td>
<td style="text-align: center;" valign="top" width="88">Yes</td>
<td style="text-align: center;" valign="top" width="88">Yes</td>
<td style="text-align: center;" valign="top" width="88">Yes</td>
<td style="text-align: center;" valign="top" width="88">Yes</td>
<td style="text-align: center;" valign="top" width="88">Yes</td>
<td style="text-align: center;" valign="top" width="88">Yes</td>
</tr>
<tr>
<td valign="top" width="88">Collaboration</td>
<td valign="top" width="88">Project</td>
<td style="text-align: left;" valign="top" width="88">PROJECTSITE#0</td>
<td style="text-align: center;" valign="top" width="88">Yes</td>
<td style="text-align: center;" valign="top" width="88">Yes</td>
<td style="text-align: center;" valign="top" width="88">Yes</td>
<td style="text-align: center;" valign="top" width="88">No</td>
<td style="text-align: center;" valign="top" width="88">Yes</td>
<td style="text-align: center;" valign="top" width="88">Yes</td>
</tr>
<tr>
<td valign="top" width="88">Collaboration</td>
<td valign="top" width="88">Community</td>
<td valign="top" width="88">SPSCOMMU#0</td>
<td style="text-align: center;" valign="top" width="88">Yes</td>
<td style="text-align: center;" valign="top" width="88">Yes</td>
<td style="text-align: center;" valign="top" width="88">Yes</td>
<td style="text-align: center;" valign="top" width="88">No</td>
<td style="text-align: center;" valign="top" width="88">Yes</td>
<td style="text-align: center;" valign="top" width="88">Yes</td>
</tr>
<tr>
<td valign="top" width="88">Enterprise</td>
<td valign="top" width="88">Document Center</td>
<td valign="top" width="88">BDR#0</td>
<td style="text-align: center;" valign="top" width="88">Yes</td>
<td style="text-align: center;" valign="top" width="88">Yes</td>
<td style="text-align: center;" valign="top" width="88">Yes</td>
<td style="text-align: center;" valign="top" width="88">No</td>
<td style="text-align: center;" valign="top" width="88">Yes</td>
<td style="text-align: center;" valign="top" width="88">Yes</td>
</tr>
<tr>
<td valign="top" width="88">Enterprise</td>
<td valign="top" width="88">Records Center</td>
<td valign="top" width="88">OFFILE#1</td>
<td style="text-align: center;" valign="top" width="88">Yes</td>
<td style="text-align: center;" valign="top" width="88">Yes</td>
<td style="text-align: center;" valign="top" width="88">Yes</td>
<td style="text-align: center;" valign="top" width="88">No</td>
<td style="text-align: center;" valign="top" width="88">Yes</td>
<td style="text-align: center;" valign="top" width="88">Yes</td>
</tr>
<tr>
<td valign="top" width="88">Enterprise</td>
<td valign="top" width="88">Business Intelligence Center</td>
<td style="text-align: left;" valign="top" width="88">BICenterSite#0</td>
<td style="text-align: center;" valign="top" width="88">Yes</td>
<td style="text-align: center;" valign="top" width="88">Yes</td>
<td style="text-align: center;" valign="top" width="88">Yes</td>
<td style="text-align: center;" valign="top" width="88">No</td>
<td style="text-align: center;" valign="top" width="88">Yes</td>
<td style="text-align: center;" valign="top" width="88">Yes</td>
</tr>
<tr>
<td valign="top" width="88">Enterprise</td>
<td valign="top" width="88">Enterprise Search Center</td>
<td valign="top" width="88">SRCHCEN#0</td>
<td style="text-align: center;" valign="top" width="88">Yes</td>
<td style="text-align: center;" valign="top" width="88">Yes</td>
<td style="text-align: center;" valign="top" width="88">Yes</td>
<td style="text-align: center;" valign="top" width="88">No</td>
<td style="text-align: center;" valign="top" width="88">Yes</td>
<td style="text-align: center;" valign="top" width="88">Yes</td>
</tr>
<tr>
<td valign="top" width="88">Enterprise</td>
<td valign="top" width="88">Basic Search Center</td>
<td valign="top" width="88">SRCHCENTERLITE#0</td>
<td style="text-align: center;" valign="top" width="88">No</td>
<td style="text-align: center;" valign="top" width="88">Yes</td>
<td style="text-align: center;" valign="top" width="88">Yes</td>
<td style="text-align: center;" valign="top" width="88">No</td>
<td style="text-align: center;" valign="top" width="88">Yes</td>
<td style="text-align: center;" valign="top" width="88">Yes</td>
</tr>
<tr>
<td style="text-align: left;" valign="top" width="88">Publishing</td>
<td style="text-align: left;" valign="top" width="88">Publishing Site</td>
<td style="text-align: left;" valign="top" width="88">BLANKINTERNET#0</td>
<td style="text-align: center;" valign="top" width="88">No</td>
<td style="text-align: center;" valign="top" width="88">Yes</td>
<td style="text-align: center;" valign="top" width="88">Yes</td>
<td style="text-align: center;" valign="top" width="88">No</td>
<td style="text-align: center;" valign="top" width="88">Yes</td>
<td style="text-align: center;" valign="top" width="88">Yes</td>
</tr>
<tr>
<td valign="top" width="88">Publishing</td>
<td valign="top" width="88">Publishing Site with Workflow</td>
<td valign="top" width="88">BLANKINTERNET#2</td>
<td style="text-align: center;" valign="top" width="88">No</td>
<td style="text-align: center;" valign="top" width="88">Yes</td>
<td style="text-align: center;" valign="top" width="88">Yes</td>
<td style="text-align: center;" valign="top" width="88">No</td>
<td style="text-align: center;" valign="top" width="88">Yes</td>
<td style="text-align: center;" valign="top" width="88">Yes</td>
</tr>
<tr>
<td valign="top" width="88">Publishing</td>
<td valign="top" width="88">Enterprise  Wiki</td>
<td style="text-align: left;" valign="top" width="88">ENTERWIKI#0</td>
<td style="text-align: center;" valign="top" width="88">No</td>
<td style="text-align: center;" valign="top" width="88">Yes</td>
<td style="text-align: center;" valign="top" width="88">Yes</td>
<td style="text-align: center;" valign="top" width="88">No</td>
<td style="text-align: center;" valign="top" width="88">No</td>
<td style="text-align: center;" valign="top" width="88">Yes</td>
</tr>
</tbody>
</table>
<p>Also you have different types of site template variation, the following table show <strong>ALL</strong> the <strong>Template ID</strong> available, and you can you use powershell command to create them.</p>
<pre><strong>New-SPWeb</strong> http://createIT/blog <strong>-Template</strong> "BLOG#0"</pre>
<table border="0" width="400" cellspacing="0" cellpadding="2">
<tbody>
<tr>
<td valign="top" width="200">
<h6><strong>Template ID</strong></h6>
</td>
<td valign="top" width="400">
<h6><strong>Title</strong></h6>
</td>
</tr>
<tr>
<td>GLOBAL#0</td>
<td>Global template</td>
</tr>
<tr>
<td>STS#0</td>
<td>Team Site</td>
</tr>
<tr>
<td>STS#1</td>
<td>Blank Site</td>
</tr>
<tr>
<td>STS#2</td>
<td>Document Workspace</td>
</tr>
<tr>
<td>MPS#0</td>
<td>Basic Meeting Workspace</td>
</tr>
<tr>
<td>MPS#1</td>
<td>Blank Meeting Workspace</td>
</tr>
<tr>
<td>MPS#2</td>
<td>Decision Meeting Workspace</td>
</tr>
<tr>
<td>MPS#3</td>
<td>Social Meeting Workspace</td>
</tr>
<tr>
<td>MPS#4</td>
<td>Multipage Meeting Workspace</td>
</tr>
<tr>
<td>CENTRALADMIN#0</td>
<td>Central Admin Site</td>
</tr>
<tr>
<td>WIKI#0</td>
<td>Wiki Site</td>
</tr>
<tr>
<td>BLOG#0</td>
<td>Blog</td>
</tr>
<tr>
<td>SGS#0</td>
<td>Group Work Site</td>
</tr>
<tr>
<td>TENANTADMIN#0</td>
<td>Tenant Admin Site</td>
</tr>
<tr>
<td>APP#0</td>
<td>App Template</td>
</tr>
<tr>
<td>APPCATALOG#0</td>
<td>App Catalog Site</td>
</tr>
<tr>
<td>ACCSRV#0</td>
<td>Access Services Site</td>
</tr>
<tr>
<td>ACCSRV#1</td>
<td>Assets Web Database</td>
</tr>
<tr>
<td>ACCSRV#3</td>
<td>Charitable Contributions Web Database</td>
</tr>
<tr>
<td>ACCSRV#4</td>
<td>Contacts Web Database</td>
</tr>
<tr>
<td>ACCSRV#5</td>
<td>Projects Web Database</td>
</tr>
<tr>
<td>ACCSRV#6</td>
<td>Issues Web Database</td>
</tr>
<tr>
<td>ACCSVC#0</td>
<td>Access Services Site Internal</td>
</tr>
<tr>
<td>ACCSVC#1</td>
<td>Access Services Site</td>
</tr>
<tr>
<td>BDR#0</td>
<td>Document Center</td>
</tr>
<tr>
<td>DEV#0</td>
<td>Developer Site</td>
</tr>
<tr>
<td>DOCMARKETPLACESITE#0</td>
<td>Academic Library</td>
</tr>
<tr>
<td>EDISC#0</td>
<td>eDiscovery Center</td>
</tr>
<tr>
<td>EDISC#1</td>
<td>eDiscovery Case</td>
</tr>
<tr>
<td>OFFILE#0</td>
<td>(obsolete) Records Center</td>
</tr>
<tr>
<td>OFFILE#1</td>
<td>Records Center</td>
</tr>
<tr>
<td>OSRV#0</td>
<td>Shared Services Administration Site</td>
</tr>
<tr>
<td>PPSMASite#0</td>
<td>PerformancePoint</td>
</tr>
<tr>
<td>BICenterSite#0</td>
<td>Business Intelligence Center</td>
</tr>
<tr>
<td>SPS#0</td>
<td>SharePoint Portal Server Site</td>
</tr>
<tr>
<td>SPSPERS#0</td>
<td>SharePoint Portal Server Personal Space</td>
</tr>
<tr>
<td>SPSPERS#2</td>
<td>Storage And Social SharePoint Portal Server Personal Space</td>
</tr>
<tr>
<td>SPSPERS#3</td>
<td>Storage Only SharePoint Portal Server Personal Space</td>
</tr>
<tr>
<td>SPSPERS#4</td>
<td>Social Only SharePoint Portal Server Personal Space</td>
</tr>
<tr>
<td>SPSPERS#5</td>
<td>Empty SharePoint Portal Server Personal Space</td>
</tr>
<tr>
<td>SPSMSITE#0</td>
<td>Personalization Site</td>
</tr>
<tr>
<td>SPSTOC#0</td>
<td>Contents area Template</td>
</tr>
<tr>
<td>SPSTOPIC#0</td>
<td>Topic area template</td>
</tr>
<tr>
<td>SPSNEWS#0</td>
<td>News Site</td>
</tr>
<tr>
<td>CMSPUBLISHING#0</td>
<td>Publishing Site</td>
</tr>
<tr>
<td>BLANKINTERNET#0</td>
<td>Publishing Site</td>
</tr>
<tr>
<td>BLANKINTERNET#1</td>
<td>Press Releases Site</td>
</tr>
<tr>
<td>BLANKINTERNET#2</td>
<td>Publishing Site with Workflow</td>
</tr>
<tr>
<td>SPSNHOME#0</td>
<td>News Site</td>
</tr>
<tr>
<td>SPSSITES#0</td>
<td>Site Directory</td>
</tr>
<tr>
<td>SPSCOMMU#0</td>
<td>Community area template</td>
</tr>
<tr>
<td>SPSREPORTCENTER#0</td>
<td>Report Center</td>
</tr>
<tr>
<td>SPSPORTAL#0</td>
<td>Collaboration Portal</td>
</tr>
<tr>
<td>SRCHCEN#0</td>
<td>Enterprise Search Center</td>
</tr>
<tr>
<td>PROFILES#0</td>
<td>Profiles</td>
</tr>
<tr>
<td>BLANKINTERNETCONTAINER#0</td>
<td>Publishing Portal</td>
</tr>
<tr>
<td>SPSMSITEHOST#0</td>
<td>My Site Host</td>
</tr>
<tr>
<td>ENTERWIKI#0</td>
<td>Enterprise Wiki</td>
</tr>
<tr>
<td>PROJECTSITE#0</td>
<td>Project Site</td>
</tr>
<tr>
<td>PRODUCTCATALOG#0</td>
<td>Product Catalog</td>
</tr>
<tr>
<td>COMMUNITY#0</td>
<td>Community Site</td>
</tr>
<tr>
<td>COMMUNITYPORTAL#0</td>
<td>Community Portal</td>
</tr>
<tr>
<td>SRCHCENTERLITE#0</td>
<td>Basic Search Center</td>
</tr>
<tr>
<td>SRCHCENTERLITE#1</td>
<td>Basic Search Center</td>
</tr>
<tr>
<td>SRCHCENTERFAST#0</td>
<td>FAST Search Center</td>
</tr>
<tr>
<td>VISPRUS#0</td>
<td>Visio Process Repository</td>
</tr>
</tbody>
</table>
<p>Fonts:<br />
<a href="https://support.office.com/en-us/article/Using-templates-to-create-different-kinds-of-SharePoint-sites-449eccec-ff99-4cf3-b62e-dcfee37e8da4">Using templates to create different kinds of SharePoint sites</a><br />
<a href="https://blogs.technet.microsoft.com/praveenh/2010/10/21/sharepoint-templates-and-their-ids/">SharePoint templates and their IDs</a></p>
<p>Thanks</p>
<p><strong>Fábio Carvalho</strong><br />
SharePoint Consultant<br />
<strong>|create|</strong><strong>it</strong><strong>|</strong></p>
<p>The post <a href="https://blogit.create.pt/fabiocarvalho/2017/02/18/sharepoint-templates-understand-the-differences/">SharePoint Templates &#8211; Understand the differences</a> appeared first on <a href="https://blogit.create.pt">Blog IT</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blogit.create.pt/fabiocarvalho/2017/02/18/sharepoint-templates-understand-the-differences/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
			</item>
		<item>
		<title>SharePoint &#8211; Export all solutions wsp using PowerShell script</title>
		<link>https://blogit.create.pt/fabiocarvalho/2017/02/16/sharepoint-export-all-solutions-wsp-using-powershell-script/</link>
					<comments>https://blogit.create.pt/fabiocarvalho/2017/02/16/sharepoint-export-all-solutions-wsp-using-powershell-script/#comments</comments>
		
		<dc:creator><![CDATA[Fábio Carvalho]]></dc:creator>
		<pubDate>Thu, 16 Feb 2017 02:52:53 +0000</pubDate>
				<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[Migration]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[Administration]]></category>
		<category><![CDATA[SharePoint 2010]]></category>
		<category><![CDATA[SharePoint 2013]]></category>
		<category><![CDATA[SharePoint 2016]]></category>
		<category><![CDATA[Solutions]]></category>
		<guid isPermaLink="false">http://blogit.create.pt/fabiocarvalho/?p=2631</guid>

					<description><![CDATA[<p>Hey Everyone, Today i will post a script very helpful when you are on Migration steps and you need export all wsp solutions. $dirName = &#34;C:\WSP&#34; if (!(Test-Path -path $dirName)) { New-Item $dirName -type directory } Write-Host Exporting solutions to $dirName foreach ($solution in Get-SPSolution) { $id = $Solution.SolutionID $title = $Solution.Name $filename = $Solution.SolutionFile.Name [&#8230;]</p>
<p>The post <a href="https://blogit.create.pt/fabiocarvalho/2017/02/16/sharepoint-export-all-solutions-wsp-using-powershell-script/">SharePoint &#8211; Export all solutions wsp using PowerShell script</a> appeared first on <a href="https://blogit.create.pt">Blog IT</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Hey Everyone,</p>
<p>Today i will post a script very helpful when you are on Migration steps and you need export all wsp solutions.</p>
<pre class="brush: bash; title: ; notranslate"> 

$dirName = &quot;C:\WSP&quot;
if (!(Test-Path -path $dirName))
{
New-Item $dirName -type directory
}
Write-Host Exporting solutions to $dirName
foreach ($solution in Get-SPSolution)
{
    $id = $Solution.SolutionID
    $title = $Solution.Name
    $filename = $Solution.SolutionFile.Name
    Write-Host &quot;Exporting ‘$title’ to …\$filename&quot; -nonewline
    try {
        $solution.SolutionFile.SaveAs(&quot;$dirName\$filename&quot;)
        Write-Host &quot; – done&quot; -foreground green
    }
    catch
    {
        Write-Host &quot; – error : $_&quot; -foreground red
    }
}

</pre>
<p>Thanks</p>
<p><strong>Fábio Carvalho</strong><br />
SharePoint Consultant<br />
<strong>|create|</strong><span style="color: #ff0000"><strong>it</strong></span><strong>|</strong></p>
<p>The post <a href="https://blogit.create.pt/fabiocarvalho/2017/02/16/sharepoint-export-all-solutions-wsp-using-powershell-script/">SharePoint &#8211; Export all solutions wsp using PowerShell script</a> appeared first on <a href="https://blogit.create.pt">Blog IT</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blogit.create.pt/fabiocarvalho/2017/02/16/sharepoint-export-all-solutions-wsp-using-powershell-script/feed/</wfw:commentRss>
			<slash:comments>11</slash:comments>
		
		
			</item>
		<item>
		<title>Querying SharePoint Search from PowerShell</title>
		<link>https://blogit.create.pt/andrevala/2014/12/11/querying-sharepoint-search-from-powershell/</link>
					<comments>https://blogit.create.pt/andrevala/2014/12/11/querying-sharepoint-search-from-powershell/#comments</comments>
		
		<dc:creator><![CDATA[André Vala]]></dc:creator>
		<pubDate>Thu, 11 Dec 2014 15:32:13 +0000</pubDate>
				<category><![CDATA[FAST Search]]></category>
		<category><![CDATA[SharePoint 2010]]></category>
		<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[Search]]></category>
		<category><![CDATA[SharePoint]]></category>
		<guid isPermaLink="false">http://blogit.create.pt/andrevala/?p=1791</guid>

					<description><![CDATA[<p>FAST Search for SharePoint 2010 (FS4SP) is a really powerful, flexible and scalable enterprise search engine. However, when compared with the search landscape in SharePoint 2013, it feels like a separate product, an add-on to SharePoint 2010 that gives you a more powerful alternative to the out-of-the-box search engine. When using FS4SP in a production [&#8230;]</p>
<p>The post <a href="https://blogit.create.pt/andrevala/2014/12/11/querying-sharepoint-search-from-powershell/">Querying SharePoint Search from PowerShell</a> appeared first on <a href="https://blogit.create.pt">Blog IT</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><strong>FAST Search for SharePoint 2010</strong> (FS4SP) is a really powerful, flexible and scalable enterprise search engine. However, when compared with the search landscape in SharePoint 2013, it feels like a separate product, an add-on to SharePoint 2010 that gives you a more powerful alternative to the out-of-the-box search engine.</p>
<p>When using FS4SP in a production environment, you need a separate farm just for FAST. That is, you need a set of servers where you install FS4SP and then you connect that FAST farm to a SharePoint farm, by means of two Search Service Applications. These FAST servers don’t have SharePoint installed on them and they have their own PowerShell snap-in that allows you to perform a whole bunch of administration tasks on FS4SP. </p>
<p>Suppose you want to query your search index, for testing or maintenance purposes, in PowerShell. The easiest solution would be to open your SharePoint 2010 Administration PowerShell console, and use the Server Side Object Model to create a new <code>KeywordQuery</code> object and invoke the <code>Execute</code> method on it. You can find many blog posts that teach how to do this. Here’s <a href="http://www.sharingminds.com.au/Blog/Post/21/Searching-SharePoint-with-PowerShell" target="_blank">one example</a>. If, for some reason, you need to run that PowerShell script from one of the FAST servers it won’t work because these servers don’t have SharePoint installed and are not part of the SharePoint farm, hence you can’t use the Server Object Model.</p>
<p>In this case, you’ll need to use the search web service, which can be called from any server as long as it can communicate with the SharePoint farm. The script below shows how you can do this.</p>
<p><code><strong>$WebApplicationURL</strong> = <font color="#c0504d">"http://myserver:9999"</font><br /><strong>$SearchServiceURL</strong> = <font color="#c0504d">"/_vti_bin/search.asmx"</font></p>
<p><font color="#008000"># Create a proxy to call the search web service</font><br /><strong>$SearchWS</strong> = New-WebServiceProxy -Uri (<strong>$WebApplicationURL</strong> + <strong>$SearchServiceURL</strong>) -UseDefaultCredential</p>
<p><font color="#008000"># Build the query XML. You can use FQL or KQL.</font><br /><strong>$queryXml</strong> = <font color="#666666">@"<br />&lt;QueryPacket Revision="1000"&gt;<br />&nbsp; &lt;Query&gt;<br />&nbsp;&nbsp;&nbsp; &lt;Context&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;QueryText language="en-US" type="FQL"&gt;SharePoint&lt;/QueryText&gt;<br />&nbsp;&nbsp;&nbsp; &lt;/Context&gt;<br />&nbsp;&nbsp;&nbsp; &lt;SupportedFormats Format="urn:Microsoft.Search.Response.Document.Document" /&gt;<br />&nbsp;&nbsp;&nbsp; &lt;ResultProvider&gt;FASTSearch&lt;/ResultProvider&gt;<br />&nbsp;&nbsp;&nbsp; &lt;Range&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;StartAt&gt;1&lt;/StartAt&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;Count&gt;100&lt;/Count&gt;<br />&nbsp;&nbsp;&nbsp; &lt;/Range&gt;<br />&nbsp;&nbsp;&nbsp; &lt;EnableStemming&gt;On&lt;/EnableStemming&gt;<br />&nbsp;&nbsp;&nbsp; &lt;EnableSpellCheck&gt;Off&lt;/EnableSpellCheck&gt;<br />&nbsp;&nbsp;&nbsp; &lt;IncludeSpecialTermsResults&gt;true&lt;/IncludeSpecialTermsResults&gt;<br />&nbsp;&nbsp;&nbsp; &lt;IncludeRelevantResults&gt;true&lt;/IncludeRelevantResults&gt;<br />&nbsp;&nbsp;&nbsp; &lt;ImplicitAndBehavior&gt;true&lt;/ImplicitAndBehavior&gt;<br />&nbsp;&nbsp;&nbsp; &lt;TrimDuplicates&gt;true&lt;/TrimDuplicates&gt;<br />&nbsp;&nbsp;&nbsp; &lt;Properties&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;Property name="Rank" /&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;Property name="Title" /&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;Property name="Author" /&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;Property name="Write" /&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;Property name="Path" /&gt;<br />&nbsp;&nbsp;&nbsp; &lt;/Properties&gt;<br />&nbsp; &lt;/Query&gt;<br />&lt;/QueryPacket&gt;<br />"@</font></p>
<p><font color="#008000"># call the web service</font><br /><strong>$results</strong> = <strong>$SearchWS</strong>.QueryEx(<strong>$queryXml</strong>)</p>
<p><font color="#008000"># process the results</font><br />if (<strong>$results</strong> -ne <strong>$null</strong> -And <strong>$results</strong>.Tables[<font color="#c0504d">"RelevantResults"</font>] -ne <strong>$null</strong>)<br />{<br />&nbsp;&nbsp;&nbsp; <font color="#008000"># check the result count (this page) and the total result count (all pages)</font><br />&nbsp;&nbsp;&nbsp; <strong>$resultCount</strong> = <strong>$results</strong>.Tables[<font color="#c0504d">"RelevantResults"</font>].Rows.Count<br />&nbsp;&nbsp;&nbsp; <strong>$totalCount</strong> = <strong>$results</strong>.Tables[<font color="#c0504d">"RelevantResults"</font>].ExtendedProperties[<font color="#c0504d">"TotalRows"</font>]<br />&nbsp;&nbsp;&nbsp; Write-Host <font color="#c0504d">"</font><font color="#c0504d">Retrieved $resultCount (from a total of $totalCount) results."</font><br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; <font color="#008000"># write the title of each result in the console window</font><br />&nbsp;&nbsp;&nbsp; foreach (<strong>$row</strong> in <strong>$results</strong>.Tables[<font color="#c0504d">"RelevantResults"</font>].Rows)<br />&nbsp;&nbsp;&nbsp; {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Write-Host <strong>$row</strong>[<font color="#c0504d">"Title"</font>]<br />&nbsp;&nbsp;&nbsp;&nbsp; }<br />}</code></p>
<p>The post <a href="https://blogit.create.pt/andrevala/2014/12/11/querying-sharepoint-search-from-powershell/">Querying SharePoint Search from PowerShell</a> appeared first on <a href="https://blogit.create.pt">Blog IT</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blogit.create.pt/andrevala/2014/12/11/querying-sharepoint-search-from-powershell/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>User License Enforcement in SharePoint 2013</title>
		<link>https://blogit.create.pt/andrevala/2013/12/07/user-license-enforcement-in-sharepoint-2013/</link>
					<comments>https://blogit.create.pt/andrevala/2013/12/07/user-license-enforcement-in-sharepoint-2013/#comments</comments>
		
		<dc:creator><![CDATA[André Vala]]></dc:creator>
		<pubDate>Sat, 07 Dec 2013 10:09:00 +0000</pubDate>
				<category><![CDATA[SharePoint 2013]]></category>
		<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[SharePoint]]></category>
		<guid isPermaLink="false">http://blogcreate.azurewebsites.net/andrevala/?p=101</guid>

					<description><![CDATA[<p>Note: this post was first published in the European SharePoint Community blog. Amongst the several new features included in SharePoint 2013, there is one that I have unfairly overlooked until just recently and that is User License Enforcement. I say unfairly because it’s a feature that has been requested for a long time and I [&#8230;]</p>
<p>The post <a href="https://blogit.create.pt/andrevala/2013/12/07/user-license-enforcement-in-sharepoint-2013/">User License Enforcement in SharePoint 2013</a> appeared first on <a href="https://blogit.create.pt">Blog IT</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><strong>Note:</strong> this post was first published in the <a href="http://www.sharepointeurope.com/blog/2013/11/26/user-license-enforcement-in-sharepoint-2013/" target="_blank">European SharePoint Community blog</a>.</p>
<p>Amongst the several new features included in SharePoint 2013, there is one that I have unfairly overlooked until just recently and that is <b>User License Enforcement</b>. I say unfairly because it’s a feature that has been requested for a long time and I believe it deserves more attention than it has been receiving.</p>
<p>Up until now, any user that accessed a SharePoint farm would have access to all the features included in the installed SharePoint SKU, regardless of the CAL (Client Access License) level assigned to her. This means that, if a company had a SharePoint farm with an Enterprise license, any user would be able to access all Enterprise features, even if it was assigned a Standard CAL.</p>
<p>On most large companies, for cost saving purposes, it’s quite common to find scenarios where only some of the users are assigned an Enterprise CAL, while every other user is assigned a Standard CAL. One way to ensure that each user can only access the features included in his license, is to have two separate SharePoint farms, one with a Standard SKU and the other with an Enterprise SKU. However, this is hardly an acceptable solution.</p>
<p>SharePoint 2013 solves this with the new User License Enforcement capability, which enables the mapping of licenses with specific users or Active Directory security groups. When User License Enforcement is enabled, users can only access the SharePoint features included with their license, otherwise they are blocked. When it’s disabled, which is the default, SharePoint behaves the same as in previous versions. </p>
<p>User License Enforcement management is performed exclusively through PowerShell cmdlets in SharePoint 2013 Management Shell. There are eight cmdlets which are explained in detail in the following sections:</p>
<ul>
<li>Get-SPUserLicensing </li>
<li>Enable-SPUserLicensing </li>
<li>Disable-SPUserLicensing </li>
<li>Get-SPUserLicense </li>
<li>Get-SPUserLicenseMapping </li>
<li>New-SPUserLicenseMapping </li>
<li>Add-SPUserLicenseMapping </li>
<li>Remove-SPUserLicenseMapping </li>
</ul>
<h4>Enabling and Disabling User License Enforcement</h4>
<p>To check if this feature is enabled, use the <b>Get-SPUserLicensing</b> cmdlet in SharePoint 2013 Management Shell. It will return <b>true </b>if the feature is enabled, and <b>false</b> otherwise (see Figure 1). As stated before, User License Enforcement is disabled by default.</p>
<p><img decoding="async" src="http://i983.photobucket.com/albums/ae319/andrevala/Blog%20Images/Figure1-Get-SPUserLicensing_zps96b0afa3.png"></p>
<p><em>Figure 1 &#8211; Usage of Get-SPUserLicensing cmdlet</em></p>
<p>To enable it, execute the <b>Enable-SPUserLicensing</b> cmdlet. To disable it, execute the <b>Disable-SPUserLicensing</b> cmdlet. Both cmdlets require no parameters and return no values (see Figure 2).</p>
<p><img decoding="async" src="http://i983.photobucket.com/albums/ae319/andrevala/Blog%20Images/Figure2-Enable-Disable-SPUserLicensing_zpsa239fa95.png"></p>
<p><em>Figure 2 &#8211; Using the Enable-SPUserLicensing and Disable-SPUserLicensing cmdlets</em></p>
<p>Now that you know how to enable and disable it, I should advise you to keep it disabled until you have configured it properly. Otherwise you might involuntarily block access to Enterprise features for users that should have access to them or allow access to features that users should not be allowed to use.</p>
<h4>Checking Available User Licenses</h4>
<p>To check what licenses are available in your SharePoint farm, you can use the <b>Get-SPUserLicense</b> cmdlet (see figure 3).</p>
<p><img decoding="async" src="http://i983.photobucket.com/albums/ae319/andrevala/Blog%20Images/Figure3-Get-SPUserLicense_zpsdc1bf5e7.png"></p>
<p><em>Figure 3 &#8211; Using the Get-SPUserLicense cmdlet</em></p>
<p>There are five license types (although on my farm there are only four):</p>
<ul>
<li>Enterprise</li>
<li>Standard</li>
<li>Project</li>
<li>OfficeWebAppsEdit</li>
<li>Duet</li>
</ul>
<p>The <b>Enterprise</b> and <b>Standard</b> licenses are the two SharePoint Server editions, which have been around for several versions already. You can check the differences between the two in TechNet: <a href="http://technet.microsoft.com/en-us/library/sharepoint-online-service-description.aspx#bkmk_FeaturesOnPremise">http://technet.microsoft.com/en-us/library/sharepoint-online-service-description.aspx#bkmk_FeaturesOnPremise</a>. </p>
<p>As for the others: the <b>Project</b> license is used to allow access to Project Server features, the <b>OfficeWebAppsEdit</b> license is used to allow users to edit documents in Office Web Apps, and the <b>Duet</b> license is used to allow access to Duet features (integration between SharePoint and SAP).</p>
<h4>Mapping User Licenses</h4>
<p>Mapping users to licenses is, in fact, mapping claims to rights. To create a new mapping you must execute the <b>New-SPUserLicenseMapping</b> cmdlet which can be used in a few different ways, depending on the type of claim you are mapping.</p>
<p>You can map an Active Directory security group to a license, executing the following command:</p>
<blockquote>
<p><font face="Courier New">$mapping = New-SPUserLicenseMapping        <br />–SecurityGroup “Enterprise Users”         <br />–License “Enterprise”</font></p>
</blockquote>
<p>You can also map a Forms-based Role to a license by using the <b>–RoleProvider</b> and <b>–Role </b>parameters instead of the <b>–SecurityGroup</b> parameter:</p>
<blockquote>
<p><font face="Courier New">$mapping = New-SPUserLicenseMapping        <br />–RoleProvider “MyRoleProvider”         <br />–Role “Enterprise Users”         <br />–License “Enterprise”</font></p>
</blockquote>
<p>Finally, you can map a claim to a license by using the <b>–ClaimType</b>, <b>–OriginalProvider </b>and<b> –Value </b>parameters, or just the <b>–Claim </b>parameter with a reference to a SPClaim object.</p>
<p><img decoding="async" src="http://i983.photobucket.com/albums/ae319/andrevala/Blog%20Images/Figure4-New-SPUserLicenseMapping_zpsabe4ce32.png"></p>
<p><em>Figure 4 &#8211; Using the New-SPUserLicenseMapping cmdlet</em></p>
<p>When creating the mapping you can also specify which Web Application the mapping applies to, allowing you to configure user licenses on a per-web application basis. If you don’t specify a web application, the mapping will be applied to the whole farm.</p>
<p>After creating the mapping, you must call the <b>Add-SPUserLicenseMapping</b> to add it to the farm:</p>
<blockquote>
<p><font face="Courier New">Add-SPUserLicenseMapping –Mapping $mapping</font></p>
</blockquote>
<h4>Checking User License Mappings</h4>
<p>To check which mappings are configured in the farm, you can use the <b>Get-SPUserLicenseMapping</b> cmdlet without any additional parameters. Note that any mappings defined on a web application level will not be returned when retrieving the farm level mappings.</p>
<p><img decoding="async" src="http://i983.photobucket.com/albums/ae319/andrevala/Blog%20Images/Figure5-Get-SPUserLicenseMapping_zpsf2cbc538.png"></p>
<p><em>Figure 5 &#8211; Using Get-SPUserLicenseMapping cmdlet</em></p>
<p>To list the mappings configured for a specific web application, add the <b>–Web Application</b> parameter with the respective URL value.</p>
<h4>Removing User License Mappings</h4>
<p>To remove a mapping, you can use the <b>Remove-SPUserLicenseMapping</b> cmdlet. The only required parameter is the identity of the mapping (a GUID) which you can easily get by executing the <b>Get-SPUserLicenseMapping</b> cmdlet.</p>
<h4>Enforcement Effects</h4>
<p>Two common questions regarding User License Enforcement are:</p>
<ul>
<li>Where is the user license enforced?</li>
<li>What happens when a user tries to access a feature that is not available to his license type?</li>
</ul>
<p>Regarding the first question, the user license enforcement will be used in the following situations:</p>
<ul>
<li>When accessing a page with web parts that require a specific license (e.g. Excel Viewer Web Part or InfoPath Form Viewer);</li>
<li>Accessing the web part gallery to add a new web part to a page;</li>
<li>Selecting a site template when creating a new site;</li>
<li>Trying to edit a document in Office Web Apps.</li>
</ul>
<p>As for what happens in these situations, two things can happen:</p>
<ul>
<li>A user without the required license won’t see the components he has no access to (web parts and site templates); or</li>
<li>SharePoint will deny access to a component the user has no license for, presenting a message explaining why the user cannot access the component.</li>
</ul>
<h4>Additional Notes</h4>
<p>There are a few additional notes I believe are important to keep in mind:</p>
<ul>
<li>User License Enforcement is available only for On Premise SharePoint 2013 deployments. SharePoint Online uses a per-user licensing model hence it does not require this capability to control access to specific features.</li>
<li>User License Enforcement works only with Web Applications that use Claims-based Authentication.</li>
<li>Once enabled, every user has to be assigned a license, even service accounts. If you forget to assign a license to a user, it will be logged as Unlicensed and will be denied access to most SharePoint features.</li>
</ul>
<h4>References</h4>
<p>You can find additional information on the PowerShell cmdlets on TechNet: <a href="http://technet.microsoft.com/en-us/library/jj219609.aspx">http://technet.microsoft.com/en-us/library/jj219609.aspx</a>.</p>
<p>The post <a href="https://blogit.create.pt/andrevala/2013/12/07/user-license-enforcement-in-sharepoint-2013/">User License Enforcement in SharePoint 2013</a> appeared first on <a href="https://blogit.create.pt">Blog IT</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blogit.create.pt/andrevala/2013/12/07/user-license-enforcement-in-sharepoint-2013/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
			</item>
	</channel>
</rss>
