Comment appelle-t-on les extensions à Powershell ?

| Microsoft MSDN France | Jérôme Lambert |

Retrouvez l'intégralité des questions / réponses sur le développement sous Windows 7 dans l'article suivant.

Commentez cet article : Commentez ♪

- Titre : Comment appelle-t-on les extensions à Powershell ?

- Auteurs : Microsoft MSDN France, Jérôme Lambert

- Parution : 14 mars 2010

- Licence : Copyright ® 2011 Microsoft MSDN France. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

Sommaire

- I. Comment appelle-t-on les extensions à Powershell ?

I - Comment appelle-t-on les extensions à Powershell ?

Remplaçant à terme de notre bon vieil interpréteur de commande DOS, il permet de tout faire.

En effet, fourni avec un monceau de commandes pour les Administrateurs ainsi qu'un langage de script, il est lui-même extensible, car basé sur le Framework .NET. Vous pouvez donc à tout moment développer vos propres extensions appelées des CmdLet, en C#, en VB.Net ou tout autre langage .NET bien sûr. Pour en savoir plus : Introduction au développement PowerShell partie I

Listing C#

[Cmdlet(VerbsCommon.Get, "TestCS")]
public class TestCommande : Cmdlet
{
protected override void ProcessRecord()
{
WriteObject("Commande cmdlet développée en CSharp : " + _message);
}

private String _message;
[Parameter(Position = 0)]
public String Message
{
get { return _message; }
set { _message = value; }
}
}

[RunInstaller(true)]
public class TestCommandeCSPSSnapIn : PSSnapIn
{
public TestCommandeCSPSSnapIn()
: base()
{
}

public override String Name
{
get
{
return "TestCommandeCSPSSnapIn";
}
}

public override String Vendor
{
get
{
return "Vendor";
}
}

public override String VendorResource
{
get
{
return "TestCommandeCSPSSnapIn";
}
}

public override String Description
{
get
{
return "Ceci est une commande Powershell développée en CSharp";
}
}

public override string DescriptionResource
{
get
{
return "DescriptionRessource";
}
}
}

Listing VB.NET

<Cmdlet("Get", "TestCS")> _
Public Class TestCommande
Inherits Cmdlet
' Methods
Protected Overrides Sub ProcessRecord()
MyBase.WriteObject(("Commande cmdlet développé en VB : " & Me._message))
End Sub

Private _message As String
<Parameter(Position:=0)> _
Public Property Message As String
Get
Return Me._message
End Get
Set(ByVal value As String)
Me._message = value
End Set
End Property
End Class
<RunInstaller(True)> _
Public Class TestCommandeVBPSSnapIn
Inherits PSSnapIn
Public Overrides ReadOnly Property Description As String
Get
Return "Ceci est une commande Powershell développée en VB"
End Get
End Property

Public Overrides ReadOnly Property DescriptionResource As String
Get
Return "DescriptionRessource"
End Get
End Property

Public Overrides ReadOnly Property Name As String
Get
Return "TestCommandeVBPSSnapIn"
End Get
End Property

Public Overrides ReadOnly Property Vendor As String
Get
Return "Vendor"
End Get
End Property

Public Overrides ReadOnly Property VendorResource As String
Get
Return "TestCommandeVBPSSnapIn"
End Get
End Property

End Class

Pour plus d'infos :

- Pour aller plus loin avec le développement, http://msdn.microsoft.com/fr-fr/visualc/bb906067.aspx

- Pour suivre l'actualité de Powershell : http://www.powershell-scripting.com/

- MSDN : http://msdn.microsoft.com/fr-fr/windows/default.aspx

- Le coach Windows 7 : http://msdn.microsoft.com/fr-fr/windows/msdn.coach.windows7

- Kit de développement pour Windows 7 : http://msdn.microsoft.com/fr-fr/windows/gg398052.aspx