PSCredential ToSecureString在哪里?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PSCredential ToSecureString在哪里?相关的知识,希望对你有一定的参考价值。

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

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

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

答案

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

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;
    }
}

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

以上是关于PSCredential ToSecureString在哪里?的主要内容,如果未能解决你的问题,请参考以下文章

是否可以以某种方式将 WindowsIdentity 类型转换或转换为 PSCredential 类型?

powershell 使用安全/加密字符串使用用户名/密码创建PowerShell PSCredential对象。

作为另一个用户的Runspace Powershell命令的WSManConnectionInfo和PSCredential

remove computer from join with powershell

PowerShell start-process命令

powershell脚本实现以指定的账户运行程序