パスワードを保存する方法としてGet Secure credentialアクティビティを利用する方法を紹介します。
Get Secure CredentialアクティビティはWinodws資格情報にユーザー情報を格納し、その値をロボットから取得します。このユーザー情報は設定したログインユーザーからしか参照できないため、別のユーザーでログインしてもユーザー情報を取得することができません。
手順
まずは、事前準備としてWindows資格情報にユーザー名・パスワードを設定します。
1スタートボタンを押し、検索BOXに「コントロール」と入力し、表示されたコントロールパネルをクリックし、コントロールパネルを起動します。
2「資格情報マネージャー」をクリックします。
3「Windows資格情報」をクリックし、「汎用資格情報の追加」をクリックします。
4資格情報を入力します。
入力項目は以下を参照してください。
項目 | 解説 |
---|---|
インターネットまたはネットワークのアドレス: | Get Secure Credentialアクティビティで指定する文字列を指定します。ここでは「CredentialTest」と入力します。 |
ユーザー名: | 取得したいユーザー名を入力します。 |
パスワード: | 取得したいパスワードを入力します。 |
5ユーザー名を受け取る変数を用意します。
ここではユーザー名を受け取る変数を「strUserName(String型)」としています。
6次にGet Secure credentialアクティビティからはパスワードを暗号化されたSecureな文字列として受け取るため、パスワードを受け取るSecureString型の変数を用意します。
ここでは「sstrPassword」という変数名を指定しています。
「Browse for Types …」をクリックします。
「Type Name:」に「securestring」と入力し、「SecureString」を選択し、「OK」をクリックします。
7Get Secure Credentialアクティビティを配置します。
8Get Secure Credentialアクティビティのプロパティを設定します。
プロパティ | 解説 |
---|---|
Input/Target | 「4.」で設定した「インターネットまたはネットワークのアドレス:」で設定した文字列を指定します。ここでは「CredentialTest」と入力します。 |
Result | Resultは「4.」で設定した「インターネットまたはネットワークのアドレス:」が存在するかBoolean型で受け取ることができます。チェックが必要な場合には指定してください。 |
Output/password | パスワードを受け取る変数を指定します。ここでは「sstrPassword」を指定しています。 |
Output/Username | ユーザー名を受け取る変数を指定します。ここでは「strUserName」を指定しています。 |
9あとは受け取ったユーザー名をType intoアクティビティなどを利用して入力します。またパスワードはSecureString型のためそのままでは参照できません。参照するには以下のようにString型に変換するかType Scure Textアクティビティを使用します。
書式
new System.Net.NetworkCredential(string.Empty, sstrPassword).Password
SecureString型をType intoで使用する例)
Type Secure Textを使用する例)