La mayoría de las funciones de administración de SharePoint se realizan a través de la interfaz gráfica del portal. Sin embargo, si realiza las mismas tareas con frecuencia, puede automatizarlas con PowerShell. Los administradores pueden usar PowerShell para administrar varias tareas en SharePoint. Microsoft proporciona conjuntos separados de cmdlets para administrar SharePoint en las instalaciones y SharePoint Online. La cantidad de cmdlets de PowerShell para SharePoint Online es menor que para la versión local de SharePoint.
Para conectarse a SharePoint Online, debe instalar el Shell de administración de SharePoint Online. Este módulo de PowerShell le permite administrar la suscripción de SharePoint Online en Office 365. Para instalar este módulo, PowerShell 3.0 (incluido en Windows Management Framework 3.0) debe estar instalado en su computadora. Descargue el Shell de administración de SharePoint Online aquí:
https://www.microsoft.com/en-US/download/details.aspx?id=35588
Dependiendo de su sistema operativo, debe descargar la distribución MSI de 32 o 64 bits.
La instalación del módulo es bastante simple. Simplemente siga las instrucciones del asistente de instalación.
Una vez completada la instalación, puede iniciar el Shell de administración de SharePoint Online desde el menú Inicio o importar el módulo de SharePoint PowerShell a su sesión de PoSh:
Import-Module Microsoft.Online.SharePoint.PowerShell
Una lista completa de los comandos disponibles del módulo Microsoft.Online.SharePoint.PowerShell.dll se puede mostrar de la siguiente manera:
Get-Command –Module Microsoft.Online.SharePoint.PowerShell
Como alternativa, puede mostrar todos los cmdlets de SharePoint Online disponibles con el comando:
Get-Command *-SPO*
Los cmdlets más utilizados se enumeran a continuación:
- Add-SPOUser
- Conectar-SPOService
- Desconectar-SPOService
- Get-SPOExternalUser
- Obtener SPOSite
- Get-SPOSiteGroup
- Get-SPOTenant
- Get-SPOUser
- Nuevo-SPOSite
- Nuevo SPOSiteGroup
- Quitar SPOSite
- Quitar SPOSiteGroup
- Remove-SPOUser
- Establecer-SPOUser
- Establecer-SPOUser
- Prueba-SPOSite
- Actualizar-SPOSite
Ahora puede conectarse a SharePoint usando el Conectar-SPOService cmdlet. Si se conecta a SharePoint Online, debe especificar la URL del arrendatario y el nombre de la cuenta de administrador.
Connect-SPOService –Url https://theitbrostenant.sharepoint.com –Credential [email protected]
Puede verificar la versión de SharePoint de la siguiente manera:
Get-SPFarm | Select BuildVersion
Para enumerar todas las colecciones de sitios, use el Obtener SPOSite cmdlet.
Utilizando el Obtener miembro cmdlet, puede definir las propiedades y métodos de cualquier objeto. Por ejemplo, con el siguiente comando puede ver todas las propiedades del objeto SPSite:
Get-SPSite | Get-Member
Para quitar una colección de sitios, use el cmdlet Remove-SPOSite
Remove-SPOSite -Identity theitbrostenant.sharepoint.com/sites/SiteCollectionName –NoWait
Para crear múltiples sitios a partir de un archivo CSV en el siguiente formato:
Name,URL,Owner,StorageQuota,ResourceQuota,Template First Site,https://theitbrostenant.sharepoint.com/sites/site1,[email protected],1024,300,STS#0 Corporate Blog, https://theitbrostenant.sharepoint.com/sites/blog,[email protected],512,100,BLOG#0
Utilice el siguiente guión:
Import-Csv .SitesToAdd.csv| % {New-SPOSite -Owner $_.Owner -StorageQuota $_.StorageQuota -Url $_.Url -NoWait -ResourceQuota $_.ResourceQuota -Template $_.Template -Title $_.Name}
Obtenga la lista de grupos:
Get-SPOSite | ForEach-Object {Get-SPOSiteGroup -Site $_.Url} |Format-Table
Obtener una lista de todos los usuarios:
Get-SPOSite | ForEach-Object {Get-SPOUser -Site $_.Url}
Agregar nuevo administrador de colección de sitios:
Set-SPOUser -Site {Corporate Blog} -LoginName [email protected] -IsSiteCollectionAdmin $true
Para eliminar un usuario del grupo de administradores de la colección de sitios:
Remove-SPOUser -LoginName [email protected] -Site {Corporate Blog}
Las plantillas disponibles se pueden ver con el comando:
Get-SPWebTemplate
Lista de componentes instalados:
Get-SPFeature -Limit ALL | Where-Object {$_.Scope -eq "SITE"}
Lista de plantillas de sitio disponibles:
Get-SPWebTemplate | where {$_.Title -match "business"}
Lista de servicios de SharePoint en ejecución:
Get-Service | Where-Object {$_.DisplayName -like "Sharep*"}
Compruebe la base de datos de contenido en busca de errores:
Test-SPContentDatabase -name WSS_Content –webapplication http://blog