2017-12-21 14 views
0

私はRunspace Factoryを使用してC#で別のユーザーとしてpowershellコマンドを実行しようとしています。すべての例で、パスワードとして「SecureString」が必要なWSManConnectionInfoPSCredentialを使用するよう提案されています。 SecureStringについて聞いたことがあるのは今回が初めてです。使用例はありますPSCredentialどこToSecureStringですか?

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

::これは何もしかし安全である可能性が最も高い拡張メソッドは、多かれ少なかれ、このように定義されています

+0

https://msdn.microsoft.com/en-us/library/microsoft.oneget.utility.extensions.stringextensions.tosecurestring(v=vs.85).aspx –

+0

私はそれを見ましたが、その方法はそこにはありません私のVisual Studio 2017 –

+0

まあ、そこにあるアセンブリへの参照はありますか? Microsoft.OneGet.Utility? –

答えて

5

+0

このクラスを文字列のメソッドとして表示するには、どこにこのクラスを配置しますか? –

+0

@NathanMcKaskleあなたのプロジェクトのどこでも、あなたが同じ名前空間を使用していることを確認するか、それを 'using'リストに追加してください。 –

+1

@NathanMcKaskleあなたは本当にこの**についてのCamiloのコメントに細心の注意を払っているはずです。これは悪い考えです。安全な文字列が何であるか、そしてそれが存在するかについて学ぶ。 – briantist

関連する問題