Codes-sources PowerShell

Ajouter un nouvel élément

Les performances du mois

STOP/START SERVICE
2
Replace-String
1
Write-Properties.ps1
3

ang STOP/START SERVICE

Licence : Gratuit pour usage non commercial
Script pour redémarre des services sur des serveurs a distance avec un interface graphique

ang Write-Properties.ps1

Licence : Autre
Emet le contenu de toutes les propriétés d'un objet sur la console et/ou sur un debugger actif, tel que DebugView for Windows de SysInternals.

Compatible PowerShell version 1 et 2.

ang Replace-String

Licence : Autre
La fonction Replace-String remplace dans une chaîne de caractères toutes les occurrences d'une chaîne de caractères par une autre chaîne de caractères.
Le contenu de la chaîne recherchée peut-être soit une chaîne de caractère simple soit une expression régulière.

Le paramétrage du modèle de caractère et de la chaîne de caractères de remplacement se fait via une hashtable. Celle-ci permet un remplacement multiple sur une même chaîne de caractères. Ces multiples remplacements se font les uns à la suite des autres et pas en une seule fois.

Chaque opération de remplacement reçoit la chaîne résultante du remplacement précédent.

Pour de plus amples renseignements consulter l'aide en ligne intégrée.

ang ExtensionMethod.psm1

Licence : Autre
Voici un module PowerShell permettant de créer un fichier .ps1xml dédié aux méthodes d'extension contenues dans un fichier assembly dotnet.

Sous Powershell V1 et V2 on ne peut pas utiliser celles dont le type de this est :

* un type générique, car le système d'extension de type de PowerShell nécessite de préciser des noms de type fort pour chaque paramètrage de la classe générique,
* un type interface, car PowerShell ne sait pas nativement 'extraire' une interface particulière à partir d'un objet. De plus le pipeline de PowerShell 'transforme' les objets de type IEnumerable en System.Array.

Exemple basé sur le projet Dvp.NET :

Code :

$PathAsm="C:\Temp\dvp.net-0.2-beta\Binaries"
$TypesFileName="C:\Temp\DateTimeExtensionMethod.Types.ps1xml"
Import-Module ExtensionMethod
#ou
#Import-Module "Votrepath\ExtensionMethod.psm1" -force

Add-Type -Path "$PathAsm\Developpez.Dotnet.dll" -Pass|
#filtre sur le namespace
# Where {$_.Namespace -eq "Developpez.Dotnet.Reflection"} |
Find-ExtensionMethod -ExcludeGeneric|
Get-ExtensionMethodInfo -ExcludeGeneric -ExcludeInterface|
New-HashTable -key "Key" -Value "Value" -MakeArray|
#Crée un texte représentant une structure XML que
# l'on insére dans un fichier de type PowerShell.
New-ExtensionMethodTypeData > $TypesFileName

#Dans la session courante, chargement et signature si
# nécessaire, du fichier d'extension de type généré :
Type $TypesFileName|More
#Si la stratégie d'exécution est 'AllSigned'
if (Get-ExcecutionPolicy -eq "AllSigned" )
{
#Signe $TypesFileName
}
#Met à jour la configuration de type étendu (ETS)
Update-TypeData $TypesFileName

#usage
$dt=Get-Date
$dt.AddDays(1).Next("Sunday")
# renvoi :
# dimanche 8 août 2010 16:07:54

4 éléments

 
 
 
 
Partenaires

PlanetHoster
Ikoula