実行するユーザー名とパスワードが必要なカスタムコマンドレットがいくつかあります。現時点では、これらのコマンドレットを実行するたびに、資格情報を入力する必要があります。使用パターンは、私が典型的に短い時間枠内でこれらのコマンドの様々な組み合わせを実行するようなものであり、おそらくカップル日ごとに1回です。これは、この短期間に数回パスワードを入力する必要があることを意味します。Powershellコマンドレット呼び出しでのパスワードのメモリ内キャッシュ
Powershellにメモリ内の資格情報を一定期間キャッシュする方法はありますか?私はこれがセキュリティ上のトレードオフだと認識していますが、特にパスワードがSecureString
として保存されているため、私が作ろうとしているものです。私がコマンドレット呼び出しを介してデータを保存することができる永続的な "セッション"オブジェクトがある場合、それも機能しますが、そのような機能を特定できませんでした。
UPDATE
私は、.NETのコアをターゲットだし、PSCredential
タイプを使用することができなかった言及を忘れてしまいました。私は私の基本コマンドレットクラスでこれを持っている:
[Parameter(
Mandatory = true,
HelpMessage = "Credentials for access.",
ValueFromPipelineByPropertyName = true)]
public PSCredential Credentials
{
get;
set;
}
しかしPassword
プロパティは、コンパイラエラーを与える逆参照しよう:私のプロジェクトの
Reference to type 'SecureString' claims it is defined in 'mscorlib', but it could not be found Contented.PowerShell..NETStandard,Version=v1.6
関連する依存関係は、以下のとおりです。
"dependencies": {
"Microsoft.PowerShell.5.ReferenceAssemblies": "1.0.0-*",
"System.Security.SecureString": "4.3.0"
},
残念ながら、私は.NETコアをターゲットにしているため、残念ながら 'PSCredential'が機能しませんでした。問題の言及を忘れた、申し訳ありません。 –
よく、あなたのコードや何かを共有する、その問題が今何か完全に不明確 – 4c74356b41
更新された質問を参照してください。 –