salut,
les "entités" qui prennent de la place dans la mémoires comme les fonctions-filtres-variables-alias-modules-psessions-..etc peuvent parfois encombré notre session..pour remedier à ce problème voici une petite fonction 'Clear-PSSession' qui permet de nettoyer complètement notre environement et en plus s'auto-charge automatiquement:
if($Host.Name -ne 'ConsoleHost') {
write-error "ce module ne fonctionne que sous le terminal powershell"
return
}
$Script:CurrentProcess = $pid
$Script:MyCmd = $MyInvocation.MyCommand.Definition
function Clear-PSSession {
powershell -noexit -c "stop-process $($Script:currentProcess);import-module '$($Script:MyCmd)'"
}
Export-ModuleMember -Function *
exemple d'utilisation:
PS> $a = 1
PS> function foo {1}
PS> foo
1
PS> Import-Module .\psession.psm1
PS> gcm -Module psession
CommandType Name Definition
----------- ---- ----------
Function Clear-PSSession ...
PS> Clear-PSSession
PS> foo
Le terme « foo » n'est pas reconnu comme nom d'applet de commande, fonction, fichier de script ou prog
Vérifiez l'orthographe du nom, ou si un chemin d'accès existe, vérifiez que le chemin d'accès est cor
.
Au niveau de ligne : 1 Caractère : 4
+ foo <<<<
+ CategoryInfo : ObjectNotFound: (foo:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
PS> $a
PS>