¿Cómo habilitar una característica o un servicio a un sitio SharePoint Online mediante PowerShell?

Introducción
El principal objetivo de cualquier herramientas ideada por el ser humano, es facilitar la ejecución de alguna tarea y/o trabajo. Desde que comenzaron las innovaciones tecnológicas, enfocadas en los programas y aplicaciones informativas y digitales, hemos tenido valiosos recursos que han transformado nuestra visión del trabajo empresarial, optimizando el esfuerzo hacia el reducción de costos y el mejor aprovechamiento posible.
Problemática
En post anteriores, hemos profundizado en las valiosas características de Sharepoint y de contar con una intranet corporativa, así de como estos recursos se enlazan con los mejores rasgos de Office 365. Microsoft es líder en la actualización de sus programas informáticos, dejando a disposición de todos, el conocimiento y capacidad suficiente para mejorar sustancialmente el tiempo que los empleados de las empresas dedican a sus actividades.
Hoy en día, existen tareas que podemos realizar sin necesidad de entrar a la consola de administración de SharePoint, y de igual manera, existen casos que no podemos de forma gráfica habilitar un servicio.
Con PowerShell de Office 365, puede administrar Office 365 con comandos y scripts para simplificar el trabajo diario, de forma rápida y segura.
Solución
Lo primera actividad será implementar el ambiente de administración de PowerShell, este es un módulo de Windows PowerShell que puede usar para administrar la configuración de SharePoint a nivel de organización y colección de sitios. Las operaciones de línea de comandos en Windows PowerShell se componen de una serie de comandos.
Para esto dirigirse a https://www.microsoft.com/es-es/download/details.aspx?id=35588 y descargue el módulo de administración.

De acuerdo con la versión de sistema operativo seleccionamos x32 o x64

Iniciamos la aplicación, aceptamos los términos de contrato y damos en Instalar

Esperamos a que se instale esto tarda alrededor de 2 minutos

Ya que tenemos implementado la consola de administración de Power Shell de Sharepoint ahora si proseguimos para iniciar el servicio.

1. Lo primero es correr el PowerShell como administrador.

2. Instale el Shell de administración de SharePoint Online.
Verificamos si ya instaló SharePoint Online Management Shell ejecutando el siguiente comando en modo administrativo en PowerShell.
ps c:\Windows\system32> Get-Module -Name Microsoft.Online.SharePoint.PowerShell -ListAvailable | Select Name,Version
Si su sistema operativo usa PowerShell 5 o posterior, puede instalar el Shell de administración de SharePoint Online.
ps c:\Windows\system32> Install-Module -Name Microsoft.Online.SharePoint.PowerShell
3. Realizamos nuestra conexión al sitio de SharePoint Online mediante el siguiente Script.
ps c:\Windows\system32> $adminUPN=”xxxxxx@xxxxxxx.onmicrosoft.com”
$orgName=”nombre_de_sitio”
$userCredential = Get-Credential -UserName $adminUPN -Message “aaa”
Connect-SPOService -Url https://$orgName-admin.sharepoint.com -Credential $userCredential
4. Ya podemos habilitar una característica o un servicio a un sitio de SharePoint Online mediante el siguiente Script, asegurándonos de que estamos ejecutando el PowerShell en modo administrador.
####################################################################
####################################################################
#Script that enables a feature in a SPO Site
# Required Parameters:
# -> $sUserName: User Name to connect to the SharePoint Online Site Collection.
# -> $sPassword: Password for the user.
# -> $sSiteColUrl: SharePoint Online Site Collection
# -> $sFeatureGuid: GUID of the feature to be enabled
####################################################################
####################################################################
$host.Runspace.ThreadOptions = “ReuseThread”
#Definition of the function that allows to enable a SPO Feature
function Enable-SPOFeature
{
param ($sSiteColUrl,$sUserName,$sPassword,$sFeatureGuid)
try
{
#SPO Client Object Model Context
$spoCtx = New-Object Microsoft.SharePoint.Client.ClientContext($sSiteColUrl)
$spoCredentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($sUsername, $sPassword)
$spoCtx.Credentials = $spoCredentials
Write-Host “—————————————————————————-” -foregroundcolor Green
Write-Host “Enabling the Feature with GUID $sFeatureGuid !!” -ForegroundColor Green
Write-Host “—————————————————————————-” -foregroundcolor Green
$guiFeatureGuid = [System.Guid] $sFeatureGuid
$spoSite=$spoCtx.Site
$spoSite.Features.Add($sFeatureGuid, $true,
[Microsoft.SharePoint.Client.FeatureDefinitionScope]::None)
$spoCtx.ExecuteQuery()
$spoCtx.Dispose()
}
catch [System.Exception]
{
write-host -f red $_.Exception.ToString()
}
}
#Required Parameters
$sSiteColUrl = “https://xxxxxx.sharepoint.com”
$sUserName = “xxx.xxx@xxxxxxx.onmicrosoft.com”
$sFeatureGuid= “f6924d36-2fa8-4f0b-b16d-06b7250180fa”
$sPassword=convertto-securestring “PASSWORD” -asplaintext -force
Enable-SPOFeature -sSiteColUrl $sSiteColUrl -sUserName $sUserName -sPassword $sPassword -sFeatureGuid $sFeatureGuid
Para poder ejecutarlo sin problema, tenemos que cambiar lo que está escrito en rojo por la información correcta:
1. $sSiteColUrl = https://xxxxxx.sharepoint.com
Se escribe la dirección URL del sitio donde vamos a habilitar una característica o un servicio.
2. $sUserName = “xxx.xxx@xxxxxxx.onmicrosoft.com”
Aquí ponemos el correo electrónico designado para que pueda acceder el administrador.
3. $sFeatureGuid= “f6924d36-2fa8-4f0b-b16d-06b7250180fa”
Aquí está lo importante de saber cuál es el dato que se va a teclear, para esto ingresamos a el sitio de SharePoint en cuestión y en examinamos que id tiene la característica o un servicio que vamos a habilitar, como lo muestra la siguiente imagen:

$sPassword=convertto-securestring “PASSWORD” -asplaintext -force
Aquí como su nombre lo indica se teclea el Password con el que puede acceder el administrador.
Con estos pasos podemos administrar un sitio de SharePoint Online, como vimos, describimos un ejemplo muy claro de cuando no podemos habilitar una característica o un servicio evitando el molesto mensaje de error “Error Inesperado”.
Conclusión
Así como se Instaló el Shell de administración de SharePoint Online, para empezar a administrar Office365 por la PowerShell podemos descargar e instalar los otros tres módulos de administración de Microsoft Office 365 para PowerShell, que son: Microsoft Online Services Sign-In, Microsoft Azure Active Directory y Microsoft Skype for Business Online