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