PSCredential ToSecureString在哪里?

Nat*_*kle 0 c# powershell asp.net-core-mvc

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

var con = new WSManConnectionInfo();
con.Credential = new PSCredential(strDomain + "\\" + strUser, strPW.ToSecureString());
Run Code Online (Sandbox Code Playgroud)

没有名为"ToSecureString"的字符串扩展方法,所以我在这里不知道如何添加它.如何向字符串添加ToSecureString方法?

SO *_*ood 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;
    }
}
Run Code Online (Sandbox Code Playgroud)

作为额外评论:这不过是安全的.