Séance PowerShell claire
Est-il un commandlet qui efface la session powershell variables que j'ai ajouté?
Je suis à l'aide du complément de Type commandlet, et j'obtiens l'erreur "Impossible d'ajouter le type. Le nom du type existe déjà."
source d'informationauteur BrokeMyLegBiking | 2010-12-09
Vous devez vous connecter pour publier un commentaire.
Malheureusement, vous ne pouvez pas décharger .NET assemblées qui ont été chargés par défaut dans le domaine d'application qui est ce que l'Add-Type. Vous pouvez renommer les types ou les espaces de noms à vivoter, mais à un certain moment, vous venez de quitter et redémarrer PowerShell.
Ce n'est pas une PowerShell limitation autant que est un .NET/CLR limitation. Vous pouvez charger .NET assemblées en différents domaines d'application qui peut être déchargé à plus tard, mais vous avez le code que vous-même et il impose des restrictions sur les types que vous prévoyez d'utiliser dans le domaine d'application. Qui est, ceux qui ont besoin de travailler à travers .NET Remoting, de sorte qu'ils ont à tirer de MarshByRefObject ou ils doivent être sérialisables (et cela s'applique à tous les objets référencés par leurs propriétés, et ainsi de suite, jusqu'à l'objet graphique).
Un possible "contourner": Ouvrir une fenêtre powershell et puis pour exécuter votre script entrer
powershell .\yourScriptHere.ps1
Cette lance une nouvelle powershell instance qui se ferme lors de votre script se termine. Si vous voulez "jouer" dans la nouvelle instance puis changer l'invocation à
powershell -NoExit .\yourScriptHere.ps1
et la nouvelle instance ne sera pas de sortie lorsque le script se termine. Entrezexit
lorsque vous avez besoin d'un autre redémarrez et appuyez sur la "flèche haut" pour obtenir la commande précédente. Tous les script de sortie s'affiche dans la même fenêtre. Les frais généraux pour le démarrage d'une nouvelle powershell instance est faible s'affiche à moins de 1 seconde sur mon ordinateur portable.