Upgrade du blog

Je viens de mettre à jour le blog:

  • Upgrade du thème Mystique (version 3)
  • Passage en taille variable pour profiter des grands écrans
  • Passage en multilangue avec qtranslate
  • Import des versions anglaises de mes posts depuis l’ancien blog lordoftheping
N’hésitez pas à me faire un retour en bien ou en mal !

DSI++: Gérez vos prestataires !

Sous ce titre un peu provocateur, se cache je pense une réelle nécessité.

Les sociétés font généralement appel à de la prestation de service pour plusieurs raisons:

  • Economies financières (engagement au forfait…),
  • Compétences non présentes en interne,
  • Manque de disponibilité en interne,
un salarié devenant consultant
De l’autre côté de l’immense barrière, le prestataire doit:
  • Comprendre l’environnement du client,
  • Comprendre son besoin,
  • Respecter le délai et la charge,
  • Apporter le plus possible de valeur au client dans le temps imparti.
On se retrouve au final avec le grand écart:
  • Le client va tout faire pour minimiser ses coûts (humains et financiers) en transférant le plus de charge auprès du prestataire,
  • Le prestataire ne sera pas incité à faire les « finitions », il se coupe ainsi la branche sur laquelle il est assis en ne fournissant pas la plus-value,
  • Les ressources internes ne le suivront pas afin d’économiser encore plus, et ne monteront donc pas en compétence. Inutile de parler « d’appropriation du sujet »…
Je ne pense pas qu’utiliser des ressources externes pour uniquement l’aspect financier soit pertinent.
Pour moi un consultant (aka un prestataire avec de la valeur ajoutée) est un catalyseur qui doit permettre:
  • D’accélérer la montée en compétence sur un projet (vu comme une ressource complémentaire et non unique),
  • Amener un retour d’expérience issu des projets passés dans d’autres entreprises/environnements,
  • Etre force de proposition et challenger les ressources internes en faisant abstraction de l’historique.


Jouer ce rôle est cependant consommateur d’énergie. Si j’ai le sentiment de tourner à vide, et que le client n’est pas réceptif à cette énergie, pourquoi continuer à la donner ?
De mon point de vue, le client doit (et oui, il y a du boulot!):
  • Fournir la matière première (cahier des charges, contraintes…),
  • Suivre et répondre aux challenges proposés de façon active,
  • Ne pas laisser s’instaurer un début de ping-pong dans le projet,
  • Motiver en mettant un sérieux niveau d’exigence sur la qualité,
  • Inciter ses ressources internes à aspirer la connaissance amenée par le consultant
Le plus dur, au final, et de réunir tous ces ingrédients pour que le moteur tourne à plein régime!

SharePoint 2010 PowerShell: UID finder

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" 
 } 
}

SharePoint 2010 PowerShell : renommer une Application Web

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"}

Enterprise Vault PowerShell: Unable to clear backup mode on vault store

En voulant sortir Enterprise Vault du backup mode via PowerShell, j’ai eu le message d’erreur suivant:

Unable to clear backup mode on vault store…Check sthat storage service is running on computer

C’est un bug:

  • Le service est bien démarré
  • Quand on refait un Get-VaultStoreBackupMode on est bien sorti du mode backup

En fait EV est planté. Il faut quand même redémarré le storage service EV.

SharePoint 2010 PowerShell – New-SPProjectWebInstance : URI non valide : Impossible de déterminer le format de l’URI

En voulant créer une instance Web SharePoint (project) via Powershell, j’ai eu le message suivant:

New-SPProjectWebInstance : URI non valide : Impossible de déterminer le format de l'URI.

Le message d’erreur induit en erreur.
Ce n’est pas l’argument « -url » le problème, mais « -HostHeaderWebapplicationUrl ».
Je lui donnais un argument de la forme « monsite.mondomaine.com » alors qu’il lui faut un argument de la forme « http://monsite.mondomaine.com »

Windows 2008 failover cluster: Failed to prepare storage for testing on node <> status 87

En voulant monter un failover cluster Windows Server 2008 R2:

 

 

 

 

 

 

 

Pour corriger le problème, il faut assigner temporairement une lettre de lecteur à la partition bitlocker (FAT32 / 2Go) (créée automatiquement par Windows):

 

 

 

et voilà 🙂

TMG 2010: joindre une array: no such interface supported…

En voulant joindre un TMG 2010 à un autre pour former un array (une ferme quoi), j’ai obtenu le message d’erreur suivant très explicite:

tmg 2010 no such interface supported 0x80004002

Cela était dû au fait que l’autre noeud avait le Service pack 1 de TMG 2010, et pas celui ci…En essayant la jonction dans l’autre sens, le message d’erreur met au moins un peu sur les rails avec un problème de version du fichier de configuration.