Ten en cuenta que en las ciencias informáticas cualquier problema casi siempre tiene diversas resoluciones, de igual modo te compartimos lo más óptimo y eficiente.
Solución:
Que yo sepa, no hay forma de eliminar un tipo de una sesión de PowerShell una vez que se ha agregado.
La solución alternativa (molesta) que sugeriría es escribir su código en una sesión ISE y ejecutarlo en una sesión completamente diferente (ventana de consola separada o ISE separado si desea poder depurar).
Esto solo importa si estás cambiando $Source
aunque (desarrollando activamente la definición de tipo). Si esa no es la parte que está cambiando, ignore los errores, o si es un error de terminación, use -ErrorAction
para cambiarlo
Para aquellos que quieran evitar el error o evitar cargar el tipo si ya se cargó, use la siguiente verificación:
if ("TrustAllCertsPolicy" -as [type]) else
Add-Type "using System.Net;using System.Security.Cryptography.X509Certificates;public class TrustAllCertsPolicy : ICertificatePolicy public bool CheckValidationResult(ServicePoint srvPoint, X509Certificate certificate, WebRequest request, int certificateProblem) return true;"
[System.Net.ServicePointManager]::CertificatePolicy = New-Object TrustAllCertsPolicy
Publiqué esto porque obtiene el error OP publicado si realiza cambios incluso superficiales (por ejemplo, formateo) en el código C #.
Puedes ejecutarlo como un trabajo:
$cmd = Out-Null
Write-Output $( [MyCode.Helper]::FormatText("It Works!") )
$j = Start-Job -ScriptBlock $cmd
do
Receive-Job -Job $j
while ( $j.State -eq "Running" )
Comentarios y valoraciones del tutorial
Recuerda algo, que tienes la capacidad de comentar tu experiencia si te ayudó.