Thursday, October 18, 2012

Crear cuentas de servicio para SharePoint con PowerShell

Decidí hacer un pequeño artículo de dos que he encontrado en Internet uno de VIELKA R. y otro de  techChirag, modificado con mis necesidades para poder crear las cuentas de servicio necesarias de una instalación de SharePoint 2010 por ej. y de forma automática con PowerShell. Posteriormente voy a agregar algunas otras automatizaciones que uso para tareas de despliegue:

Bien las cuentas a crear serían:
Cuenta
Descripción
Requerimientos
sqladmin
Esta cuenta se usa para ejecutar los siguientes servicios de SQL Server:
  • MSSQLSERVER
  • SQLSERVERAGENT
  • Puede ser una cuenta local o de dominio
spfarm
Se conoce como Database Access Account y se utilizar para:
  • Configurar y administrar la granja
  • Identidad del application pool de la Administración Central de SharePoint
  • Ejecutar el servicio de temporización de SharePoint Foundation
  • Cuenta de dominio
SharePoint se encarga de agregarle los permisos necesarios en el momento de instalación.
spadmin
Esta es la cuenta administradora de SharePoint. Se utiliza para ejecutar lo siguiente:
  • Instalación de prerrequisitos de SharePoint
  • Instalación de SharePoint
  • Asistente de configuración de los productos SharePoint
  • Cuenta de dominio
  • Miembro del grupo de Administradores en cada servidor donde se instalará SharePoint
  • Permisos de ingresar (login) en el servidor de SQL
  • Miembro de los siguientes roles de seguridad del servidor de SQL:
    • securityadmin
    • dbcreator
Si se ejecutan comandos de PowerShell sobre alguna base de datos de SharePoint, esta cuenta debe tener el rol db_ownerpara esa base de datos.
spservices
Cuenta para ejecutar los servicios de las aplicaciones de servicio de SharePoint
  • Cuenta de dominio
Si se instala Office Web Application se le debe dar permisos de acceso a las bases de datos de contenido.
spwebapp
Cuenta para ejecutar los application pool de las aplicaciones de servicio de SharePoint
  • Cuenta de dominio
spsearch
Cuenta para ejecutar el servicio de búsqueda
  • Cuenta de dominio
spcontent
Cuenta para rastrear el contenido
  • Cuenta de dominio
spuserprofile
Cuenta usada por el servicio de sincronización de perfiles (FIM) para acceder el directorio activo
  • Cuenta de dominio
  • Permisos de “Replicating Directory Changes” en el AD
Si el dominio es versión Windows 2003 o anterior, esta cuenta debe ser miembro del grupo “Pre-Windows 2000”.
spsuperuser
Cuenta de caché
  • Cuenta de dominio
  • Web application Policy Full Control
  • Web application super account setting
spsuperreader
Cuenta de caché
  • Cuenta de dominio
  • Web application Policy Full read
  • Web application super reader account setting
Luego el script de PS, que crea las cuentas en una OU llamada SP Service Accounts, con la misma password para todos los usuarios Sharepoint2010

PowerShell
# Get the logged-on user's domain in DN form

$mydom = (get-addomain).distinguishedname


# Specify the OU we want to create the users in

$ouName = "SP Service Accounts"


# Build the full DN of the target OU

$oudn = "OU=$ouname,$mydom"


# Check if the target OU exists. If not, create it.

$OU = get-adorganizationalunit -Filter { name -eq $ouname }

if($OU -eq $null)

{New-ADOrganizationalUnit -Name $OUName -Path $mydom}

else

{write-host "The OU" $ou "already exists."}


# Create users

New-ADUser –Name "sqladmin" –SamAccountName "sqladmin" –DisplayName "sqladmin" -Path $oudn –Enabled $true –ChangePasswordAtLogon $false -AccountPassword (ConvertTo-SecureString "Sharepoint2010" -AsPlainText -force) -PassThru

New-ADUser –Name "spfarm" –SamAccountName "spfarm" –DisplayName "spfarm" -Path $oudn –Enabled $true –ChangePasswordAtLogon $false -AccountPassword (ConvertTo-SecureString "Sharepoint2010" -AsPlainText -force) -PassThru

New-ADUser –Name "spadmin" –SamAccountName "spadmin" –DisplayName "spadmin" -Path $oudn –Enabled $true –ChangePasswordAtLogon $false 
-AccountPassword (ConvertTo-SecureString "Sharepoint2010" -AsPlainText -force) -PassThru

New-ADUser –Name "spservices" –SamAccountName "spservices" –DisplayName "spservices" -Path $oudn –Enabled $true –ChangePasswordAtLogon $false -AccountPassword (ConvertTo-SecureString "Sharepoint2010" -AsPlainText -force) -PassThru

New-ADUser –Name "spwebapp" –SamAccountName "spwebapp" –DisplayName "spwebapp" -Path $oudn –Enabled $true –ChangePasswordAtLogon $false -AccountPassword (ConvertTo-SecureString "Sharepoint2010" -AsPlainText -force) -PassThru

New-ADUser –Name "spsearch" –SamAccountName "spsearch" –DisplayName "spsearch" -Path $oudn –Enabled $true –ChangePasswordAtLogon $false 
-AccountPassword (ConvertTo-SecureString "Sharepoint2010" -AsPlainText -force) -PassThru

New-ADUser –Name "spcontent" –SamAccountName "spcontent" –DisplayName "spcontent" -Path $oudn –Enabled $true –ChangePasswordAtLogon $false 
-AccountPassword (ConvertTo-SecureString "Sharepoint2010" -AsPlainText -force) -PassThru

New-ADUser –Name "spuserprofile" –SamAccountName "spuserprofile" –DisplayName "spuserprofile" -Path $oudn –Enabled $true –ChangePasswordAtLogon $false -AccountPassword (ConvertTo-SecureString "Sharepoint2010" -AsPlainText -force) -PassThru

New-ADUser –Name "spsuperuser" –SamAccountName "spsuperuser" –DisplayName "spsuperuser" -Path $oudn –Enabled $true –ChangePasswordAtLogon $false 
-AccountPassword (ConvertTo-SecureString "Sharepoint2010" -AsPlainText -force) -PassThru

New-ADUser –Name "spsuperreader" –SamAccountName "spsuperreader" –DisplayName "spsuperreader" -Path $oudn –Enabled $true –ChangePasswordAtLogon $false -AccountPassword (ConvertTo-SecureString "Sharepoint2010" -AsPlainText -force) -PassThru

New-ADUser –Name "spmysites" –SamAccountName "spmysites" –DisplayName "spmysites" -Path $oudn –Enabled $true –ChangePasswordAtLogon $false 
-AccountPassword (ConvertTo-SecureString "Sharepoint2010" -AsPlainText -force) -PassThru

#End

Espero les haya servido como siempre.

No comments: