使用CredSSP时PowerShell内存泄漏

时间:2015-01-22 08:09:57

标签: c# powershell memory-leaks credssp

我想编写一个代码来使用" Powershell "并按" CredSSP "创建新会话身份验证,

但是当我监视这个控制台的内存使用情况时,我发现了一些没有处理的内容......因此内存使用量增长缓慢。

在我使用 ANTS 检查内存泄漏后,我发现关键点是" credssp ", 但是我无法找到处理它或清理这个物体的方法。

有没有人有好主意?非常感谢。

PS。我的环境是:.Net 3.5,PowerShell 2.0,VS 2010,Windows 7 sp1

class Program
{
    static void Main(string[] args)
    {
        for (int i = 0; i < 10000; i++)
        {
            using (PowerShell powershell = PowerShell.Create())
            {
                powershell.AddScript("$account = \"xxx\"");
                powershell.AddScript("$pwd = \"xxx\"");
                powershell.AddScript("$credential = New-Object System.Management.Automation.PsCredential($account, (ConvertTo-SecureString $pwd -AsPlainText -Force))");
                powershell.AddScript("$sessions = New-PSSession -ComputerName localhost -Credential $credential -Authentication Credssp");
                powershell.AddScript("Remove-PSSession -session $sessions");
                ICollection<PSObject> results = powershell.Invoke();
                Console.WriteLine(System.Diagnostics.Process.GetCurrentProcess().WorkingSet64);
            }
        }
        Console.Read();
    }
}

0 个答案:

没有答案