Bonjour, une nouvelle version 1.2.1 est disponible. Celle-ci sera la dernière pour PowerShell version 1.0.

Je compte réécrire tout ou partie de ces scripts, projet Add-lib V2, en utilisant les nouvelles fonctionnalités (module, fonction avancées) de PowerShell version 2.0

Page d'accueil du projet Add-Lib.


Révisions
1.2.1 (rev 180), le 01/08/2010

Corrections :
Avec la version 1 de Powershell il reste possible de coupler l'usage du pipeline avec le paramètre lié (bloc Process),
on doit donc interdire cet usage.
De nombreuses fonctions, de différents packages, ont été modifiées pour gérer ce cas.
Ajout du support des "delay-bind ScriptBlock".

New-Sequence.ps1 :
On utilise désormais un fichier de formatage ps1xml, car l'ajout d'un formatage dynamique n'est plus possible
sous Ps V2 (bug /régression).

PackageRunSpace.ps1 :
Fonction New-DataFileConfigurationEntry, le nom de l'entrée et le nom du fichier n'étaient pas passés
explicitement en paramètre. On utilisait les valeurs de la portée parente.
On utilise désormais un fichier de formatage ps1xml, car l'ajout d'un formatage dynamique n'est plus possible
sous Ps V2 (bug /régression).

PackageDebugTools.ps1 :
Function Write-Properties :
La construction de l'appel à Get-Member posait problème avec une propriété de type ScriptBlock.
L'appel de la méthode ToString() sur une instance de la classe process, dont le process lié est terminé, provoquait une erreur.

Demo\Log4Posh\Demo1.ps1 :
Problème de formatage. Le pipeline peut contenir différents types d'objet formatés incompatibles avec les cmdlets Format-*.
Voir les explications via l'URL ajouté.

PackageAdvancedDotNET :
Correction de la fonction New-ScriptVariable, le nom d'assembly erroné provoquait une exception.

Add-LibConfig.ps1
Mise à jour de la description de l'alias cnvfrm

Ajouts :
Des fichiers de formatage
..\FormatData\PowerShellJobObject.format.ps1xml
..\FormatData\SequenceObject.format.ps1xml

Du fichier de type ..\TypeData\System.String.types.ps1xml
Avec ce fichier chaque instance du type String dispose des méthodes suivantes :
ExpandString : facilite l'appel de l'expansion de variable.
NewScriptBlock : facilite l'appel de création d'un ScriptBlock.

Les deux peuvent être couplées :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
$Code ='`$result=dir `"$env:HOMEDRIVE$env:HOMEPATH\File001.dat`"'
$sb=$Code.ExpandString().NewScriptBlock()
PackageResource.ps1 :
fonction Export-Resource :
Ajout du switch Passthru, en fin de traitement on émet dans le pipeline le nom du fichier créé.
Ajout de la fonction New-MimeAndPerceivedTypeVariable :
Force la création de la variable globale $MimeAndPerceivedType par l'appel à Get-MimeAndPerceivedType -Overwrite

PackageWindowsFunctions.ps1 :
Ajout de la constante WM_SETTEXT.
Ajout du fichier WinUser.h contenant les définitions des constantes des messages Windows.

PackageScripts.ps1
fonction Test-ProviderPath : Renvoi true si le chemin $Path référence le provider $ProviderName.
Renommage de la fonction Test-ProviderPath en Test-PSProviderPath.
Fichier de tests pour la fonction Test-PSProviderPath.

Modifications :
PackageScripts.ps1:
Renommage de la fonction Test-ProviderPath en Test-PSProviderPath.

PackageResource.ps1 :
filter Get-FileType :
Appel désormais la fonction New-MimeAndPerceivedTypeVariable au lieu de créer directement la variable globale $MimeAndPerceivedType
Fonction Get-MimeAndPerceivedType :
Dorénavant si la variable globale $MimeAndPerceivedType existe on renvoi son contenu dans le pipeline, sans reparcourir la base de registre.
A moins que le switch $Overwrite soir précisé, ce qui force la recréation du contenu de la variable globale $MimeAndPerceivedType.

PackageDebugTools.ps1 :
Write-Properties :
Renommage du nom de paramètre $From en $InputObject.