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
[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";
}
}
}<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 ClassPour 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





