ユーザに文字列を入力させる(1)
インタラクティブなプログラムでは、ユーザに文字列を入力させる事はよくあります。
もちろんMSHでも「ユーザがコンソールに入力した文字列を受け取る処理」は可能です。
ユーザ名とパスワードを入力させる
「read-host」を利用することで、コンソールから文字列を受け取ることができます。
パスワードなどのセキュアな文字列は、「*」で隠せるのも便利ですね。
ユーザ名
MSH C:\> $user = read-host EnterUserName EnterUserName: newpops MSH C:\> $user newpops
パスワード
MSH C:\> $password = read-host EnterPassword -SecureString EnterPassword: ******* MSH C:\> $password System.Security.SecureString
パスワードを格納した変数を表示しようとしても、「System.Security.SecureString」と表示されます。
でも、どうやってパスワードを正しい文字列と比較すれば良いのでしょうか?
「-eq」では正しく比較できませんでした。
$password -eq "文字列"
- 「$password」と「文字列」が等しくてもFalseを返します。