Mostrando entradas con la etiqueta PowerShell. Mostrar todas las entradas
Mostrando entradas con la etiqueta PowerShell. Mostrar todas las entradas

jueves, 1 de septiembre de 2016

Set retention period for Usage definitions


Here's a sample script that will set the retention period to three days:

Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue
Set-SPUsageDefinition -Identity "Sandboxed Requests" -DaysRetained 3
Set-SPUsageDefinition -Identity "Content Import Usage" -DaysRetained 3
Set-SPUsageDefinition -Identity "Workflow" -DaysRetained 3
Set-SPUsageDefinition -Identity "Clickthrough Usage" -DaysRetained 3
Set-SPUsageDefinition -Identity "Content Export Usage" -DaysRetained 3
Set-SPUsageDefinition -Identity "Page Requests" -DaysRetained 3
Set-SPUsageDefinition -Identity "Feature Use" -DaysRetained 3
Set-SPUsageDefinition -Identity "Search Query Usage" -DaysRetained 3
Set-SPUsageDefinition -Identity "Site Inventory Usage" -DaysRetained 3
Set-SPUsageDefinition -Identity "Sandboxed Requests Monitored Data" -DaysRetained 3
Set-SPUsageDefinition -Identity "Timer Jobs" -DaysRetained 3
Set-SPUsageDefinition -Identity "Rating Usage" -DaysRetained 3

When a file can't be check-out / check-in or deleted because is locked from someone

Hello!

This is the time, when you can do magic via PowerShell..!

The PS script to unlock your file is this one:

$web = get-spweb "SITE URL"
$list = $web.Lists["LIST NAME "]
$item = $list.Items.GetItemById(DOCUMENT ID)
$item.File.ReleaseLock($item.File.LockId)
$web.Dispose()

ie:
$web = get-spweb "https://abcde.com/team/IT/SharePoint/"
$list = $web.Lists["Documents"]
$item = $list.Items.GetItemById(225)
$item.File.ReleaseLock($item.File.LockId)
$web.Dispose()

There are different ways to find the DOC ID, however the easy way is adding in your VIEW (list/library) the column named ID.

Cheers!

miércoles, 31 de agosto de 2016

Recreating the User Profile Service application using the old databases

Hello! 

Recently I have been doing some testing about the User Profile service application, and I had some issues with this picky service. I tried to fix it, but the only way to solve this is deleting the current UPA and creating one from scratch.

Guess what!!... Some users have information at MySite.. So I can't delete the content databases..

So based on this, and avoiding bunch of emails from the business asking for their information, let's recreate the UPA using current databases.

  1. Via Central Administration, STOP the User Profile Application service on all servers in the farm.
  2. Delete the User Profile Service Application, but DO NOT CHECK the option "Delete data associated with the Service Application"
  3. Identify the names of the User Profile (Social, Sync, Profile) databases.
  4. Open the SharePoint 2013 Management Shell
  5. Run the New-SPProfileServiceApplication command passing in parameters for: ApplicationPool, Name, MySiteHostLocation, ProfileDBName, ProfileSyncDBName, SocialDBName. This will create a new Profile service app using our restored profile databases. 
  6. Run the New-SPProfileServiceApplicationProxy command passing in parameters for: ServiceApplication, Name and also include the DefaultProxyGroup.
  7. Start the UPA Service on all servers in farm (all servers required)
  8. Run an IISReset on each servers
  9. Start the User Profile Synchronization Service on the application server (server that will host this service) 
  10. Wait... 
  11. Wait...... 
  12. Ensure that it is started before proceeding..!
  13. Ensure that the User Profile Sync timer job is enabled and set properly and then start a full import.. 
 Remember to test this at lower environments BEFORE doing this at PROD

Cheers! 

viernes, 24 de abril de 2015

Ups, I forgot the SharePoint Passphrase! No problem


Getting a high load on your farm and you decide to add a new Web Front End to the mix. Oh no! You forgot that SharePoint Passphrase to allow you to connect to your farm.

Before you start freaking out, check out this powershell command

Get-Help Set-SPPassPhrase -Detailed

To easily reset your SharePoint Passphrase
$passphrase = ConvertTo-SecureString -String "mySharePoint2010password" -asPlainText -Force
Set-SPPassPhrase -PassPhrase $passphrase -Confirm

Cheers! 

martes, 10 de febrero de 2015

"A feature with ID ....... has already been installed in this farm."



Reinstalando un WSP en mi granja 2010, he tenido un error a la hora de reinstalarlo:

A feature with ID ....... has already been installed in this farm. Use the force attribute to explicitly re-install the feature.
Para poder instalarlo o bien reinstalarlo a la fuerza, usa el siguiente comando de PowerShell: 
Install-SPSolution -Identity  -GACDeployment -Force

jueves, 5 de febrero de 2015

The search administration web service application cannot be deleted



  • Tienen una aplicación de servicio para búsquedas, mas no tienen las bases de datos del mismo? 
  • Quisieran borrar el servicio de búsquedas para crear uno nuevo con sus bases de datos respectivas?
  • Recibes mensajes de "Login failed " a una base de datos que no existe?

Si es así estas en un buen lugar para resolver tus problemas.

En primer lugar, nunca confíes en lo que la administración central te muestre... creo que de hoy en adelante tu mejor amigo es PowerShell. Así que sigue estos pasos:

  1. Abre el SharePoint 2010 Management Shell que se encuentra en la carpeta de SharePoint (barra de inicio)
  2. Digita Get-SPDatabase

Ahora tienes una lista de bases de datos que TODAVÍA existen en SharePoint, y muy probable las mismas se estén tratando de consultar.

Para limpiar esta lista, te recomiendo usar el ID de cada base de datos (menos el dolor de cabeza) y seguir estos pasos:

  1. Utilizaremos una variable llamada $bad y en ella guardaremos nuestro ID a borrar (base de datos) con la siguiente linea: $bad = Get-SPDatabase -id "acá pegamos el ID de la db" (el ID debe ir sin comillas)
  2. Ahora borramos esta base con esta linea: $bad.delete()
  3. Ejecuta todos los pasos necesarios para eliminar cuanta base de datos sea necesaria.
  4. Ve a la administración central, al manejo de las aplicaciones de servicio y eliminalas sin problema.

Puedes observar que al eliminar las bases de datos también (en alguna ocasión) se borran las aplicaciones de servicio que intentaste en algún momento eliminar.

Éxito con tu nuevo servicio de búsqueda.

martes, 25 de noviembre de 2014

PowerShell: Finding Creator of List, Finding Date of List Creation



To find list creator:

$web = Get-SPWeb “Name of your site (keep the quotes)”
$list = $web.lists["Name of your list (keep the quotes)"]
$listAuthor = $list.Author
Write-Host $listAuthor

To find list creation date:

$web = Get-SPWeb “Name of your site (keep the quotes)”
$list = $web.lists["Name of your list (keep the quotes)"]
$listCreatedDateTime = $list.Created
$web.Dispose()
$web=$null
Write-Host $listCreatedDateTime

Enjoy it!

sábado, 9 de agosto de 2014

“Database is up to date, but some sites are not completely upgraded”

Hola,

Seré breve y al grano...

Luego de que este error me sacara las canas, y buscarle una explicación lógica del porque todos los procedimientos en tres ambientes no productivos funcionaron y en producción no, he aquí el porqué:

Estuve corriendo la siguiente línea con PowerShell sobre un ambiente 2010 (SharePoint Server 2010)

  • Upgrade-SPContentDatabase -id "nombre de base de datos"
y recibí la siguiente entrada en los logs de actualización:

Microsoft.SharePoint.Portal.Upgrade.MossSiteSequence failed. Exception: Attempted to perform an unauthorized operation. at Microsoft.SharePoint.SPSite.set_AllowDesigner(Boolean value) at Microsoft.SharePoint.Portal.Upgrade.AllowMasterPageEditingAction.Upgrade(SPSite site) at Microsoft.Office.Server.Upgrade.SiteAction.Upgrade() at Microsoft.SharePoint.Upgrade.SPActionSequence.Upgrade()

Señoras y señores, primero que todo preguntensen.. 

¿En mis ambientes no productivos tengo en los web applications habilitado el SharePoint Designer?

Creo que ya saben el porque del error... 

Habiliten el SPD en el web application de la base de datos que te esta dando error, luego corre nuevamente el update desde el PowerShell y listo..

Nos vemos!