PowerShell: Simplifier la création de fonction avec les bons arguments

Depuis l’arrivée de SharePoint 2010, l’utilisation de PowerShell est devenue presque incontournable. Pour industrialiser certaines procédures, il n’est pas rare de créer des fonctions utilitaires, pour modulariser ses scripts et parfois même étendre la console PowerShell avec des modules personnalisés.

L’article d’aujourd’hui a pour objectif de vous montrer comment créer des fonctions plus simples à utiliser, en jouant avec le typage des paramètres. Continue reading

Rating 4.33 out of 5
[?]

PowerShell: valider des credentials

Couramment, avec PowerShell, on a besoin de travailler avec des login/password.

Microsoft propose la commande standard Get-Credential, mais cette dernière ne consistera qu’à afficher un popup d’authentification. Dans ce dernier, il est possible de saisir n’importe quoi, aucune validation ne sera faite. Avec du recul, on se rend compte que c’est logique. Un credential peut être saisi quel que soit le mécanisme d’authentification et la commande n’a pas pour vocation de les valider (ou ne peut techniquement pas).

Toutefois, dans monde très coloré Microsoft (pour un blog SharePoint c’est normal ;)), on va la plupart du temps travailler avec des comptes Active Directory. Dans ce cas, ne vaudrait-il pas mieux permettre de valider dans la foulée ces Credentials ?

Pour vous aider, voici un script PowerShell qui permet de valider un objet de type PSCredential : Continue reading

Rating 4.00 out of 5
[?]

SPSecurity.RunWithElevatedPrivileges depuis PowerShell

Lorsque l’on travaille avec un script PowerShell, il arrive que l’utilisateur connecté, même en étant administrateur de la ferme, n’ait pas les droits d’accès à telle ou telle ressource.

J’ai eu le cas, par exemple, lors de l’écriture d’un script d’inventaire de template de formulaire InfoPath. Certaines collections de sites, avec du contenu sensible, avait bridé les autorisations.

Pour obtenir tous les droits, il est alors possible d’exploiter la méthode SPSecurity.RunWithElevatedPrivileges directement en PowerShell : Continue reading

Rating 5.00 out of 5
[?]

Mise à jour de masse de niveau de permission (SPRoleDefinition)

J’ai été confronté à la demande suivante : sur un ensemble de site (des mysites en l’occurrence), un niveau d’autorisation personnalisé est défini par code lors de la création (Mysite Owner).

Une évolution a nécessité la modification de ce niveau d’autorisation pour ajouter la possibilité de créer des groupes.

La mise à jour du code créant le mysite est triviale, il aura suffi d’ajouter la permission. Mais qu’en est-il des sites déjà créés ?

La solution est assez simple. Le script Powershell suivant remplira ce rôle :

Ce script attend en entrée l’url de l’application Web hébergeant les sites mysites. Il va ensuite énumérer les collections de site de type mysite (template « SPSPERS »).

Il ajoute enfin, si nécessaire, la nouvelle permission.

Rating 5.00 out of 5
[?]

Activation du Developer Dashboard

Description du Developer Dashboard

Le Developer Dashboard est une nouvelle fonctionnalité introduite par Microsoft dans SharePoint 2010. Son objectif est d’aider le développeur à déboguer ses pages, à diagnostiquer l’origine de lenteur, etc.

Le Developer Dashboard propose trois niveaux d’affichage :

  • On : toujours visible
  • Off : toujours masqué
  • OnDemand: s’ouvre/se ferme à la demande

Le Developer Dashboard peut également être restreint aux utilisateurs en appliquant un masque de permission (du type SPBasePermissions). La plupart du temps on mettra FullMask, car c’est très orienté développeur (qui a la plupart du temps tous les droits sur le poste de développement).

Plus de détails sur la page MSDN Using the Developer Dashboard.

Activer le Developer Dashboard

Plusieurs possibilités s’offrent à vous pour activer le Developer Dashboard : Continue reading

Rating 5.00 out of 5
[?]

SharePoint : changement rapide du port d’administration centrale

Lors de l’installation (en mode graphique), le port de l’administration centrale est définit de manière aléatoire. Vous pouvez le changer si vous choisissez l’installation « Serveur Web frontal » ou « Complète ». En mode « autonome », il n’est tout simplement pas possible de le choisir au moment de l’installation.

Personnellement, entre mes machines de développement, mes machines de production au bureau, les environnements clients (dev, pré-prod, prod, etc.), j’ai choisi d’uniformiser le numéro de port pour l’administration centrale.

Il est possible très simplement et très rapidement de changer ce port. Voici la procédure. Je rappelle qu’il ne faut bien évidement pas changer le port dans IIs sous peine de délier la configuration connue par SharePoint et la configuration réelle (message à passer à vos clients… tous les admins chez les clients ne sont pas au fait de cette règle).

Bref, voici les commandes magiques pour opérer : Continue reading

Rating 5.00 out of 5
[?]