lundi 21 janvier 2013

Récupérer le nom du PC managé par un utilisateur de l’AD en powershell

Voici un petit script permettant de récupérer par utilisateur le ou les pc managé par ce dernier.

Clear

$OUDomain = "OU=Utilisateurs,DC=CODAMA,DC=fr"
$users = Get-QADUser -searchRoot $OUDomain

foreach($user in $users)
{
    if($user.AccountIsDisabled -eq $false)
    {
        Write-host "----------------------------------------------------"
        Write-host "sAMAccountName :", $user.SamAccountName
        Write-host "User Name :", $user.name
        Write-host "Display name :", $user.displayname
        Write-host "Mail :", $user.mail
        $ListPC = Get-QADUser -SamAccountName $user.SamAccountName  -IncludeAllProperties
        if($ListPC.managedObjects -ne $null)
        {
            $DetailPC =  $ListPC.managedObjects
            if($DetailPC.GetType().Name -ne "String")
            {
                foreach($Detail in $DetailPC)
                {
                $infoAD = Get-QADComputer -SearchRoot $Detail
                Write-host "PC :", $infoAD.Name
                }
            }
            else
            {
                $infoAD = Get-QADComputer -SearchRoot $DetailPC
                Write-host "PC :", $infoAD.Name
            }
        }
       
        Write-host "----------------------------------------------------"
    }
}

mardi 8 janvier 2013

Récupérer la liste des fichier et la date de modification

Voici un petit script qui permet de récupérer la liste des fichiers ayant pour extension ".pdf"


$fichier = Get-Childitem -Path "c:\" –recurse
foreach($f in $fichier)
{
    if($f.VersionInfo.FileName -ne $Null)
    {
        if($f.extension -eq ".pdf")
        {
            $f.Name + " ;" + $f.LastWriteTime + ";" + $f.extension
        }
    }
}

vendredi 4 novembre 2011

Petit rappel sur l'utilisation du connecteur entre Team Foundation Server et Project Server

Ajouter les droits du compte de service de TFS dans le service de Project Server


 
Le compte de service de TFS doit pouvoir avoir un accès complet au service de Project Server et donc à toutes les instances de PWA.

 
Pour ajouter ce compte de service vous devez ouvrir l’administration centrale de SharePoint 2010.

 
  • Allez dans « Application Management », et cliquez sur « Manage service applications ».
  • Dans la page « Manage Service Application », cliquez sur la ligne « Project Server Service Application ».
  • Dans le ruban, cliquez sur « Permissions ».
  • Indiquez le nom du compte de service de TFS, et cliquez sur « Add ».
  • Dans la zone du bas, cliquez sur « Full Control », et cliquez sur « OK ».

 
Ajouter les droits du compte de service de TFS dans les instances de PWA.

 
  • Ouvrez votre ou vos instances PWA (http://PS2010/PWA).
  • Allez dans « Server Settings »
  • Cliquez sur « Manage Users »
  • Cliquez sur « New User »
  • Dans la zone « * Display Name » indiquez le nom du compte de service « Ex : Compte de service TFS »
  • Dans la zone « * User longon account : » saisissez le compte de service « Ex : PS2010\TFSService »
  • Dans la zone « Security Groups » sélectionnez « Administrators » et cliquez sur « Add »
  • Dans la zone « Security Categories » cliquez sur « Add All >> »
  • Pour chaque catégories, sélectionnez dans la liste « Set permissions with Template: » « Administrator » puis cliquez sur « Apply »
  • Dans la zone « Global Permissions », sélectionnez dans la liste « Set permissions with Template: » « Administrator » et cliquez sur « Apply »
  • Enfin cliquez sur « Save »

  
Enregistrement de l’instance de PWA

 
Chaque enregistrement d’instance de PWA et de TFS doit être enregistré dans le système de synchronisation.

 
Commande :

 
TfsAdmin ProjectServer /RegisterPWA /pwa:pwaUrl /TFS:tfsUrl
  • pwaUrl : Adresse de PWA, http://PS2010/Pwa
  • tfsUrl : Adresse de TFS, http://PS2010:8080/tfs

 Batch :

 

 
@echo off
set v_PWA="http://ps2010/pwa"
set v_TFS="http://ps2010:8080/tfs"

 
cd c:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE
set /p v_Question= if you want to register an instance of PWA : %v_PWA% (y or n) ?

 
if not %v_Question%== y goto Suite
echo Register an instance of PWA : %v_PWA%

 
TfsAdmin ProjectServer /RegisterPWA /pwa:%v_PWA% /TFSServerURL:%v_TFS%

 
pause
:Suite


 

 

Enregistrement de la relation entre une instance de PWA et une collection de TFS

 
Toute collection de projet dans TFS 2010 contenant un ou plusieurs projets d’équipe lié à un projet d’entreprise dans PWA doit être mappée.

 
Commande

 
TfsAdmin ProjectServer /MapPWAtoCollection /pwa:pwaUrl /collection:tpcUrl
  • pwaUrl : Adresse de l’instance de PWA : http://PS2010/pwa
  • tpcUrl : Adresse de la collection de site : http://PS2010:8080/tfs/DefaultCollection

 Batch

  
@echo off
set v_PWA="http://ps2010/pwa"
set v_Collection="http://ps2010:8080/tfs/DefaultCollection"

 
cd c:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE
set /p v_Question= if you want to map this collection project : %v_Collection% (y or n) ?

 
if not %v_Question%== y goto Suite

 
echo Map the PWA instance (%v_PWA%) with a team project collection (%v_Collection%)

 
TfsAdmin ProjectServer /MapPWAtoCollection /pwa:%v_PWA% /collection:%v_Collection%

 
pause

 
:Suite


Mise à jour du fichier de mapping

 
Les champs coté TFS doivent être mappé aux champs cotés Project Server. Attention la mapping est pour une collection de projet donc prévoyez tous les champs de tous les types de projets.

 
Commande

 
TfsAdmin ProjectServer /UploadFieldMappings /collection:tpcUrl /useDefaultFieldMappings
  • tpcUrl : Adresse de la collection de projet : http://PS2010:8080/tfs/DefaultCollection
  • useDafaultFieldMappings : Permet d’utiliser le mapping par défaut, il contient les champs obligatoire.
  • filePath : Permet de spécifier un fichier : c:\mapping.xml

 
Batch

 
@echo off
set v_Collection="http://ps2010:8080/tfs/DefaultCollection"


cd c:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE

set /p v_Question= if you want to upload the mapping default : (y or n) ?

 
if not %v_Question%== y goto Suite

 
echo Upload default field mappings

 
TfsAdmin ProjectServer /UploadFieldMappings /collection:%v_Collection% /useDefaultFieldMappings

 
pause
:Suite

 
Associer un Project d’équipa TFS à un projet d’entreprise de PWA

 
Tout projet qui doit être synchronisé à un projet d’entreprise doit être enregistré. Attention vous ne pouvez pas mapper un projet de TFS si sa collection de projet d’appartenance n’est pas mappée.

 
Commande

 
TfsAdmin ProjectServer /MapPlanToTeamProject /collection:tpcUrl /enterpriseproject:PlanName /teamproject:ProjectName /workitemtypes:ListOfTypes

  • tcpUrl : Adresse de la collection de projet : http://PS2010:8080/tfs/defaultCollection
  • enterpriseProject : Nom du projet dans PWA : Agile Plan
  • teamProject : Nom du projet dans TFS : Agile Project Team
  • WorkitemTypes : Liste des type de WI à synchroniser : « User Story,Task »
Batch

 
@echo off

 
set v_Collection="http://ps2010:8080/tfs/DefaultCollection"
set v_WIType="User Story"
set v_EnterpriseProject = "Agile Plan"
set v_TeamProject = "Agile Team Project"

 
cd c:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE

 
set /p v_Question= if you want to register an instance of PWA : %v_PWA% (y or n) ?

 
if not %v_Question%== y goto Suite

 
echo Associate an enterprise project plan (%v_EnterpriseProject%) with a team project(%v_TeamProject%), workitem (%v_WIType%)

 
TfsAdmin ProjectServer /MapPlanToTeamProject /collection:%v_Collection% /enterpriseproject:%v_EnterpriseProject% /teamproject:%v_TeamProject% /workitemtypes:%v_WIType%

 
echo Now you must to add team members to the enterprise resource pool !!!!

 
pause

 
:Suite
Désinscription

 
Vous pouvez à tout moment désinscrire une liaison entre projet, entre TFS et PWA et même désinscrire une instance de PWA. Les choses doivent être faite dans l’ordre, bien que la suppression d’une collection de projet et d’une instance de PWA peut désinscrire il faut faire les choses proprement.

 
Supprimer la liaison entre un projet d’équipe et un projet d’entreprise

 
Commande

 
TfsAdmin ProjectServer /UnmapPlanFromTeamProject/collection:tpcUrl /enterpriseproject:EnterpriseProjectName /teamproject:TeamProjectName

  •  tcpUrl : Adresse de la collection de projet : http://PS2010:8080/tfs/defaultCollection
  • enterpriseProject : Nom du projet dans PWA : Agile Plan
  • teamProject : Nom du projet dans TFS : Agile Project Team

 
Supprimer la liaison entre une collection de projet et une instance de PWA

 
Commande

 
TfsAdmin ProjectServer /UnMapPWAFromCollection /pwa:pwaUrl /collection:tpcUrl [/force]


 
Désinscrire une instance de PWA

 
Commande

 
TfsAdmin ProjectServer /UnregisterPWA /pwa:pwaUrl /TFSServerURL:tfsUrl

  •  tcpUrl : Adresse de TFS : http://PS2010:8080/tfs
  • pwaUrl : Adresse de l’instance de PWA : http://PS2010/pwa

 

 

 

jeudi 29 septembre 2011

Ajouter des jalons à une tâche dans le diagramme de GANTT

Une tâche peut déjà contenir une date de début, de fin et déchéance. Hors si je souhaite rajouter des jalons sur cette tâche, des jalons pour par exemple fixer des points de contrôle il me faut:

  • Soit créer des sous tâches
  • Soit ajouter ces dates dans ma tâche et les faire figurer sur mon GANTT

Bien entendu je vais vous montrer le deuxième choix qui permet de limiter le nombre de tâches Sourire

Ouvrez MS Project et créez une ou deux tâches, dans ma capture j’ai ajouté pour chaque tâche une date d’échéance :

image

Ajoutez une colonne de type “Start Date” je prend la 10 pour mon exemple et nommez la Milestone par exemple et ajoutez pour chaque tâche une date.

image

Ensuite effectuez un clic droit sur le diagramme de GANTT et sélectionnez “Bar Style”.

image

Dans la fenêtre qui s’ouvre  dans la colonne “Name” indiquez le nom. Dans la colonne “Appearance” définissez le visuel de votre indicateur. Dans la colonne “From” et “To” indiquez le nom du champ précédemment créé.

image

Ensuite vous pouvez visualiser le résultat dans votre diagramme de GANTT.

image

Si vous changez la date de la colonne “Milestone” naturellement les indicateurs bougent.

image

jeudi 15 septembre 2011

Jeu concours organisé par Microsoft : « Build Your Island » destiné aux étudiants et lycéens

 

Microsoft organise le concours « Build Your Island » destiné aux étudiants et lycéens.

 

 

 

 

Par équipe de 2 à 3, le principe du jeu consiste à mettre en pratique les concepts de management de projets du 24 octobre au 2 décembre 2011 et à utiliser Microsoft Project 2010 (téléchargeable gratuitement par les participants). Le principe est simple : optimiser son budget pour construire des hôtels et marinas sur une île artificielle et obtenir la meilleure rentabilité.

Les 5 premières équipes viendront alors soutenir leur stratégie dans les bureaux de Microsoft France, face à un jury de professionnels. Pour en savoir plus sur le concours, cliquez ici.

A gagner – un séjour au choix : Ibiza, Djerba, Grèce pour la meilleure équipe et un lot pour chacun des membres des 9 équipes suivantes !

Comment s’inscrire? Les participants devront constituer une équipe de 2 ou 3 étudiants ou lycéens et s’inscrire sur www.etudiants.ms/island entre le 15 septembre et le 20 octobre 2011.

samedi 6 août 2011

Méthode de calcul par USE CASE dans SharePoint 2010

J’utilise souvent cette méthode pour calculer la charge d’un projet. Comme j’utilise aussi Project Server 2010 je me suis dit qu’il serait sympa d’avoir une liste dans le portail de mon projet.
J’ai donc mis en place assez facilement une liste que vous trouverez ici :

Cette liste est simple :
listeSharepoint
et repose sur les informations que vous pouvez trouver sur une fiche de Use Case :
ExempleUseCase

Le formulaire de saisie peut être personnaliser avec InfoPath 2010. (Attention : je ne suis pas un designer pro Sourire )
Avant :
image
Après :
image
Ce cette manière j’ai toujours la charge d’origine dans le portail de mon projet Sourire

mercredi 6 juillet 2011

Comment mettre en couleur le titre d’une tâche

Je gère dans mon Gantt un certain nombre et type de tâche, notamment il m’arrive de faire un planning pour la gestion des anomalies et de certaine tâche de réalisation.

Dans mon cas, ce que je cherche à faire est de coloriser le fond de la cellule du titre si il contient le mot “Anomalie”

Tout d’abord ouvrir Visual Basic Editor :

image

Ensuite dans le fichier “ThisProject” ajouter le code suivant :

'Déclaration de la classe contenant les évènements de MS Prject
Dim e As New MyEvent

Private Sub Project_Open(ByVal pj As Project)
'Passage de l'application à la classe d'évènement
Set e.App = Application
'Passage du projet en cours à la classe d'évènement
Set e.Proj = Application.ActiveProject
End Sub

Créer un Module de Class nommé “MyEvent”

image

Et insérer le code suivant :

'Récupération des évènements sur l'application
Public WithEvents App As Application

'Récupération des évènements sur le projet
Public WithEvents Proj As Project

'---------------------------------------------------------------
'---------------------------------------------------------------
'
' Methode permettant d'effectuer des actions
' avant la modification d'une tâche, dans cet exemple
' je colori la ligne si dans le titre le mot 'Anomalie' est trouvé
'
'---------------------------------------------------------------
'---------------------------------------------------------------
Private Sub App_ProjectBeforeTaskChange(ByVal t As Task, ByVal Field As PjField, ByVal NewVal As Variant, Cancel As Boolean)
If (Field = pjTaskName) Then
If NewVal Like "*Anomalie*" Then
ActiveCell.CellColor = pjRed
Else
ActiveCell.CellColor = pjWhite
End If
End If
End Sub

Maintenant enregistrer le fichier, fermer MS Project et réouvrir MS Project et le projet en question. Ajouter une tâche contenant le mot “Anomalie” et regarder le résultat:


image