SharePoint

SharePoint 2010 – Accès refusé en boucle

0

Symptômes

  • Lorsque vous essayez d’accéder aux sites SharePoint, vous bouclez sur un accès refusé quelque soit le compte
  • Dans les logs : 
    SPWindowsTokenCacheServiceApplication.CacheHandle() call to OpenProcess() failed for '0#.w|mondomaine\monlogin': PID=2956, ErrorCode=5, Exception=System.ComponentModel.Win32Exception: Access is denied
    The Secure Store Service application Secure Store Service is not accessible. The full exception text is: Cannot open database "Secure_Store_Service_DB_guid" requested by the login. The login failed.  Login failed for user 'mondomaine\account'

Résolution

Security Token Service Application doit tourner avec le compte admin de la ferme

Popularity: unranked [?]

Cannot start queue. SSP: <GUID> SiteUID: <GUID> Url: Queue: ProjectQ

0

 

Log Name: Application
Source: Microsoft-SharePoint Products-Project Server
Event ID: 7626
Task Category: Queue
Level: Critical
Description:
Cannot start queue. SSP: <GUID Project server application> SiteUID: <GUID Site> Url: Queue: ProjectQ

Vous avez également son frère jumeau, identique mais avec Url:  Queue: TimesheetQ

On va corriger, ça, mais pour les prochaines fois, il faut d’abord supprimer l’instance PWA et seulement après l’Application Web.

#Récupérer l’application project

$a= get-spserviceapplication | ? {$_.Typename -like "*Project*"} 
#Vérifier qu'on a bien le pwa fantôme (mettre le guid siteUID)
$bad=$a.SiteCollection | ?{$_.SiteID -eq "a2c27d0d-1e66-43af-94d2-83b1b268658f"} 
$bad| select id,name,siteid,webappid |fl 

Id : 4d4389d1-e32b-43a3-8043-9105a83fceb8
Name : PWA fantome a supprimer:
SiteId : a2c27d0d
-1e66-43af-94d2-83b1b268658f
WebAppId : 9a618b96
-6b00-472c-93f7-4c5f53822050 

#Si c'est ok, on supprime! 
$bad.Delete() 
#On relance les commandes pour valider qu'il a disparu
$bad=$a.SiteCollection | ?{$_.SiteID -eq "a2c27d0d-1e66-43af-94d2-83b1b268658f"} 
$bad| select id,name,siteid,webappid |fl

 

Popularity: 2% [?]

Project Server 2010 – could not be deleted because other objects depend on it

0

Problème:

Suite à la suppression partielle d’un site PWA, la recréation du même site échoue avec le message suivant:

An object in the SharePoint administrative framework, "ProjectDatabase Name=ProjectServer_Archive", could not be deleted because other objects depend on it. Update all of these dependants to point to null or different objects and
retry this operation. The dependant objects are as follows:ProjectSite Name=c1a6cdf0-cf4b-452f-8fea-ef339e8be2cc

Solution:

La solution que j’ai appliqué est de supprimer le site pseudo fantôme:

$a=(Get-SPServiceApplication | ?{$_.Name -match "project"}).SiteCollection | ?{$_.SiteID -match "c1a6cdf0-cf4b-452f-8fea-ef339e8be2cc"}
$a
$a.delete()

et voilà!

Popularity: 1% [?]

sharepoint_evaluation_period_expired

SharePoint 2010 – La période d’évaluation de ce produit a expiré

0

Après avoir converti une ferme SharePoint 2010 standard en entreprise, j’ai eu le message d’erreur suivant sur le portail:

 

Solution: Passer SharePoint 2010 Products Configuration Wizard sur les frontaux web.

Popularity: 2% [?]

Powershell: Project Server Set-SPProjectWebInstance & miroir SQL

0

Si vous devez mettre en mirroir SQL les bases project, vous trouverez sur le net 2 choses à faire parmi pas mal:

  • Set-SPProjectWebInstance en précisant PrimaryDBMirrorServer et ReportingDBMirrorServer
  • AddFailoverServiceInstance
D’après mes essais, la seconde ne suffit pas à elle seule. Et là commence la joie des cmdlet pas tout à fait finie…Je m’explique: Cette commande permet bien de configurer un serveur SQL miroir, mais son équivalent en Get- ne permet pas de voir ces valeurs!

Donc pas moyen de savoir si quelqu’un l’a fait avant vous, ou si les paramètres sont les bons..
D’autre part, quand on a beaucoup d’instance, il est intéressant d’utiliser son homologue Get-SPProjectWebInstance pour faire une boucle. Sauf que ce dernier n’est pas ergonomique en plus de ne pas donner toutes les propriétés. Voici un script qui:

  • Récupère la liste de toutes url PWA via l’application de service (non non ils ne pouvaient pas le programmer par défaut)
  • Enlève le « / » à la fin de l’url (sinon le Set- plante !)
  • Repositionne tous les paramètres à l’identique (sisi il faut) et ajoute l’instance miroir (ouf).

 

$work=Get-SPServiceApplication | ?{$_.DisplayName -match"Project"} | Get-SPProjectWebInstance
foreach ($item in $work)
{
Write-Output"doing $($item.url)"
$mirror=$item.PrimaryServer -replace ("sqlone","sqltwo")
Set-SPProjectWebInstance -Url ($item.Url).ToString().TrimEnd('/') `
-AdminAccount $item.AdminAccount `
-PrimaryDbserver $item.PrimaryServer `
-ArchiveDbname $item.ArchiveDatabase `
-DraftDbname $item.DraftDatabase `
-PublishedDbname $item.PublishedDatabase `
-ReportingDbServer $item.ReportingServer `
-ReportingDbname $item.ReportingDatabase `
-PrimaryDBMirrorServer $mirror`
-ReportingDBMirrorServer $mirror
} 

Popularity: 7% [?]

People search relevance is not optimized when the Active Directory

SharePoint 2010: People search relevance is not optimized when the Active Directory has errors in the manager reporting structure

0

L’analyseur SharePoint remonte souvent cet avertissement:

Il faut commencer par identifier les comptes AD sans manager. Par exemple avec adfind:

adfind -f "(&(objectclass=user)(!(manager=*)))" samaccountname -qlist

Il suffit ensuite, pour ceux ne devant pas avoir de manager, d’utiliser les commandes Add-SPProfileleader comme indiqué dans le message.

 

Popularity: 8% [?]

Project Server 2010 SP1: échec de génération du cube

1

Contexte:

  • Project Server 2010 SP1
  • Génération d’un cube OLAP
Problème:
Après avoir pourtant fonctionné, la génération du cube ne se fait plus.
Symptômes:
Depuis l’eventlog
Source:Project Server   Event ID:7704
Erreur PS : GeneralQueueJobFailed (26000)

A queue job has failed. This is a general error logged by the Project Server Queue everytime a job fails – for effective troubleshooting use this error message with other more specific error messages (if any), the Operations guide (which documents more details about queued jobs) and the trace log (which could provide more detailed context). More information about the failed job follows. GUID of the failed job: . Name of the computer that processed this job: MyServer (to debug further, you need to look at the trace log from this computer). Failed job type: CBSRequest. Failed sub-job type: CBSQueueMessage. Failed sub-job ID: 2. Stage where sub-job failed: (this is useful when one sub-job has more than one logical processing stages).

Dans les logs SharePoint (ULS):

Cette méthode peut uniquement convertir les revendications d’identité et uniquement lorsqu’il existe une conversion logique.  Parameter name: encodedClaim
ConvertWindowsClaimToWindowsPrincipalName() encountered error: Some or all identity references could not be translated.

 

Résolution:

Parmi les utilisateurs déclarés dans Project, un ou plusieurs ont disparus d’Active Directory.
Normalement, cela est géré automatiquement si:

  • Le service « user profile Synchronization » fonctionne,
  • Les groupes project sont synchronisés avec des groupes AD
  • Une synchro AD et une synchro des groupes Project ont tourné depuis la suppression.
Si vous n’avez pas de synchro AD ou qu’elle est cassée, vous voici donc ici. Ce message d’erreur ne semble se produire qu’à partir du SP1 et quand on est en mode Claim.
Pour résoudre manuellement, il faut vérifier si chaque user existe toujours dans l’AD.
Voici un script permettant d’automatiser ce dur labeur:

import-module « ActiveDirectory« 
$pwaUrl=« http://myspssite/pwa« 
$svcProjectUrl=$pwaUrl+« /_vti_bin/PSI/Resource.asmx?wsdl« 
$c=Get-Credential
$svcProjectProxy=New-WebServiceProxy -uri $svcProjectUrl -credential $c

$users=$svcProjectProxy.ReadUserList(« Active« ).Resources
foreach ($u in $users)
{
$temp= [regex]::Replace($u.WRES_ACCOUNT, « ^.*\\« , «  »);
if ((get-aduser $temp) -eq $false)
{
« missing ad user « +($u.RES_NAME)
}
}

 

Popularity: 8% [?]

SharePoint 2010 PowerShell: UID finder

0

En environnement SharePoint et projectServer 2010, les messages d’erreurs font presque tout le temps référence aux UID des objets et pas leur nom. Retrouver la nature de l’objet est parfois long et rébarbatif dans tous les cas.

Exemple:

Impossible de démarrer la file d’attente. Fournisseur de services partagés : ffaa66dd-8dcf-4a19-a24e-db16cd87ed67, UID du site : 79be68b6-87df-4431-9c32-bae0173c8ad0, URL : , File d’attente : ProjectQ

La traduction en Français ajoute encore un peu plus de difficulté.

Je me suis fait un script powershell qui cherche un uid ou un nom d’objet dans tout SharePoint :)

$id="<UID ou texte a chercher ici>"
$search=@()
$search+='Get-SPWebApplication -IncludeCentralAdministration | select Name,ID'
$search+='Get-SPManagedAccount| select Name,ID'
$search+='get-SPSiteAdministration -Limit ALL | select Name,ID'
$search+='Get-SPWebApplication -IncludeCentralAdministration | Get-SPSite -Limit All | Get-SPWeb -Limit All|Sort-Object Url|Format-List Title, Url,ID'
$search+='Get-SPSite -LIMIT ALL | select url,id'
$search+='Get-SPDatabase| select Name,ID'
$search+='Get-SPContentDatabase| select Name,ID'
$search+='Get-SPServiceApplication | select Name,ID'
$search+='Get-SPFeature | select Name,ID'
$search+='Get-SPSolution | select Name,ID'
$search+='Get-SPServiceApplication |% {$_.SiteCollection| select Name,ID}'
$search+='Get-SPTimerJob | select Name,ID'
foreach ($command in $search)
{
 if ((Invoke-Expression $command) -match $id)
 {
 Write-Host"found $id"
 Write-Host"display it with $command"
 }
}

Popularity: 8% [?]

sharepoint PowerShell rename web application

SharePoint 2010 PowerShell : renommer une Application Web

0

Une recherche google semble indiquer que renommer une application Web SharePoint est compliqué et passe par un backup/suppression/création/Restore.

Etant de nature un peu…Opiniatre ? j’y suis allé « au flanc » en PowerShell…Et ca marche :)

Les commandes:

$a=Get-SPWebApplication | where {$_.Name -match "Demo"#on vérifie que l'on a bien que l'application à modifier
$a
#On change le nom
$a.Name="[Demo] demo blah blah"
#On pousse la modification
$a.Update()

#on vérifie que le nom a bien changé
Get-SPWebApplication | where {$_.Name -match "Demo"}

Popularity: 9% [?]

Haut de page