PowerShell Memo

このサイトはPowerShell(MSH/Monad)奮闘記です

管理人「newpops吉岡洋」が
「PowerShell(旧名:MSH/Monad)」の研究結果を日々綴っていきます。

【お知らせ】
この日記からPowerShellのTipsを抽出し「PowerShell FAQ」として整理しました。


2005-09-22

[]ユーザに文字列を入力させる(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を返します。