PSCredential ToSecureString在哪里?

时间:2017-12-21 14:35:20

标签: c# powershell asp.net-core-mvc

我尝试使用Runspace Factory在C#中作为另一个用户运行powershell命令。在每个示例中,我都发现使用WSManConnectionInfoPSCredential的建议需要" SecureString"为了密码。这是我第一次听说过SecureString。用法示例包括:

var con = new WSManConnectionInfo();
con.Credential = new PSCredential(strDomain + "\\" + strUser, strPW.ToSecureString());

没有名为" ToSecureString"的字符串扩展方法。所以我不知道如何添加它。如何将ToSecureString方法添加到字符串?

1 个答案:

答案 0 :(得分:5)

这很可能是一个或多或少定义的扩展方法:

public static class SecureExtensions
{
    public static SecureString ToSecureString(this string password)
    {
        var secure = new SecureString();

        foreach (char c in password.ToCharArray())
        {
            secure.AppendChar(c);
        }

        return secure;
    }
}

作为额外评论:这是安全。