Codes-sources PowerShell

Ajouter un nouvel élément

Les performances du mois

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

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

Licence : Gratuit pour usage non commercial
PowerShell ne proposant pas de mécanisme similaire à ceux de la compilation conditionnelle, qui permet à l'aide de directives d'ignorer certaines parties du texte source, la fonction[i] Remove-Conditionnal[/i] implémente cette opération de préprocessing d'un code source à l'aide de balises déclarées dans des commentaires.

Un exemple d'utilisation :
[codeinline]Filter Test {
#
#http://psclientmanager.codeplex.com/ #
Import-Module PSClientManager #Seven
Add-ClientFeature -Name TelnetServer
#

#
Import-Module ServerManager #2008R2
Add-WindowsFeature Telnet-Server
#
}

Dir "$PathSource\Add-FeatureTelnetServer.PS1"|
Get-Content -ReadCount 0|
Remove-Conditionnal -ConditionnalsKeyWord @('SEVEN') -REMOVE[/codeinline]

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

ang Test-ParameterSet

Licence : Gratuit pour usage non commercial
Détermine si les jeux de paramètres d'une fonction avancée sont valides.
Un jeux de paramètres valide doit contenir au moins un paramètre unique et les numéros de positions de ses paramètres doivent se suivre et ne pas être dupliqué.
Les noms de paramètres débutant par un chiffre invalideront le test.

Cette fonction peut être intégrée à l'outil Powershell ScriptCop.

ang Module Psionic

Licence : Autre
PsIonic un module Powershell de gestion d'archives ZIP à l'aide la dll 'IOnic.Zip.dll' issue du projet DotNetZip (http://dotnetzip.codeplex.com)
Ce module facilite l'automatisation de la création d'archive et l'extraction des fichiers d'une archive.

Il permet également de manipuler les entrées du catalogue d'une archive, en proposant des opérations telles que l'ajout, la mise à jour ou la suppression d'entrées.

La construction d'archive auto extractible est possible, celle-ci peut exécuter du code une fois tous les fichiers décompressés. On peut donc construire des exécutables en mode Console ou GUI.

Les entrées d'un archive peuvent provenir d'objet fichier, d'objet répertoire, de tableau d'octets ou encore de chaîne de caractères. Un archive peut servir de conteneur d'objets Powershell sérialisés.

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

ang FICHE DE STOCT

Éditeur : SEBASTIEN MPALUKU +
Gestion d'une Enterprise

9 éléments

 
 
 
 
Partenaires

PlanetHoster
Ikoula